Skip to main content

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​

Task

DisableAsync(String)​

Disables the communication controller for a tenant

Task DisableAsync(string tenantId)

Parameters​

tenantId String
The id of the tenant.

Returns​

Task

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​

Task

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​

Task<AdapterConfigurationDto>

GetAdapterNodesAsync()​

Returns aggregated node descriptors from all connected adapters as JSON.

Task<string> GetAdapterNodesAsync()

Returns​

Task<String>

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​

Task<String>

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​

Task<DeploymentResultDto>

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​

Task

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​

Task<String>

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​

Task<PipelineDebugStateDto>

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​

Task<String>

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​

Task<DebugPointDataDto>

DeployTriggersAsync()​

Deploys triggers for the tenant.

Task DeployTriggersAsync()

Returns​

Task

UndeployTriggersAsync()​

Undeploys triggers for the tenant.

Task UndeployTriggersAsync()

Returns​

Task

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​

Task

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​

Task

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​

Task

UndeployDataFlowAsync(String)​

Undeploys a data flow.

Task UndeployDataFlowAsync(string dataFlowRtId)

Parameters​

dataFlowRtId String
The data flow runtime object ID.

Returns​

Task

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​

Task<DataFlowStatusDto>

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​

Task

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​

Task

UndeployWorkloadAsync(String)​

Triggers an undeploy of one workload. Mirror of ICommunicationServicesClient.DeployWorkloadAsync(String).

Task UndeployWorkloadAsync(string workloadRtId)

Parameters​

workloadRtId String

Returns​

Task

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

Returns​

Task<CommunicationLifecycleDto>