/*##############################################################################
Copyright (C) 2011 HPCC Systems.
All rights reserved. This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
############################################################################## */
////////////////////////////////////////////////////////////
#include "ws_topology.hpp"
EspInclude(ws_topology);
#include "ws_workunits.hpp"
EspInclude(ws_workunits);
ESPStruct ActiveWorkunit
{
string Wuid;
string State;
int StateID; //remove it later
string Owner;
string Jobname;
string Server;
strint Instance;
string Priority;
[min_ver("1.01")] string Extra;
[min_ver("1.02")] string GraphName;
[min_ver("1.02")] string Duration;
[min_ver("1.02")] string GID;
[min_ver("1.03")] string QueueName;
[min_ver("1.04")] int MemoryBlocked;
[min_ver("1.09")] bool IsPausing(false);
[min_ver("1.10")] string Warning;
};
ESPStruct ThorCluster
{
string ClusterName;
[min_ver("1.03")] string QueueName;
string QueueStatus;
int DoCommand;
[min_ver("1.05")] int QueueAvailable;
[min_ver("1.05")] int JobsRunning;
[min_ver("1.05")] int JobsInQueue;
[min_ver("1.07")] int QueueStatus2;
[min_ver("1.09")] string ThorLCR;
};
ESPStruct RoxieCluster
{
string ClusterName;
string QueueName;
string QueueStatus;
int DoCommand;
int JobsRunning;
int JobsInQueue;
int QueueStatus2;
};
ESPStruct HoleCluster
{
string ClusterName;
string DataModel;
};
ESPStruct DFUJob
{
string TimeStarted;
int Done;
int Total;
string Command;
};
ESPrequest [nil_remove] ActivityRequest
{
string ChatURL;
string BannerContent;
string BannerColor;
string BannerSize;
[min_ver("1.08")] string BannerScroll;
int BannerAction(0);
bool EnableChatURL;
bool FromSubmitBtn(false);
};
ESPresponse [exceptions_inline] ActivityResponse
{
string Build;
ESParray ThorClusters;
[min_ver("1.07")] ESParray RoxieClusters;
ESParray HoleClusters;
ESParray DFUJobs;
ESParray Running;
[min_ver("1.06")] int UserPermission(-1);
[min_ver("1.06")] string BannerContent;
[min_ver("1.06")] string BannerColor;
[min_ver("1.06")] string BannerSize;
[min_ver("1.08")] string BannerScroll;
[min_ver("1.06")] string ChatURL;
[min_ver("1.06")] int ShowBanner(0);
[min_ver("1.06")] int ShowChatURL(0);
};
ESPrequest SMCIndexRequest
{
};
ESPresponse [exceptions_inline] SMCIndexResponse
{
};
ESPStruct Capability
{
string name;
string description;
};
ESPStruct Permission
{
string Feature;
ESParray Capabilities;
};
ESPrequest SMCPermissionsRequest
{
};
ESPresponse [] SMCPermissionsResponse
{
ESParray Permissions;
};
ESPrequest SMCQueueRequest
{
int ClusterType;
string Cluster;
};
ESPresponse [exceptions_inline] SMCQueueResponse
{
};
ESPrequest SMCJobRequest
{
int ClusterType;
string Cluster;
string Wuid;
};
ESPresponse [exceptions_inline] SMCJobResponse
{
};
ESPrequest SMCPriorityRequest
{
int ClusterType;
string Cluster;
string Wuid;
string Priority;
};
ESPresponse [exceptions_inline] SMCPriorityResponse
{
};
ESPrequest GetThorQueueAvailabilityRequest
{
};
ESPresponse [exceptions_inline] GetThorQueueAvailabilityResponse
{
ESParray ThorClusters;
};
ESPrequest [nil_remove] SetBannerRequest
{
string ChatURL;
string BannerContent;
string BannerColor;
string BannerSize;
string BannerScroll;
int BannerAction;
bool EnableChatURL;
bool FromSubmitBtn(false);
};
ESPresponse [exceptions_inline] SetBannerResponse
{
};
ESPrequest NotInCommunityEditionRequest
{
string EEPortal;
};
ESPresponse [exceptions_inline] NotInCommunityEditionResponse
{
};
ESPStruct HPCCResource
{
string Name;
string Description;
string FileName;
string Version;
};
ESPStruct HPCCResourceRepository
{
string Name;
string Path;
ESParray HPCCResources;
};
ESPrequest
[
]
BrowseResourcesRequest
{
};
ESPresponse
[
exceptions_inline, nil_remove
]
BrowseResourcesResponse
{
string PortalURL;
string NetAddress;
int OS;
ESParray HPCCResourceRepositories;
};
//ESPservice [noforms, version("1.04"), default_client_version("1.04"), exceptions_inline("./smc_xslt/exceptions.xslt")] WsSMC
ESPservice [noforms, version("1.10"), default_client_version("1.10"), exceptions_inline("./smc_xslt/exceptions.xslt"), use_method_name] WsSMC
{
ESPuses ESPStruct Capability;
ESPuses ESPStruct Permission;
ESPuses ESPStruct ThorCluster;
ESPuses ESPStruct HoleCluster;
ESPuses ESPStruct ActiveWorkunit;
ESPuses ESPStruct DFUJob;
ESPmethod Index(SMCIndexRequest, SMCIndexResponse);
ESPmethod [resp_xsl_default("/esp/xslt/index.xslt")] Activity(ActivityRequest, ActivityResponse);
ESPmethod ClearQueue(SMCQueueRequest, SMCQueueResponse);
ESPmethod PauseQueue(SMCQueueRequest, SMCQueueResponse);
ESPmethod ResumeQueue(SMCQueueRequest, SMCQueueResponse);
ESPmethod StopQueue(SMCQueueRequest, SMCQueueResponse);
ESPmethod RemoveJob(SMCJobRequest, SMCJobResponse);
ESPmethod MoveJobFront(SMCJobRequest, SMCJobResponse);
ESPmethod MoveJobBack(SMCJobRequest, SMCJobResponse);
ESPmethod MoveJobUp(SMCJobRequest, SMCJobResponse);
ESPmethod MoveJobDown(SMCJobRequest, SMCJobResponse);
ESPmethod SetJobPriority(SMCPriorityRequest, SMCPriorityResponse);
ESPmethod GetThorQueueAvailability(GetThorQueueAvailabilityRequest, GetThorQueueAvailabilityResponse);
ESPmethod SetBanner(SetBannerRequest, SetBannerResponse);
ESPmethod NotInCommunityEdition(NotInCommunityEditionRequest, NotInCommunityEditionResponse);
ESPmethod [resp_xsl_default("/esp/xslt/hpccresourcelist.xslt")] BrowseResources(BrowseResourcesRequest, BrowseResourcesResponse);
};
SCMexportdef(WSSMC);
SCMapi(WSSMC) IClientWsSMC *createWsSMCClient();