{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "These APIs allow end users to operate on Azure Machine Learning Compute resources. They support the following operations:<ul><li>Create or update a cluster</li><li>Get a cluster</li><li>Patch a cluster</li><li>Delete a cluster</li><li>Get keys for a cluster</li><li>Check if updates are available for system services in a cluster</li><li>Update system services in a cluster</li><li>Get all clusters in a resource group</li><li>Get all clusters in a subscription</li></ul>",
    "title": "Azure Machine Learning Compute Management Client",
    "version": "2017-06-01-preview",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/machinelearningcompute/resource-manager/Microsoft.MachineLearningCompute/preview/2017-06-01-preview/machineLearningCompute.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "machinelearningcompute-machineLearningCompute",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "parameters": {
    "ApiVersionParameter": {
      "description": "The version of the Microsoft.MachineLearningCompute resource provider API to use.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "ClusterNameParameter": {
      "description": "The name of the cluster.",
      "in": "path",
      "maxLength": 90,
      "minLength": 1,
      "name": "clusterName",
      "pattern": "^[a-zA-Z][-\\w\\._\\(\\)]+[a-zA-Z0-9]$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "ResourceGroupNameParameter": {
      "description": "Name of the resource group in which the cluster is located.",
      "in": "path",
      "maxLength": 90,
      "minLength": 1,
      "name": "resourceGroupName",
      "pattern": "^[-\\w\\._\\(\\)]+$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "SubscriptionIdParameter": {
      "description": "The Azure subscription ID.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/providers/Microsoft.MachineLearningCompute/operations": {
      "get": {
        "description": "Gets all available operations.",
        "operationId": "MachineLearningCompute_ListAvailableOperations",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AvailableOperations"
            }
          }
        },
        "tags": [
          "MachineLearningComputeOperations"
        ],
        "x-ms-examples": {
          "Machine Learning Compute List Available Operations": {
            "parameters": {
              "api-version": "2017-06-01-preview"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "display": {
                        "description": "Registers the subscription for the Machine Learning Compute resource provider and enables the management of Machine Leaning Compute resources.",
                        "operation": "Register the provider",
                        "provider": "Microsoft Machine Learning Compute Management",
                        "resource": "Machine Learning Compute Provider"
                      },
                      "name": "Microsoft.MachineLearningCompute/register/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read any operationalization cluster",
                        "operation": "Read the operationalization cluster",
                        "provider": "Microsoft Machine Learning Compute Management",
                        "resource": "Machine Learning Compute Operationalization Cluster"
                      },
                      "name": "Microsoft.MachineLearningCompute/operationalizationClusters/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or update any operationalization cluster",
                        "operation": "Write the operationalization cluster",
                        "provider": "Microsoft Machine Learning Compute Management",
                        "resource": "Machine Learning Compute Operationalization Cluster"
                      },
                      "name": "Microsoft.MachineLearningCompute/operationalizationClusters/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete any operationalization cluster",
                        "operation": "Delete the operationalization cluster",
                        "provider": "Microsoft Machine Learning Compute Management",
                        "resource": "Machine Learning Compute Operationalization Cluster"
                      },
                      "name": "Microsoft.MachineLearningCompute/operationalizationClusters/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "List keys for an operationalization cluster",
                        "operation": "List keys for an operationalization cluster",
                        "provider": "Microsoft Machine Learning Compute Management",
                        "resource": "Machine Learning Compute Operationalization Cluster"
                      },
                      "name": "Microsoft.MachineLearningCompute/operationalizationClusters/listKeys/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Check available system updates for an operationalization cluster",
                        "operation": "Check available system updates for an operationalization cluster",
                        "provider": "Microsoft Machine Learning Compute Management",
                        "resource": "Machine Learning Compute Operationalization Cluster"
                      },
                      "name": "Microsoft.MachineLearningCompute/operationalizationClusters/checkUpdate/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Apply available system updates for an operationalization cluster",
                        "operation": "Apply available system updates for an operationalization cluster",
                        "provider": "Microsoft Machine Learning Compute Management",
                        "resource": "Machine Learning Compute Operationalization Cluster"
                      },
                      "name": "Microsoft.MachineLearningCompute/operationalizationClusters/updateSystem/action",
                      "origin": "user,system"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningCompute/operationalizationClusters": {
      "get": {
        "description": "Gets the operationalization clusters in the specified subscription.",
        "operationId": "OperationalizationClusters_ListBySubscriptionId",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "description": "Continuation token for pagination.",
            "in": "query",
            "name": "$skiptoken",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The response includes a paginated array of cluster objects and a URI to the next set of results, if any. Note that the cluster objects are sparsely populated to conserve space in the response content. To get the full cluster object, call the GET operation on the cluster.",
            "schema": {
              "$ref": "#/definitions/PaginatedOperationalizationClustersList"
            }
          }
        },
        "tags": [
          "OperationalizationClusters"
        ],
        "x-ms-examples": {
          "List Operationalization Clusters by Subscription": {
            "parameters": {
              "api-version": "2017-06-01-preview",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "https://the.next/link",
                  "value": [
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup1/providers/Microsoft.MachineLearningCompute/operationalizationClusters/MyCluster",
                      "location": "West US",
                      "name": "MyCluster",
                      "properties": {
                        "appInsights": {
                          "apiKey": "yuqhwuqyruwe",
                          "appId": "abcdefghijklmno"
                        },
                        "clusterType": "ACS",
                        "containerRegistry": {
                          "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup1/providers/Microsoft.ContainerRegistry/registries/mycluster1123456"
                        },
                        "containerService": {
                          "agentCount": 2,
                          "agentVmSize": "Standard_D2_v2",
                          "clusterFqdn": "myclusterabcxyz.westus.cloudapp.azure.com",
                          "orchestratorProperties": {
                            "servicePrincipal": {
                              "clientId": "abcdefghijklmnopqrt",
                              "secret": "uiuiwueiwuewiue"
                            }
                          },
                          "orchestratorType": "Kubernetes",
                          "systemServices": [
                            "Scoring",
                            "Batch"
                          ]
                        },
                        "createdOn": "2017-05-04T07:12:28.191Z",
                        "description": "My Operationalization Cluster",
                        "globalServiceConfiguration": {
                          "autoScale": {
                            "maxReplicas": 100,
                            "minReplicas": 1,
                            "status": "Enabled"
                          },
                          "ssl": {
                            "cert": "afjdklq2131casfakld=",
                            "key": "flksdafkldsajf",
                            "status": "Enabled"
                          }
                        },
                        "modifiedOn": "2017-05-04T07:12:28.191Z",
                        "provisioningState": "Succeeded",
                        "storageAccount": {
                          "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup1/providers/Microsoft.Storage/storageAccounts/mycluster18787878"
                        }
                      },
                      "tags": {
                        "key1": "alpha",
                        "key2": "beta"
                      },
                      "type": "Microsoft.MachineLearningCompute/operationalizationClusters"
                    },
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.MachineLearningCompute/operationalizationClusters/myCluster2",
                      "location": "West US",
                      "name": "MyCluster2",
                      "properties": {
                        "appInsights": {
                          "apiKey": "qerw89wqejrqwje",
                          "appId": "tuuweyuweuwye"
                        },
                        "clusterType": "ACS",
                        "containerRegistry": {
                          "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.ContainerRegistry/registries/myCluster28923849"
                        },
                        "containerService": {
                          "agentCount": 2,
                          "agentVmSize": "Standard_D2_v2",
                          "clusterFqdn": "mycluster2defghi.westus.cloudapp.azure.com",
                          "orchestratorProperties": {
                            "servicePrincipal": {
                              "clientId": "abcdefghijklmnopqrt",
                              "secret": "uiuiwueiwuewiue"
                            }
                          },
                          "orchestratorType": "Kubernetes",
                          "systemServices": [
                            "Scoring",
                            "Batch"
                          ]
                        },
                        "createdOn": "2017-05-04T07:12:28.191Z",
                        "description": "My Operationalization Cluster 2",
                        "globalServiceConfiguration": {
                          "autoScale": {
                            "maxReplicas": 100,
                            "minReplicas": 1,
                            "status": "Enabled"
                          },
                          "ssl": {
                            "cert": "afjdklq2131casfakld=",
                            "key": "flksdafkldsajf",
                            "status": "Enabled"
                          }
                        },
                        "modifiedOn": "2017-05-04T07:12:28.191Z",
                        "provisioningState": "Succeeded",
                        "storageAccount": {
                          "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.Storage/storageAccounts/myCluster2998989"
                        }
                      },
                      "tags": {
                        "key1": "alpha",
                        "key2": "beta"
                      },
                      "type": "Microsoft.MachineLearningCompute/operationalizationClusters"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters": {
      "get": {
        "description": "Gets the clusters in the specified resource group.",
        "operationId": "OperationalizationClusters_ListByResourceGroup",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupNameParameter"
          },
          {
            "description": "Continuation token for pagination.",
            "in": "query",
            "name": "$skiptoken",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The response includes a paginated array of cluster objects and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/. Note that the cluster objects are sparsely populated to conserve space in the response content. To get the full cluster object, call the GET operation on the cluster.",
            "schema": {
              "$ref": "#/definitions/PaginatedOperationalizationClustersList"
            }
          }
        },
        "tags": [
          "OperationalizationClusters"
        ],
        "x-ms-examples": {
          "List Operationalization Clusters by Resource Group": {
            "parameters": {
              "api-version": "2017-06-01-preview",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "https://the.next/link",
                  "value": [
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.MachineLearningCompute/operationalizationClusters/MyCluster",
                      "location": "West US",
                      "name": "MyCluster",
                      "properties": {
                        "appInsights": {
                          "apiKey": "yuqhwuqyruwe",
                          "appId": "abcdefghijklmno"
                        },
                        "clusterType": "ACS",
                        "containerRegistry": {
                          "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycluster123456"
                        },
                        "containerService": {
                          "agentCount": 2,
                          "agentVmSize": "Standard_D2_v2",
                          "clusterFqdn": "myclusterabcxyz.westus.cloudapp.azure.com",
                          "orchestratorProperties": {
                            "servicePrincipal": {
                              "clientId": "abcdefghijklmnopqrt",
                              "secret": "uiuiwueiwuewiue"
                            }
                          },
                          "orchestratorType": "Kubernetes",
                          "systemServices": [
                            "Scoring",
                            "Batch"
                          ]
                        },
                        "createdOn": "2017-05-04T07:12:28.191Z",
                        "description": "My Operationalization Cluster",
                        "globalServiceConfiguration": {
                          "autoScale": {
                            "maxReplicas": 100,
                            "minReplicas": 1,
                            "status": "Enabled"
                          },
                          "ssl": {
                            "cert": "afjdklq2131casfakld=",
                            "key": "flksdafkldsajf",
                            "status": "Enabled"
                          }
                        },
                        "modifiedOn": "2017-05-04T07:12:28.191Z",
                        "provisioningState": "Succeeded",
                        "storageAccount": {
                          "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mycluster123456"
                        }
                      },
                      "tags": {
                        "key1": "alpha",
                        "key2": "beta"
                      },
                      "type": "Microsoft.MachineLearningCompute/operationalizationClusters"
                    },
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.MachineLearningCompute/operationalizationClusters/MyCluster2",
                      "location": "West US",
                      "name": "MyCluster2",
                      "properties": {
                        "appInsights": {
                          "apiKey": "qerw89wqejrqwje",
                          "appId": "tuuweyuweuwye"
                        },
                        "clusterType": "ACS",
                        "containerRegistry": {
                          "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myregistry8923849"
                        },
                        "containerService": {
                          "agentCount": 2,
                          "agentVmSize": "Standard_D2_v2",
                          "clusterFqdn": "mycluster2defghi.westus.cloudapp.azure.com",
                          "orchestratorProperties": {
                            "servicePrincipal": {
                              "clientId": "abcdefghijklmnopqrt",
                              "secret": "uiuiwueiwuewiue"
                            }
                          },
                          "orchestratorType": "Kubernetes",
                          "systemServices": [
                            "Scoring",
                            "Batch"
                          ]
                        },
                        "createdOn": "2017-05-04T07:12:28.191Z",
                        "description": "My Operationalization Cluster 2",
                        "globalServiceConfiguration": {
                          "autoScale": {
                            "maxReplicas": 100,
                            "minReplicas": 1,
                            "status": "Enabled"
                          },
                          "ssl": {
                            "cert": "afjdklq2131casfakld=",
                            "key": "flksdafkldsajf",
                            "status": "Enabled"
                          }
                        },
                        "modifiedOn": "2017-05-04T07:12:28.191Z",
                        "provisioningState": "Succeeded",
                        "storageAccount": {
                          "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mycluster998989"
                        }
                      },
                      "tags": {
                        "key1": "alpha",
                        "key2": "beta"
                      },
                      "type": "Microsoft.MachineLearningCompute/operationalizationClusters"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}": {
      "delete": {
        "description": "Deletes the specified cluster.",
        "operationId": "OperationalizationClusters_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/ClusterNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The cluster existed and was deleted successfully."
          },
          "202": {
            "description": "The delete request was accepted and will complete asynchronously. The know the progress of the delete operation do a GET call on the URI in the Location header. For more information about Asynchronous Operations, see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-async-operations.",
            "headers": {
              "Location": {
                "description": "URI of the async operation.",
                "type": "string"
              }
            }
          },
          "204": {
            "description": "No Content. The cluster did not exist but the request was well formed."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "OperationalizationClusters"
        ],
        "x-ms-examples": {
          "DELETE Operationalization Cluster": {
            "parameters": {
              "api-version": "2017-06-01-preview",
              "clusterName": "myCluster",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {},
              "202": {
                "headers": {
                  "Location": "http://async-operation-URI"
                }
              },
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the operationalization cluster resource view. Note that the credentials are not returned by this call. Call ListKeys to get them.",
        "operationId": "OperationalizationClusters_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/ClusterNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OperationalizationCluster"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "OperationalizationClusters"
        ],
        "x-ms-examples": {
          "GET Operationalization Cluster": {
            "parameters": {
              "api-version": "2017-06-01-preview",
              "clusterName": "myCluster",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.MachineLearningCompute/operationalizationClusters/myCluster",
                  "location": "West US",
                  "name": "myCluster",
                  "properties": {
                    "appInsights": {
                      "apiKey": "yuqhwuqyruwe",
                      "appId": "abcdefghijklmno"
                    },
                    "clusterType": "ACS",
                    "containerRegistry": {
                      "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myregistry123456"
                    },
                    "containerService": {
                      "agentCount": 2,
                      "agentVmSize": "Standard_D2_v2",
                      "clusterFqdn": "myclusterabcxyz.westus.cloudapp.azure.com",
                      "orchestratorProperties": {
                        "servicePrincipal": {
                          "clientId": "abcdefghijklmnopqrt",
                          "secret": "uiuiwueiwuewiue"
                        }
                      },
                      "orchestratorType": "Kubernetes",
                      "systemServices": [
                        "Scoring",
                        "Batch"
                      ]
                    },
                    "createdOn": "2017-05-04T07:12:28.191Z",
                    "description": "My Operationalization Cluster",
                    "globalServiceConfiguration": {
                      "autoScale": {
                        "maxReplicas": 100,
                        "minReplicas": 1,
                        "status": "Enabled"
                      },
                      "ssl": {
                        "cert": "afjdklq2131casfakld=",
                        "key": "flksdafkldsajf",
                        "status": "Enabled"
                      }
                    },
                    "modifiedOn": "2017-05-04T07:12:28.191Z",
                    "provisioningState": "Succeeded",
                    "storageAccount": {
                      "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mycluster123456"
                    }
                  },
                  "tags": {
                    "key1": "alpha",
                    "key2": "beta"
                  },
                  "type": "Microsoft.MachineLearningCompute/operationalizationClusters"
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "The PATCH operation can be used to update only the tags for a cluster. Use PUT operation to update other properties.",
        "operationId": "OperationalizationClusters_Update",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/ClusterNameParameter"
          },
          {
            "description": "The parameters supplied to patch the cluster.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OperationalizationClusterUpdateParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The update completed successfully.",
            "schema": {
              "$ref": "#/definitions/OperationalizationCluster"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "OperationalizationClusters"
        ],
        "x-ms-examples": {
          "PATCH Operationalization Cluster": {
            "parameters": {
              "api-version": "2017-06-01-preview",
              "clusterName": "myCluster",
              "parameters": {
                "tags": {
                  "key1": "value1"
                }
              },
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.MachineLearningCompute/operationalizationClusters/myCluster",
                  "location": "West US",
                  "name": "MyCluster",
                  "properties": {
                    "appInsights": {
                      "apiKey": "yuqhwuqyruwe",
                      "appId": "abcdefghijklmno"
                    },
                    "clusterType": "ACS",
                    "containerRegistry": {
                      "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycluster742894"
                    },
                    "containerService": {
                      "agentCount": 2,
                      "agentVmSize": "Standard_D2_v2",
                      "clusterFqdn": "myclusterabcxyz.westus.cloudapp.azure.com",
                      "orchestratorProperties": {
                        "servicePrincipal": {
                          "clientId": "abcdefghijklmnopqrt",
                          "secret": "uiuiwueiwuewiue"
                        }
                      },
                      "orchestratorType": "Kubernetes",
                      "systemServices": [
                        "Scoring",
                        "Batch"
                      ]
                    },
                    "createdOn": "2017-05-04T07:12:28.191Z",
                    "description": "My Operationalization Cluster",
                    "globalServiceConfiguration": {
                      "autoScale": {
                        "maxReplicas": 100,
                        "minReplicas": 1,
                        "status": "Enabled"
                      },
                      "ssl": {
                        "cert": "afjdklq2131casfakld=",
                        "key": "flksdafkldsajf",
                        "status": "Enabled"
                      }
                    },
                    "modifiedOn": "2017-05-04T07:12:28.191Z",
                    "provisioningState": "Succeeded",
                    "storageAccount": {
                      "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mycluster123456"
                    }
                  },
                  "tags": {
                    "key1": "value1"
                  },
                  "type": "Microsoft.MachineLearningCompute/operationalizationClusters"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Create or update an operationalization cluster.",
        "operationId": "OperationalizationClusters_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/ClusterNameParameter"
          },
          {
            "description": "Parameters supplied to create or update an Operationalization cluster.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OperationalizationCluster"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The create or update succeeded.",
            "schema": {
              "$ref": "#/definitions/OperationalizationCluster"
            }
          },
          "201": {
            "description": "The request was accepted and will complete asynchronously. To get the progress of the operation, call GET operation on the URL in Azure-AsyncOperation header field. For more information about Asynchronous Operations, see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-async-operations.",
            "headers": {
              "Azure-AsyncOperation": {
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/OperationalizationCluster"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "OperationalizationClusters"
        ],
        "x-ms-examples": {
          "PUT Operationalization Cluster": {
            "parameters": {
              "api-version": "2017-06-01-preview",
              "clusterName": "myCluster",
              "parameters": {
                "location": "West US",
                "properties": {
                  "clusterType": "ACS",
                  "containerService": {
                    "orchestratorProperties": {
                      "servicePrincipal": {
                        "clientId": "abcdefghijklmnopqrt",
                        "secret": "uiuiwueiwuewiue"
                      }
                    },
                    "orchestratorType": "Kubernetes"
                  },
                  "description": "My Operationalization Cluster",
                  "globalServiceConfiguration": {
                    "ssl": {
                      "cert": "afjdklq2131casfakld=",
                      "key": "flksdafkldsajf=",
                      "status": "Enabled"
                    }
                  }
                },
                "tags": {
                  "key1": "alpha",
                  "key2": "beta"
                }
              },
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.MachineLearningCompute/operationalizationClusters/MyCluster",
                  "location": "West US",
                  "name": "MyCluster",
                  "properties": {
                    "appInsights": {
                      "apiKey": "yuqhwuqyruwe",
                      "appId": "abcdefghijklmno"
                    },
                    "clusterType": "ACS",
                    "containerRegistry": {
                      "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myregistry123456"
                    },
                    "containerService": {
                      "agentCount": 2,
                      "agentVmSize": "Standard_D2_v2",
                      "clusterFqdn": "myclusterabcxyz.westus.cloudapp.azure.com",
                      "orchestratorProperties": {
                        "servicePrincipal": {
                          "clientId": "abcdefghijklmnopqrt",
                          "secret": "uiuiwueiwuewiue"
                        }
                      },
                      "orchestratorType": "Kubernetes",
                      "systemServices": [
                        "Scoring",
                        "Batch"
                      ]
                    },
                    "createdOn": "2017-05-04T07:12:28.191Z",
                    "description": "My Operationalization Cluster",
                    "globalServiceConfiguration": {
                      "autoScale": {
                        "maxReplicas": 100,
                        "minReplicas": 1,
                        "status": "Enabled"
                      },
                      "ssl": {
                        "cert": "afjdklq2131casfakld=",
                        "key": "flksdafkldsajf=",
                        "status": "Enabled"
                      }
                    },
                    "modifiedOn": "2017-05-04T07:12:28.191Z",
                    "provisioningState": "Succeeded",
                    "storageAccount": {
                      "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mycluster123456"
                    }
                  },
                  "tags": {
                    "key1": "alpha",
                    "key2": "beta"
                  },
                  "type": "Microsoft.MachineLearningCompute/operationalizationClusters"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.MachineLearningCompute/operationalizationClusters/MyCluster",
                  "location": "West US",
                  "name": "MyCluster",
                  "properties": {
                    "appInsights": {
                      "apiKey": "yuqhwuqyruwe",
                      "appId": "abcdefghijklmno"
                    },
                    "clusterType": "ACS",
                    "containerRegistry": {
                      "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myregistry123456"
                    },
                    "containerService": {
                      "agentCount": 2,
                      "agentVmSize": "Standard_D2_v2",
                      "clusterFqdn": "myclusterabcxyz.westus.cloudapp.azure.com",
                      "orchestratorProperties": {
                        "servicePrincipal": {
                          "clientId": "abcdefghijklmnopqrt",
                          "secret": "uiuiwueiwuewiue"
                        }
                      },
                      "orchestratorType": "Kubernetes",
                      "systemServices": [
                        "Scoring",
                        "Batch"
                      ]
                    },
                    "createdOn": "2017-05-04T07:12:28.191Z",
                    "description": "My Operationalization Cluster",
                    "globalServiceConfiguration": {
                      "autoScale": {
                        "maxReplicas": 100,
                        "minReplicas": 1,
                        "status": "Enabled"
                      },
                      "ssl": {
                        "cert": "afjdklq2131casfakld=",
                        "key": "flksdafkldsajf",
                        "status": "Enabled"
                      }
                    },
                    "modifiedOn": "2017-05-04T07:12:28.191Z",
                    "provisioningState": "Creating",
                    "storageAccount": {
                      "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mycluster123456"
                    }
                  },
                  "tags": {
                    "key1": "alpha",
                    "key2": "beta"
                  },
                  "type": "Microsoft.MachineLearningCompute/operationalizationClusters"
                },
                "headers": {
                  "Azure-AsyncOperation": "http://azure.async.operation/status"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkUpdate": {
      "post": {
        "description": "Checks if updates are available for system services in the cluster",
        "operationId": "OperationalizationClusters_CheckUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/ClusterNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request completed successfully.",
            "schema": {
              "$ref": "#/definitions/CheckUpdateResponse"
            }
          },
          "202": {
            "description": "The request was accepted and will complete asynchronously. The know the progress of the async operation do a GET call on the URI in the Location header. For more information about Asynchronous Operations, see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-async-operations.",
            "headers": {
              "Location": {
                "description": "URI of the async operation.",
                "type": "string"
              }
            }
          }
        },
        "tags": [
          "OperationalizationClusters"
        ],
        "x-ms-examples": {
          "Check Update for an Operationalization Cluster": {
            "parameters": {
              "api-version": "2017-06-01-preview",
              "clusterName": "myCluster",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "updatesAvailable": "Yes"
                }
              },
              "202": {
                "headers": {
                  "Location": "http://async-operation-URI"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/listKeys": {
      "post": {
        "description": "Gets the credentials for the specified cluster such as Storage, ACR and ACS credentials. This is a long running operation because it fetches keys from dependencies.",
        "operationId": "OperationalizationClusters_ListKeys",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/ClusterNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request completed successfully.",
            "schema": {
              "$ref": "#/definitions/OperationalizationClusterCredentials"
            }
          },
          "202": {
            "description": "The request was accepted and will complete asynchronously. The know the progress of the async operation do a GET call on the URI in the Location header. For more information about Asynchronous Operations, see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-async-operations.",
            "headers": {
              "Location": {
                "description": "URI of the async operation.",
                "type": "string"
              }
            }
          }
        },
        "tags": [
          "OperationalizationClusters"
        ],
        "x-ms-examples": {
          "List Keys of an Operationalization Cluster": {
            "parameters": {
              "api-version": "2017-06-01-preview",
              "clusterName": "myCluster",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "appInsights": {
                    "apiKey": "ppppppppppppppppppTTTTTTTT",
                    "appId": "abcdefghijklmnop"
                  },
                  "containerRegistry": {
                    "loginServer": "myclusterghijkl.azurecr.io",
                    "password": "ccccKKKKKKKK=",
                    "password2": "bddddTTTTTTTTTTT"
                  },
                  "containerService": {
                    "acsKubeConfig": "AAAAAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCCCAAAAAAAAAAAAAAAAA===",
                    "imagePullSecretName": "myclusterghijklacrkey"
                  },
                  "storageAccount": {
                    "primaryKey": "aaaaNNNNNNNNNNNN==",
                    "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myCluster998989",
                    "secondaryKey": "bbbbXXXXXXXXXXXXXXX=="
                  }
                },
                "headers": {
                  "azure-asyncoperation": "http://azure.async.operation/status"
                }
              },
              "202": {
                "headers": {
                  "Location": "http://async-operation-URI"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystem": {
      "post": {
        "description": "Updates system services in a cluster.",
        "operationId": "OperationalizationClusters_UpdateSystem",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/ClusterNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request completed successfully. Check the response body for update details.",
            "schema": {
              "$ref": "#/definitions/UpdateSystemResponse"
            }
          },
          "202": {
            "description": "The request was accepted and will complete asynchronously. The know the progress of the async operation do a GET call on the URI in the Location header. For more information about Asynchronous Operations, see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-async-operations.",
            "headers": {
              "Location": {
                "description": "URI of the async operation.",
                "type": "string"
              }
            }
          }
        },
        "tags": [
          "OperationalizationClusters"
        ],
        "x-ms-examples": {
          "Update System Services in an Operationalization Cluster": {
            "parameters": {
              "api-version": "2017-06-01-preview",
              "clusterName": "myCluster",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "updateCompletedOn": "2017-05-04T07:13:28.191Z",
                  "updateStartedOn": "2017-05-04T07:12:28.191Z",
                  "updateStatus": "Completed"
                }
              },
              "202": {
                "headers": {
                  "Location": "http://async-operation-URI"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    }
  },
  "definitions": {
    "AcsClusterProperties": {
      "description": "Information about the container service backing the cluster",
      "properties": {
        "agentCount": {
          "default": 2,
          "description": "The number of agent nodes in the Container Service. This can be changed to scale the cluster.",
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "agentVmSize": {
          "default": "Standard_D2_v2",
          "description": "The Azure VM size of the agent VM nodes. This cannot be changed once the cluster is created.",
          "enum": [
            "Standard_A0",
            "Standard_A1",
            "Standard_A2",
            "Standard_A3",
            "Standard_A4",
            "Standard_A5",
            "Standard_A6",
            "Standard_A7",
            "Standard_A8",
            "Standard_A9",
            "Standard_A10",
            "Standard_A11",
            "Standard_D1",
            "Standard_D2",
            "Standard_D3",
            "Standard_D4",
            "Standard_D11",
            "Standard_D12",
            "Standard_D13",
            "Standard_D14",
            "Standard_D1_v2",
            "Standard_D2_v2",
            "Standard_D3_v2",
            "Standard_D4_v2",
            "Standard_D5_v2",
            "Standard_D11_v2",
            "Standard_D12_v2",
            "Standard_D13_v2",
            "Standard_D14_v2",
            "Standard_G1",
            "Standard_G2",
            "Standard_G3",
            "Standard_G4",
            "Standard_G5",
            "Standard_DS1",
            "Standard_DS2",
            "Standard_DS3",
            "Standard_DS4",
            "Standard_DS11",
            "Standard_DS12",
            "Standard_DS13",
            "Standard_DS14",
            "Standard_GS1",
            "Standard_GS2",
            "Standard_GS3",
            "Standard_GS4",
            "Standard_GS5"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "AgentVMSizeTypes"
          }
        },
        "clusterFqdn": {
          "description": "The FQDN of the cluster. ",
          "readOnly": true,
          "type": "string"
        },
        "orchestratorProperties": {
          "$ref": "#/definitions/KubernetesClusterProperties",
          "description": "Orchestrator specific properties"
        },
        "orchestratorType": {
          "description": "Type of orchestrator. It cannot be changed once the cluster is created.",
          "enum": [
            "Kubernetes"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "Orchestrator"
          }
        },
        "systemServices": {
          "description": "The system services deployed to the cluster",
          "items": {
            "$ref": "#/definitions/SystemServices"
          },
          "type": "array"
        }
      },
      "required": [
        "orchestratorType",
        "orchestratorProperties"
      ],
      "type": "object"
    },
    "AppInsightsCredentials": {
      "description": "AppInsights credentials.",
      "properties": {
        "apiKey": {
          "description": "The AppInsights API key. This is not returned in response of GET/PUT on the resource.. To see this please call listKeys API.",
          "type": "string"
        },
        "appId": {
          "description": "The AppInsights application ID.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AsyncOperationErrorInfo": {
      "description": "The error detail information for async operation",
      "properties": {
        "code": {
          "description": "The error code.",
          "type": "string"
        },
        "details": {
          "description": "An array containing error information.",
          "items": {
            "$ref": "#/definitions/AsyncOperationErrorInfo"
          },
          "type": "array"
        },
        "message": {
          "description": "The error message.",
          "type": "string"
        },
        "target": {
          "description": "The error target.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AsyncOperationStatus": {
      "description": "Azure async operation status.",
      "properties": {
        "endTime": {
          "description": "The date time that the async operation finished.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "errorInfo": {
          "$ref": "#/definitions/AsyncOperationErrorInfo",
          "description": "If the async operation fails, this structure contains the error details."
        },
        "id": {
          "description": "Async operation id.",
          "type": "string"
        },
        "name": {
          "description": "Async operation name.",
          "type": "string"
        },
        "percentComplete": {
          "description": "Async operation progress.",
          "type": "number"
        },
        "provisioningState": {
          "description": "Read Only: The provisioning state of the cluster. Valid values are Unknown, Provisioning, Succeeded, and Failed.",
          "enum": [
            "Unknown",
            "Updating",
            "Creating",
            "Succeeded",
            "Failed"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ProvisioningState"
          }
        },
        "startTime": {
          "description": "The date time that the async operation started.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "AutoScaleConfiguration": {
      "description": "AutoScale configuration properties.",
      "properties": {
        "maxReplicas": {
          "default": 100,
          "description": "The maximum number of replicas for each service.",
          "minimum": 1,
          "type": "integer"
        },
        "minReplicas": {
          "default": 1,
          "description": "The minimum number of replicas for each service.",
          "minimum": 1,
          "type": "integer"
        },
        "refreshPeriodInSeconds": {
          "description": "Refresh period in seconds.",
          "type": "integer"
        },
        "status": {
          "default": "Disabled",
          "description": "If auto-scale is enabled for all services. Each service can turn it off individually.",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "Status"
          }
        },
        "targetUtilization": {
          "description": "The target utilization.",
          "type": "number"
        }
      },
      "type": "object"
    },
    "AvailableOperations": {
      "description": "Available operation list",
      "properties": {
        "value": {
          "description": "An array of available operations",
          "items": {
            "$ref": "#/definitions/ResourceOperation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CheckUpdateResponse": {
      "description": "Information about updates available for system services in a cluster.",
      "properties": {
        "updatesAvailable": {
          "description": "Yes if updates are available for the system services, No if not.",
          "enum": [
            "Yes",
            "No"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "UpdatesAvailable"
          }
        }
      },
      "type": "object"
    },
    "ContainerRegistryCredentials": {
      "description": "Information about the Azure Container Registry which contains the images deployed to the cluster.",
      "properties": {
        "loginServer": {
          "description": "The ACR login server name. User name is the first part of the FQDN.",
          "readOnly": true,
          "type": "string"
        },
        "password": {
          "description": "The ACR primary password.",
          "readOnly": true,
          "type": "string"
        },
        "password2": {
          "description": "The ACR secondary password.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ContainerRegistryProperties": {
      "description": "Properties of Azure Container Registry.",
      "properties": {
        "resourceId": {
          "description": "ARM resource ID of the Azure Container Registry used to store Docker images for web services in the cluster. If not provided one will be created. This cannot be changed once the cluster is created.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ContainerServiceCredentials": {
      "description": "Information about the Azure Container Registry which contains the images deployed to the cluster.",
      "properties": {
        "acsKubeConfig": {
          "description": "The ACS kube config file.",
          "readOnly": true,
          "type": "string"
        },
        "imagePullSecretName": {
          "description": "The ACR image pull secret name which was created in Kubernetes.",
          "readOnly": true,
          "type": "string"
        },
        "servicePrincipalConfiguration": {
          "$ref": "#/definitions/ServicePrincipalProperties",
          "description": "Client secret for the Service Principal used by Kubernetes.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ErrorDetail": {
      "description": "Error detail information.",
      "properties": {
        "code": {
          "description": "error code",
          "type": "string"
        },
        "message": {
          "description": "error message",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "type": "object"
    },
    "ErrorResponse": {
      "description": "Error response information",
      "properties": {
        "code": {
          "description": "error code",
          "type": "string"
        },
        "details": {
          "description": "An array of error detail objects.",
          "items": {
            "$ref": "#/definitions/ErrorDetail"
          },
          "type": "array"
        },
        "message": {
          "description": "Error message",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "type": "object"
    },
    "GlobalServiceConfiguration": {
      "additionalProperties": {
        "description": "Any additional configuration key-value pairs.",
        "type": "string"
      },
      "description": "Global configuration for services in the cluster.",
      "properties": {
        "autoScale": {
          "$ref": "#/definitions/AutoScaleConfiguration",
          "description": "The auto-scale configuration"
        },
        "etag": {
          "description": "The configuration ETag for updates.",
          "type": "string"
        },
        "serviceAuth": {
          "$ref": "#/definitions/ServiceAuthConfiguration",
          "description": "Optional global authorization keys for all user services deployed in cluster. These are used if the service does not have auth keys."
        },
        "ssl": {
          "$ref": "#/definitions/SslConfiguration",
          "description": "The SSL configuration properties"
        }
      },
      "type": "object"
    },
    "KubernetesClusterProperties": {
      "description": "Kubernetes cluster specific properties",
      "properties": {
        "servicePrincipal": {
          "$ref": "#/definitions/ServicePrincipalProperties",
          "description": "The Azure Service Principal used by Kubernetes"
        }
      },
      "required": [
        "servicePrincipal"
      ],
      "type": "object",
      "x-ms-discriminator-value": "Kubernetes"
    },
    "OperationalizationCluster": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Instance of an Azure ML Operationalization Cluster resource.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/OperationalizationClusterProperties",
          "description": "Properties of an operationalization cluster.",
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "OperationalizationClusterCredentials": {
      "description": "Credentials to resources in the cluster.",
      "properties": {
        "appInsights": {
          "$ref": "#/definitions/AppInsightsCredentials",
          "description": "Credentials for Azure AppInsights.",
          "type": "object"
        },
        "containerRegistry": {
          "$ref": "#/definitions/ContainerRegistryCredentials",
          "description": "Credentials for Azure Container Registry.",
          "type": "object"
        },
        "containerService": {
          "$ref": "#/definitions/ContainerServiceCredentials",
          "description": "Credentials for Azure Container Service.",
          "type": "object"
        },
        "serviceAuthConfiguration": {
          "$ref": "#/definitions/ServiceAuthConfiguration",
          "description": "Global authorization keys for all user services deployed in cluster. These are used if the service does not have auth keys.",
          "type": "object"
        },
        "sslConfiguration": {
          "$ref": "#/definitions/SslConfiguration",
          "description": "The SSL configuration for the services.",
          "type": "object"
        },
        "storageAccount": {
          "$ref": "#/definitions/StorageAccountCredentials",
          "description": "Credentials for the Storage Account.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "OperationalizationClusterProperties": {
      "description": "Properties of an operationalization cluster",
      "properties": {
        "appInsights": {
          "$ref": "#/definitions/AppInsightsCredentials",
          "description": "AppInsights configuration"
        },
        "clusterType": {
          "description": "The cluster type.",
          "enum": [
            "ACS"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ClusterType"
          }
        },
        "containerRegistry": {
          "$ref": "#/definitions/ContainerRegistryProperties",
          "description": "Container Registry properties."
        },
        "containerService": {
          "$ref": "#/definitions/AcsClusterProperties",
          "description": "Parameters for the Azure Container Service cluster."
        },
        "createdOn": {
          "description": "The date and time when the cluster was created.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "The description of the cluster.",
          "type": "string"
        },
        "globalServiceConfiguration": {
          "$ref": "#/definitions/GlobalServiceConfiguration",
          "description": "Contains global configuration for the web services in the cluster."
        },
        "modifiedOn": {
          "description": "The date and time when the cluster was last modified.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "provisioningState": {
          "description": "The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed.",
          "enum": [
            "Unknown",
            "Updating",
            "Creating",
            "Succeeded",
            "Failed"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ProvisioningState"
          }
        },
        "storageAccount": {
          "$ref": "#/definitions/StorageAccountProperties",
          "description": "Storage Account properties."
        }
      },
      "required": [
        "clusterType",
        "containerService"
      ],
      "type": "object"
    },
    "OperationalizationClusterUpdateParameters": {
      "description": "Parameters for PATCH operation on an operationalization cluster",
      "properties": {
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "PaginatedOperationalizationClustersList": {
      "description": "Paginated list of operationalization clusters.",
      "properties": {
        "nextLink": {
          "description": "A continuation link (absolute URI) to the next page of results in the list.",
          "type": "string"
        },
        "value": {
          "description": "An array of cluster objects.",
          "items": {
            "$ref": "#/definitions/OperationalizationCluster"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Resource": {
      "description": "Azure resource",
      "properties": {
        "id": {
          "description": "Specifies the resource ID.",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "Specifies the location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "Specifies the name of the resource.",
          "readOnly": true,
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Contains resource tags defined as key/value pairs.",
          "type": "object"
        },
        "type": {
          "description": "Specifies the type of the resource.",
          "readOnly": true,
          "type": "string"
        }
      },
      "required": [
        "location"
      ],
      "x-ms-azure-resource": true
    },
    "ResourceOperation": {
      "description": "Resource operation",
      "properties": {
        "display": {
          "description": "Display of the operation",
          "properties": {
            "description": {
              "description": "The description of the operation",
              "type": "string"
            },
            "operation": {
              "description": "The operation",
              "type": "string"
            },
            "provider": {
              "description": "The resource provider name",
              "type": "string"
            },
            "resource": {
              "description": "The resource name",
              "type": "string"
            }
          },
          "type": "object"
        },
        "name": {
          "description": "Name of this operation.",
          "type": "string"
        },
        "origin": {
          "description": "The operation origin",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ServiceAuthConfiguration": {
      "description": "Global service auth configuration properties. These are the data-plane authorization keys and are used if a service doesn't define it's own.",
      "properties": {
        "primaryAuthKeyHash": {
          "description": "The primary auth key hash. This is not returned in response of GET/PUT on the resource.. To see this please call listKeys API.",
          "type": "string"
        },
        "secondaryAuthKeyHash": {
          "description": "The secondary auth key hash. This is not returned in response of GET/PUT on the resource.. To see this please call listKeys API.",
          "type": "string"
        }
      },
      "required": [
        "primaryAuthKeyHash",
        "secondaryAuthKeyHash"
      ],
      "type": "object"
    },
    "ServicePrincipalProperties": {
      "description": "The Azure service principal used by Kubernetes for configuring load balancers",
      "properties": {
        "clientId": {
          "description": "The service principal client ID",
          "type": "string"
        },
        "secret": {
          "description": "The service principal secret. This is not returned in response of GET/PUT on the resource. To see this please call listKeys.",
          "type": "string"
        }
      },
      "required": [
        "clientId",
        "secret"
      ],
      "type": "object"
    },
    "SslConfiguration": {
      "description": "SSL configuration. If configured data-plane calls to user services will be exposed over SSL only.",
      "properties": {
        "cert": {
          "description": "The SSL cert data in PEM format encoded as base64 string",
          "type": "string"
        },
        "key": {
          "description": "The SSL key data in PEM format encoded as base64 string. This is not returned in response of GET/PUT on the resource.. To see this please call listKeys API.",
          "type": "string"
        },
        "status": {
          "default": "Enabled",
          "description": "SSL status. Allowed values are Enabled and Disabled.",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "Status"
          }
        }
      },
      "type": "object"
    },
    "StorageAccountCredentials": {
      "description": "Access information for the storage account.",
      "properties": {
        "primaryKey": {
          "description": "The primary key of the storage account.",
          "readOnly": true,
          "type": "string"
        },
        "resourceId": {
          "description": "The ARM resource ID of the storage account.",
          "readOnly": true,
          "type": "string"
        },
        "secondaryKey": {
          "description": "The secondary key of the storage account.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "StorageAccountProperties": {
      "description": "Properties of Storage Account.",
      "properties": {
        "resourceId": {
          "description": "ARM resource ID of the Azure Storage Account to store CLI specific files. If not provided one will be created. This cannot be changed once the cluster is created.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SystemServices": {
      "description": "The choices of system services.",
      "enum": [
        "Scoring",
        "Batch"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": true,
        "name": "SystemServices"
      }
    },
    "UpdateSystemResponse": {
      "description": "Response of the updateSystem API",
      "properties": {
        "updateCompletedOn": {
          "description": "Read Only: The date and time when the last system services update completed.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "updateStartedOn": {
          "description": "Read Only: The date and time when the last system services update was started.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "updateStatus": {
          "description": "Update status",
          "enum": [
            "InProgress",
            "Completed"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "UpdateStatus"
          }
        }
      },
      "type": "object"
    }
  }
}