ICommunicationServicesClient
Namespace: Meshmakers.Octo.Sdk.ServiceClient.CommunicationControllerServices
Client proxy for communication controller services. All entity ID parameters accept plain runtime object IDs (e.g. "69cfa838092b710403248acd"). The client internally constructs composite RtEntityId strings where the server requires them.
public interface ICommunicationServicesClient : IServiceClient
Implements IServiceClient
Methods
EnableAsync(String)
Enables the communication controller for a tenant
Task EnableAsync(string tenantId)
Parameters
tenantId String
The id of the tenant.
Returns
DisableAsync(String)
Disables the communication controller for a tenant
Task DisableAsync(string tenantId)
Parameters
tenantId String
The id of the tenant.
Returns
ReconfigureLogLevelAsync(String, LogLevelDto, LogLevelDto)
Reconfigure the log level of the service.
Task ReconfigureLogLevelAsync(string loggerName, LogLevelDto minLogLevel, LogLevelDto maxLogLevel)
Parameters
loggerName String
Logger pattern name, e. g. Microsoft.*
minLogLevel LogLevelDto
Minimal log level to be logged.
maxLogLevel LogLevelDto
Maximum log level to be logged.
Returns
GetAdaptersAsync()
Returns a list of all adapters for the tenant.
Task<IReadOnlyList<AdapterSummaryDto>> GetAdaptersAsync()
Returns
Task<IReadOnlyList<AdapterSummaryDto>>
GetAdapterConfigurationAsync(String)
Returns the configuration for a specific adapter.
Task<AdapterConfigurationDto> GetAdapterConfigurationAsync(string adapterRtId)
Parameters
adapterRtId String
The adapter runtime object ID.
Returns
GetAdapterNodesAsync()
Returns aggregated node descriptors from all connected adapters as JSON.
Task<string> GetAdapterNodesAsync()
Returns
GetPipelineSchemaAsync(String)
Returns the composite pipeline JSON Schema for a specific adapter.
Task<string> GetPipelineSchemaAsync(string adapterRtId)
Parameters
adapterRtId String
The adapter runtime object ID.
Returns
RotateServiceAccountSecretAsync(String)
Rotates the client secret of the adapter's pipeline service account (AB#5032). Backs
POST {tenantId}/v1/adapter/{adapterRtId}/serviceAccount/rotateSecret.
Rotation lives on the controller because it owns both halves of the credential — the
identity client and the tenant's ServiceAccountConfiguration entity. A caller
must not try to reproduce it: since the secret attribute is runtime state, a
blueprint can no longer change a live secret at all, and a hand-built identity call
would leave the two halves apart.
🔴 Destructive in the sense that the previous secret stops working immediately, and the response deliberately carries no secret. When is set, the adapter's pipelines / data flows must be redeployed before the new secret takes effect — surface that to the user rather than swallowing it.
Task<RotateServiceAccountSecretResultDto> RotateServiceAccountSecretAsync(string adapterRtId)
Parameters
adapterRtId String
The adapter runtime object ID (plain 24-character hex ObjectId).
Returns
Task<RotateServiceAccountSecretResultDto>
GetPipelineDeploymentStateAsync(String)
Gets the deployment state of a pipeline.
Task<DeploymentResultDto> GetPipelineDeploymentStateAsync(string pipelineRtId)
Parameters
pipelineRtId String
The pipeline runtime object ID.
Returns
DeployPipelineAsync(String, String, String)
Deploys a pipeline definition to the corresponding adapter.
Task DeployPipelineAsync(string adapterRtId, string pipelineRtId, string pipelineDefinition)
Parameters
adapterRtId String
The adapter runtime object ID.
pipelineRtId String
The pipeline runtime object ID.
pipelineDefinition String
The pipeline definition (YAML/JSON).
Returns
ExecutePipelineAsync(String, String, Boolean)
Executes a pipeline and returns the execution ID.
Task<string> ExecutePipelineAsync(string pipelineRtId, string pipelineInput, bool isDryRun)
Parameters
pipelineRtId String
The pipeline runtime object ID.
pipelineInput String
Optional pipeline input data.
isDryRun Boolean
When true (M4-B.2), the adapter runs the pipeline with every
dry-run-honouring Load node suppressing its real side effect; would-be payloads land on
the debug stream instead. Default false preserves classic semantics.
Returns
SetPipelineDebuggingAsync(String, Boolean)
Enables or disables debug capture for a single pipeline. Persists the state and, when the owning adapter is online, re-pushes its configuration so the change takes effect immediately.
Task<SetPipelineDebugResultDto> SetPipelineDebuggingAsync(string pipelineRtId, bool enabled)
Parameters
pipelineRtId String
The pipeline runtime object ID.
enabled Boolean
true to enable debug capture, false to disable.
Returns
Task<SetPipelineDebugResultDto>
GetPipelineDebuggingAsync(String)
Gets the persisted debug state of a pipeline.
Task<PipelineDebugStateDto> GetPipelineDebuggingAsync(string pipelineRtId)
Parameters
pipelineRtId String
The pipeline runtime object ID.
Returns
GetPipelineExecutionsAsync(String)
Returns pipeline execution history.
Task<IEnumerable<PipelineExecutionDataDto>> GetPipelineExecutionsAsync(string pipelineRtId)
Parameters
pipelineRtId String
The pipeline runtime object ID.
Returns
Task<IEnumerable<PipelineExecutionDataDto>>
GetLatestPipelineExecutionAsync(String)
Returns the latest pipeline execution.
Task<PipelineExecutionDataDto> GetLatestPipelineExecutionAsync(string pipelineRtId)
Parameters
pipelineRtId String
The pipeline runtime object ID.
Returns
Task<PipelineExecutionDataDto>
GetPipelineExecutionDebugPointsAsync(String, Guid)
Returns debug point nodes for a specific execution as JSON.
Task<string> GetPipelineExecutionDebugPointsAsync(string pipelineRtId, Guid executionId)
Parameters
pipelineRtId String
The pipeline runtime object ID.
executionId Guid
The execution id.
Returns
GetDebugPointAsync(String, Guid, String)
Returns a specific debug point.
Task<DebugPointDataDto> GetDebugPointAsync(string pipelineRtId, Guid executionId, string nodeId)
Parameters
pipelineRtId String
The pipeline runtime object ID.
executionId Guid
The execution id.
nodeId String
The node id.
Returns
DeployTriggersAsync()
Deploys triggers for the tenant.
Task DeployTriggersAsync()
Returns
UndeployTriggersAsync()
Undeploys triggers for the tenant.
Task UndeployTriggersAsync()
Returns
GetDeploymentSitesAsync()
Returns a list of all deployment sites for the tenant.
Task<IReadOnlyList<DeploymentSiteSummaryDto>> GetDeploymentSitesAsync()
Returns
Task<IReadOnlyList<DeploymentSiteSummaryDto>>
DeployDeploymentSiteAsync(String)
Triggers a deploy of a deployment site. The central Communication Operator reacts by creating the DeploymentSite custom resource and registering the deployment site. Workloads are NOT deployed by this call — use ICommunicationServicesClient.DeployWorkloadAsync(String).
Task DeployDeploymentSiteAsync(string deploymentSiteRtId)
Parameters
deploymentSiteRtId String
The deployment site's runtime object ID.
Returns
UndeployDeploymentSiteAsync(String)
Undeploys a deployment site. For Cloud deployment sites the central Communication Operator removes the DeploymentSite custom resource and the broker secret; undeploy the deployment site's workloads first (ICommunicationServicesClient.UndeployWorkloadAsync(String)). Required before Communication can be disabled for the tenant (AB#4255).
Task UndeployDeploymentSiteAsync(string deploymentSiteRtId)
Parameters
deploymentSiteRtId String
The deployment site's runtime object ID.
Returns
GetAdapterPoolQueueAsync(String)
The queue of one adapter pool: everything waiting for a lease, plus everything the pool
currently has leased out. Backs GET {tenantId}/v1/adapterPool/{adapterPoolRtId}/queue.
Task<IReadOnlyList<AdapterPoolQueueEntryDto>> GetAdapterPoolQueueAsync(string adapterPoolRtId)
Parameters
adapterPoolRtId String
The adapter pool's runtime object ID in the lending tenant.
Returns
Task<IReadOnlyList<AdapterPoolQueueEntryDto>>
Remarks:
The route tenant is the lending tenant — the deployment site is its entity. Entries belong to borrowing tenants and name them in .
🔴 Position comes back as position within the tenant plus tenants ahead in the rotation, never as one global rank: the deployment site serves tenants round-robin and a single number would contradict the order work actually runs in. Surfaces must show the pair.
An empty answer means an idle deployment site, not a failure. A manual adapter has no queue at all and no equivalent endpoint — that asymmetry is intended (concept §5).
CancelQueuedExecutionAsync(String, String)
Cancels one entry that is still waiting for a lease. Backs
DELETE {tenantId}/v1/adapterPool/{adapterPoolRtId}/queue/{executionId}.
Task<AdapterPoolQueueCancellationResultDto> CancelQueuedExecutionAsync(string adapterPoolRtId, string executionId)
Parameters
adapterPoolRtId String
The adapter pool's runtime object ID in the lending tenant.
executionId String
The queued execution to cancel.
Returns
Task<AdapterPoolQueueCancellationResultDto>
Remarks:
🔴 This cancels a QUEUE entry, not a running pipeline. An execution that already
holds a lease answers 409, which surfaces as
rather than as an
exception: interrupting a running pipeline is a different operation and the difference has
to stay visible (concept §5, "Cancellation"). 404 likewise surfaces as
; every other failure throws.
DeployDataFlowAsync(String)
Deploys a data flow.
Task DeployDataFlowAsync(string dataFlowRtId)
Parameters
dataFlowRtId String
The data flow runtime object ID.
Returns
UndeployDataFlowAsync(String)
Undeploys a data flow.
Task UndeployDataFlowAsync(string dataFlowRtId)
Parameters
dataFlowRtId String
The data flow runtime object ID.
Returns
GetDataFlowStatusAsync(String)
Gets the aggregated execution status of a data flow.
Task<DataFlowStatusDto> GetDataFlowStatusAsync(string dataFlowRtId)
Parameters
dataFlowRtId String
The data flow runtime object ID.
Returns
GetWorkloadsByChartAsync(String)
Lists workloads in the tenant whose ChartName matches.
Empty when the chart is not used in this tenant — CI scripts treat
that as a silent-skip signal.
Task<IReadOnlyList<WorkloadSummaryDto>> GetWorkloadsByChartAsync(string chartName)
Parameters
chartName String
Returns
Task<IReadOnlyList<WorkloadSummaryDto>>
UpdateWorkloadChartVersionAsync(String, String)
Sets ChartVersion on a single workload. Server validates the
value matches a SemVer regex. Does NOT trigger a deploy — call
ICommunicationServicesClient.DeployWorkloadAsync(String) afterwards if needed.
Task UpdateWorkloadChartVersionAsync(string workloadRtId, string chartVersion)
Parameters
workloadRtId String
chartVersion String
Returns
DeployWorkloadAsync(String)
Triggers a deploy of one workload through its parent deployment site. Wraps
POST {tenantId}/v1/deploymentsite/workloads/deploy?workloadRtId=…
(the long-standing endpoint exposed by PoolController).
Task DeployWorkloadAsync(string workloadRtId)
Parameters
workloadRtId String
Returns
UndeployWorkloadAsync(String)
Triggers an undeploy of one workload. Mirror of ICommunicationServicesClient.DeployWorkloadAsync(String).
Task UndeployWorkloadAsync(string workloadRtId)
Parameters
workloadRtId String
Returns
MovePipelinesToAdapterAsync(MovePipelinesToAdapterRequestDto)
Reassigns one or more pipelines from their current adapter to a
new target adapter (bulk). Each pipeline is moved atomically;
per-pipeline failures are reported in the returned result list
without aborting the rest of the batch. When
Redeploy is set, the server re-fires DeployPipeline
on the target adapter for every successfully moved pipeline.
Backs PATCH {tenantId}/v1/pipeline/move-to-adapter.
Task<MovePipelinesToAdapterResponseDto> MovePipelinesToAdapterAsync(MovePipelinesToAdapterRequestDto request)
Parameters
request MovePipelinesToAdapterRequestDto
Returns
Task<MovePipelinesToAdapterResponseDto>
GetLifecycleAsync()
Reads the tenant's on-demand lifecycle configuration. Backs
GET {tenantId}/v1/communication/lifecycle. A tenant without a stored record
answers with the defaults (scale-to-zero off).
Task<CommunicationLifecycleDto> GetLifecycleAsync()
Returns
Task<CommunicationLifecycleDto>
SetLifecycleAsync(CommunicationLifecycleDto)
Sets the tenant's on-demand lifecycle configuration (runtime configuration — no
controller redeploy). Backs PUT {tenantId}/v1/communication/lifecycle.
Setting ScaleToZeroEnabled=false is the per-tenant emergency stop.
Task<CommunicationLifecycleDto> SetLifecycleAsync(CommunicationLifecycleDto lifecycle)
Parameters
lifecycle CommunicationLifecycleDto