Managed Clusters - Run Command

Submits a command to run against the Managed Cluster.
AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see AKS Run Command.

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand?api-version=2024-02-01

URI Parameters

Name In Required Type Description
resourceGroupName
path True

string

The name of the resource group. The name is case insensitive.

resourceName
path True

string

The name of the managed cluster resource.

Regex pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$

subscriptionId
path True

string

uuid

The ID of the target subscription. The value must be an UUID.

api-version
query True

string

The API version to use for this operation.

Request Body

Name Required Type Description
command True

string

The command to run.

clusterToken

string

AuthToken issued for AKS AAD Server App.

context

string

A base64 encoded zip file containing the files required by the command.

Responses

Name Type Description
200 OK

RunCommandResult

command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!

202 Accepted

Accepted

Headers

Location: string

Other Status Codes

CloudError

Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.

Security

azure_auth

Azure Active Directory OAuth2 Flow

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

submitNewCommand

Sample Request

POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/runCommand?api-version=2024-02-01

{
  "command": "kubectl apply -f ns.yaml",
  "context": "",
  "clusterToken": ""
}

Sample Response

location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2024-02-01
{
  "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
  "properties": {
    "provisioningState": "succeeded",
    "exitCode": 0,
    "startedAt": "2021-02-17T00:28:20Z",
    "finishedAt": "2021-02-17T00:28:33Z",
    "logs": "namespace dummy created"
  }
}

Definitions

Name Description
CloudError

An error response from the Container service.

CloudErrorBody

An error response from the Container service.

RunCommandRequest

A run command request

RunCommandResult

run command result.

CloudError

An error response from the Container service.

Name Type Description
error

CloudErrorBody

Details about the error.

CloudErrorBody

An error response from the Container service.

Name Type Description
code

string

An identifier for the error. Codes are invariant and are intended to be consumed programmatically.

details

CloudErrorBody[]

A list of additional details about the error.

message

string

A message describing the error, intended to be suitable for display in a user interface.

target

string

The target of the particular error. For example, the name of the property in error.

RunCommandRequest

A run command request

Name Type Description
clusterToken

string

AuthToken issued for AKS AAD Server App.

command

string

The command to run.

context

string

A base64 encoded zip file containing the files required by the command.

RunCommandResult

run command result.

Name Type Description
id

string

The command id.

properties.exitCode

integer

The exit code of the command

properties.finishedAt

string

The time when the command finished.

properties.logs

string

The command output.

properties.provisioningState

string

provisioning State

properties.reason

string

An explanation of why provisioningState is set to failed (if so).

properties.startedAt

string

The time when the command started.