diff --git a/containerinstance/arm-containerinstance/LICENSE.txt b/containerinstance/arm-containerinstance/LICENSE.txt
new file mode 100644
index 000000000000..b73b4a1293c3
--- /dev/null
+++ b/containerinstance/arm-containerinstance/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2019 Microsoft
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/containerinstance/arm-containerinstance/README.md b/containerinstance/arm-containerinstance/README.md
new file mode 100644
index 000000000000..b3f577237e95
--- /dev/null
+++ b/containerinstance/arm-containerinstance/README.md
@@ -0,0 +1,96 @@
+## Azure ContainerInstanceManagementClient SDK for JavaScript
+
+This package contains an isomorphic SDK for ContainerInstanceManagementClient.
+
+### Currently supported environments
+
+- Node.js version 6.x.x or higher
+- Browser JavaScript
+
+### How to Install
+
+```bash
+npm install @azure/arm-containerinstance
+```
+
+### How to use
+
+#### nodejs - Authentication, client creation and list containerGroups as an example written in TypeScript.
+
+##### Install @azure/ms-rest-nodeauth
+
+```bash
+npm install @azure/ms-rest-nodeauth
+```
+
+##### Sample code
+
+```typescript
+import * as msRest from "@azure/ms-rest-js";
+import * as msRestAzure from "@azure/ms-rest-azure-js";
+import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";
+import { ContainerInstanceManagementClient, ContainerInstanceManagementModels, ContainerInstanceManagementMappers } from "@azure/arm-containerinstance";
+const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
+
+msRestNodeAuth.interactiveLogin().then((creds) => {
+ const client = new ContainerInstanceManagementClient(creds, subscriptionId);
+ client.containerGroups.list().then((result) => {
+ console.log("The result is:");
+ console.log(result);
+ });
+}).catch((err) => {
+ console.error(err);
+});
+```
+
+#### browser - Authentication, client creation and list containerGroups as an example written in JavaScript.
+
+##### Install @azure/ms-rest-browserauth
+
+```bash
+npm install @azure/ms-rest-browserauth
+```
+
+##### Sample code
+
+See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
+
+- index.html
+```html
+
+
+
+ @azure/arm-containerinstance sample
+
+
+
+
+
+
+
+
+```
+
+## Related projects
+
+- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
diff --git a/containerinstance/arm-containerinstance/package.json b/containerinstance/arm-containerinstance/package.json
new file mode 100644
index 000000000000..e3ac85414c90
--- /dev/null
+++ b/containerinstance/arm-containerinstance/package.json
@@ -0,0 +1,58 @@
+{
+ "name": "@azure/arm-containerinstance",
+ "author": "Microsoft Corporation",
+ "description": "ContainerInstanceManagementClient Library with typescript type definitions for node.js and browser.",
+ "version": "5.4.0",
+ "dependencies": {
+ "@azure/ms-rest-azure-js": "^1.3.2",
+ "@azure/ms-rest-js": "^1.8.1",
+ "tslib": "^1.9.3"
+ },
+ "keywords": [
+ "node",
+ "azure",
+ "typescript",
+ "browser",
+ "isomorphic"
+ ],
+ "license": "MIT",
+ "main": "./dist/arm-containerinstance.js",
+ "module": "./esm/containerInstanceManagementClient.js",
+ "types": "./esm/containerInstanceManagementClient.d.ts",
+ "devDependencies": {
+ "typescript": "^3.1.1",
+ "rollup": "^0.66.2",
+ "rollup-plugin-node-resolve": "^3.4.0",
+ "rollup-plugin-sourcemaps": "^0.4.2",
+ "uglify-js": "^3.4.9"
+ },
+ "homepage": "https://github.com/azure/azure-sdk-for-js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/azure/azure-sdk-for-js.git"
+ },
+ "bugs": {
+ "url": "https://github.com/azure/azure-sdk-for-js/issues"
+ },
+ "files": [
+ "dist/**/*.js",
+ "dist/**/*.js.map",
+ "dist/**/*.d.ts",
+ "dist/**/*.d.ts.map",
+ "esm/**/*.js",
+ "esm/**/*.js.map",
+ "esm/**/*.d.ts",
+ "esm/**/*.d.ts.map",
+ "src/**/*.ts",
+ "README.md",
+ "rollup.config.js",
+ "tsconfig.json"
+ ],
+ "scripts": {
+ "build": "tsc && rollup -c rollup.config.js && npm run minify",
+ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-containerinstance.js.map'\" -o ./dist/arm-containerinstance.min.js ./dist/arm-containerinstance.js",
+ "prepack": "npm install && npm run build"
+ },
+ "sideEffects": false,
+ "autoPublish": true
+}
diff --git a/containerinstance/arm-containerinstance/rollup.config.js b/containerinstance/arm-containerinstance/rollup.config.js
new file mode 100644
index 000000000000..04aa214b544f
--- /dev/null
+++ b/containerinstance/arm-containerinstance/rollup.config.js
@@ -0,0 +1,37 @@
+import rollup from "rollup";
+import nodeResolve from "rollup-plugin-node-resolve";
+import sourcemaps from "rollup-plugin-sourcemaps";
+
+/**
+ * @type {rollup.RollupFileOptions}
+ */
+const config = {
+ input: "./esm/containerInstanceManagementClient.js",
+ external: [
+ "@azure/ms-rest-js",
+ "@azure/ms-rest-azure-js"
+ ],
+ output: {
+ file: "./dist/arm-containerinstance.js",
+ format: "umd",
+ name: "Azure.ArmContainerinstance",
+ sourcemap: true,
+ globals: {
+ "@azure/ms-rest-js": "msRest",
+ "@azure/ms-rest-azure-js": "msRestAzure"
+ },
+ banner: `/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */`
+ },
+ plugins: [
+ nodeResolve({ module: true }),
+ sourcemaps()
+ ]
+};
+
+export default config;
diff --git a/containerinstance/arm-containerinstance/src/containerInstanceManagementClient.ts b/containerinstance/arm-containerinstance/src/containerInstanceManagementClient.ts
new file mode 100644
index 000000000000..aaf435004711
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/containerInstanceManagementClient.ts
@@ -0,0 +1,158 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "./models";
+import * as Mappers from "./models/mappers";
+import * as Parameters from "./models/parameters";
+import * as operations from "./operations";
+import { ContainerInstanceManagementClientContext } from "./containerInstanceManagementClientContext";
+
+
+class ContainerInstanceManagementClient extends ContainerInstanceManagementClientContext {
+ // Operation groups
+ containerGroups: operations.ContainerGroups;
+ operations: operations.Operations;
+ containerGroupUsage: operations.ContainerGroupUsage;
+ container: operations.ContainerOperations;
+ serviceAssociationLink: operations.ServiceAssociationLink;
+
+ /**
+ * Initializes a new instance of the ContainerInstanceManagementClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure
+ * subscription. The subscription ID forms part of the URI for every service call.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ContainerInstanceManagementClientOptions) {
+ super(credentials, subscriptionId, options);
+ this.containerGroups = new operations.ContainerGroups(this);
+ this.operations = new operations.Operations(this);
+ this.containerGroupUsage = new operations.ContainerGroupUsage(this);
+ this.container = new operations.ContainerOperations(this);
+ this.serviceAssociationLink = new operations.ServiceAssociationLink(this);
+ }
+
+ /**
+ * Get the list of cached images on specific OS type for a subscription in a region.
+ * @summary Get the list of cached images.
+ * @param location The identifier for the physical azure location.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listCachedImages(location: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param location The identifier for the physical azure location.
+ * @param callback The callback
+ */
+ listCachedImages(location: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param location The identifier for the physical azure location.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listCachedImages(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listCachedImages(location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.sendOperationRequest(
+ {
+ location,
+ options
+ },
+ listCachedImagesOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Get the list of CPU/memory/GPU capabilities of a region.
+ * @summary Get the list of capabilities of the location.
+ * @param location The identifier for the physical azure location.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listCapabilities(location: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param location The identifier for the physical azure location.
+ * @param callback The callback
+ */
+ listCapabilities(location: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param location The identifier for the physical azure location.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listCapabilities(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listCapabilities(location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.sendOperationRequest(
+ {
+ location,
+ options
+ },
+ listCapabilitiesOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listCachedImagesOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/cachedImages",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.location
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.CachedImagesListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listCapabilitiesOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.location
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.CapabilitiesListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+export {
+ ContainerInstanceManagementClient,
+ ContainerInstanceManagementClientContext,
+ Models as ContainerInstanceManagementModels,
+ Mappers as ContainerInstanceManagementMappers
+};
+export * from "./operations";
diff --git a/containerinstance/arm-containerinstance/src/containerInstanceManagementClientContext.ts b/containerinstance/arm-containerinstance/src/containerInstanceManagementClientContext.ts
new file mode 100644
index 000000000000..e4badec4f3d7
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/containerInstanceManagementClientContext.ts
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as Models from "./models";
+import * as msRest from "@azure/ms-rest-js";
+import * as msRestAzure from "@azure/ms-rest-azure-js";
+
+const packageName = "@azure/arm-containerinstance";
+const packageVersion = "5.4.0";
+
+export class ContainerInstanceManagementClientContext extends msRestAzure.AzureServiceClient {
+ credentials: msRest.ServiceClientCredentials;
+ subscriptionId: string;
+ apiVersion?: string;
+
+ /**
+ * Initializes a new instance of the ContainerInstanceManagementClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure
+ * subscription. The subscription ID forms part of the URI for every service call.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ContainerInstanceManagementClientOptions) {
+ if (credentials == undefined) {
+ throw new Error('\'credentials\' cannot be null.');
+ }
+ if (subscriptionId == undefined) {
+ throw new Error('\'subscriptionId\' cannot be null.');
+ }
+
+ if (!options) {
+ options = {};
+ }
+ if(!options.userAgent) {
+ const defaultUserAgent = msRestAzure.getDefaultUserAgentValue();
+ options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;
+ }
+
+ super(credentials, options);
+
+ this.apiVersion = '2018-10-01';
+ this.acceptLanguage = 'en-US';
+ this.longRunningOperationRetryTimeout = 30;
+ this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com";
+ this.requestContentType = "application/json; charset=utf-8";
+ this.credentials = credentials;
+ this.subscriptionId = subscriptionId;
+
+ if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ this.acceptLanguage = options.acceptLanguage;
+ }
+ if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
+ }
+ }
+}
diff --git a/containerinstance/arm-containerinstance/src/models/containerGroupUsageMappers.ts b/containerinstance/arm-containerinstance/src/models/containerGroupUsageMappers.ts
new file mode 100644
index 000000000000..1105c1fd870f
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/models/containerGroupUsageMappers.ts
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ CloudError,
+ Usage,
+ UsageListResult,
+ UsageName
+} from "../models/mappers";
diff --git a/containerinstance/arm-containerinstance/src/models/containerGroupsMappers.ts b/containerinstance/arm-containerinstance/src/models/containerGroupsMappers.ts
new file mode 100644
index 000000000000..35b6291f9e8d
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/models/containerGroupsMappers.ts
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ AzureFileVolume,
+ BaseResource,
+ CloudError,
+ Container,
+ ContainerExec,
+ ContainerGroup,
+ ContainerGroupDiagnostics,
+ ContainerGroupIdentity,
+ ContainerGroupIdentityUserAssignedIdentitiesValue,
+ ContainerGroupListResult,
+ ContainerGroupNetworkProfile,
+ ContainerGroupPropertiesInstanceView,
+ ContainerHttpGet,
+ ContainerPort,
+ ContainerProbe,
+ ContainerPropertiesInstanceView,
+ ContainerState,
+ DnsConfiguration,
+ EnvironmentVariable,
+ Event,
+ GitRepoVolume,
+ GpuResource,
+ ImageRegistryCredential,
+ IpAddress,
+ LogAnalytics,
+ Port,
+ Resource,
+ ResourceLimits,
+ ResourceRequests,
+ ResourceRequirements,
+ Volume,
+ VolumeMount
+} from "../models/mappers";
diff --git a/containerinstance/arm-containerinstance/src/models/containerOperationsMappers.ts b/containerinstance/arm-containerinstance/src/models/containerOperationsMappers.ts
new file mode 100644
index 000000000000..b48e748c39c4
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/models/containerOperationsMappers.ts
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ CloudError,
+ ContainerExecRequest,
+ ContainerExecRequestTerminalSize,
+ ContainerExecResponse,
+ Logs
+} from "../models/mappers";
diff --git a/containerinstance/arm-containerinstance/src/models/index.ts b/containerinstance/arm-containerinstance/src/models/index.ts
new file mode 100644
index 000000000000..ff3b0069a7b5
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/models/index.ts
@@ -0,0 +1,1334 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js";
+import * as msRest from "@azure/ms-rest-js";
+
+export { BaseResource, CloudError };
+
+/**
+ * The port exposed on the container instance.
+ */
+export interface ContainerPort {
+ /**
+ * The protocol associated with the port. Possible values include: 'TCP', 'UDP'
+ */
+ protocol?: ContainerNetworkProtocol;
+ /**
+ * The port number exposed within the container group.
+ */
+ port: number;
+}
+
+/**
+ * The environment variable to set within the container instance.
+ */
+export interface EnvironmentVariable {
+ /**
+ * The name of the environment variable.
+ */
+ name: string;
+ /**
+ * The value of the environment variable.
+ */
+ value?: string;
+ /**
+ * The value of the secure environment variable.
+ */
+ secureValue?: string;
+}
+
+/**
+ * The container instance state.
+ */
+export interface ContainerState {
+ /**
+ * The state of the container instance.
+ */
+ state?: string;
+ /**
+ * The date-time when the container instance state started.
+ */
+ startTime?: Date;
+ /**
+ * The container instance exit codes correspond to those from the `docker run` command.
+ */
+ exitCode?: number;
+ /**
+ * The date-time when the container instance state finished.
+ */
+ finishTime?: Date;
+ /**
+ * The human-readable status of the container instance state.
+ */
+ detailStatus?: string;
+}
+
+/**
+ * A container group or container instance event.
+ */
+export interface Event {
+ /**
+ * The count of the event.
+ */
+ count?: number;
+ /**
+ * The date-time of the earliest logged event.
+ */
+ firstTimestamp?: Date;
+ /**
+ * The date-time of the latest logged event.
+ */
+ lastTimestamp?: Date;
+ /**
+ * The event name.
+ */
+ name?: string;
+ /**
+ * The event message.
+ */
+ message?: string;
+ /**
+ * The event type.
+ */
+ type?: string;
+}
+
+/**
+ * The instance view of the container instance. Only valid in response.
+ */
+export interface ContainerPropertiesInstanceView {
+ /**
+ * The number of times that the container instance has been restarted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly restartCount?: number;
+ /**
+ * Current container instance state.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly currentState?: ContainerState;
+ /**
+ * Previous container instance state.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly previousState?: ContainerState;
+ /**
+ * The events of the container instance.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly events?: Event[];
+}
+
+/**
+ * The GPU resource.
+ */
+export interface GpuResource {
+ /**
+ * The count of the GPU resource.
+ */
+ count: number;
+ /**
+ * The SKU of the GPU resource. Possible values include: 'K80', 'P100', 'V100'
+ */
+ sku: GpuSku;
+}
+
+/**
+ * The resource requests.
+ */
+export interface ResourceRequests {
+ /**
+ * The memory request in GB of this container instance.
+ */
+ memoryInGB: number;
+ /**
+ * The CPU request of this container instance.
+ */
+ cpu: number;
+ /**
+ * The GPU request of this container instance.
+ */
+ gpu?: GpuResource;
+}
+
+/**
+ * The resource limits.
+ */
+export interface ResourceLimits {
+ /**
+ * The memory limit in GB of this container instance.
+ */
+ memoryInGB?: number;
+ /**
+ * The CPU limit of this container instance.
+ */
+ cpu?: number;
+ /**
+ * The GPU limit of this container instance.
+ */
+ gpu?: GpuResource;
+}
+
+/**
+ * The resource requirements.
+ */
+export interface ResourceRequirements {
+ /**
+ * The resource requests of this container instance.
+ */
+ requests: ResourceRequests;
+ /**
+ * The resource limits of this container instance.
+ */
+ limits?: ResourceLimits;
+}
+
+/**
+ * The properties of the volume mount.
+ */
+export interface VolumeMount {
+ /**
+ * The name of the volume mount.
+ */
+ name: string;
+ /**
+ * The path within the container where the volume should be mounted. Must not contain colon (:).
+ */
+ mountPath: string;
+ /**
+ * The flag indicating whether the volume mount is read-only.
+ */
+ readOnly?: boolean;
+}
+
+/**
+ * The container execution command, for liveness or readiness probe
+ */
+export interface ContainerExec {
+ /**
+ * The commands to execute within the container.
+ */
+ command?: string[];
+}
+
+/**
+ * The container Http Get settings, for liveness or readiness probe
+ */
+export interface ContainerHttpGet {
+ /**
+ * The path to probe.
+ */
+ path?: string;
+ /**
+ * The port number to probe.
+ */
+ port: number;
+ /**
+ * The scheme. Possible values include: 'http', 'https'
+ */
+ scheme?: Scheme;
+}
+
+/**
+ * The container probe, for liveness or readiness
+ */
+export interface ContainerProbe {
+ /**
+ * The execution command to probe
+ */
+ exec?: ContainerExec;
+ /**
+ * The Http Get settings to probe
+ */
+ httpGet?: ContainerHttpGet;
+ /**
+ * The initial delay seconds.
+ */
+ initialDelaySeconds?: number;
+ /**
+ * The period seconds.
+ */
+ periodSeconds?: number;
+ /**
+ * The failure threshold.
+ */
+ failureThreshold?: number;
+ /**
+ * The success threshold.
+ */
+ successThreshold?: number;
+ /**
+ * The timeout seconds.
+ */
+ timeoutSeconds?: number;
+}
+
+/**
+ * A container instance.
+ */
+export interface Container {
+ /**
+ * The user-provided name of the container instance.
+ */
+ name: string;
+ /**
+ * The name of the image used to create the container instance.
+ */
+ image: string;
+ /**
+ * The commands to execute within the container instance in exec form.
+ */
+ command?: string[];
+ /**
+ * The exposed ports on the container instance.
+ */
+ ports?: ContainerPort[];
+ /**
+ * The environment variables to set in the container instance.
+ */
+ environmentVariables?: EnvironmentVariable[];
+ /**
+ * The instance view of the container instance. Only valid in response.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly instanceView?: ContainerPropertiesInstanceView;
+ /**
+ * The resource requirements of the container instance.
+ */
+ resources: ResourceRequirements;
+ /**
+ * The volume mounts available to the container instance.
+ */
+ volumeMounts?: VolumeMount[];
+ /**
+ * The liveness probe.
+ */
+ livenessProbe?: ContainerProbe;
+ /**
+ * The readiness probe.
+ */
+ readinessProbe?: ContainerProbe;
+}
+
+/**
+ * The properties of the Azure File volume. Azure File shares are mounted as volumes.
+ */
+export interface AzureFileVolume {
+ /**
+ * The name of the Azure File share to be mounted as a volume.
+ */
+ shareName: string;
+ /**
+ * The flag indicating whether the Azure File shared mounted as a volume is read-only.
+ */
+ readOnly?: boolean;
+ /**
+ * The name of the storage account that contains the Azure File share.
+ */
+ storageAccountName: string;
+ /**
+ * The storage account access key used to access the Azure File share.
+ */
+ storageAccountKey?: string;
+}
+
+/**
+ * Represents a volume that is populated with the contents of a git repository
+ */
+export interface GitRepoVolume {
+ /**
+ * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume
+ * directory will be the git repository. Otherwise, if specified, the volume will contain the
+ * git repository in the subdirectory with the given name.
+ */
+ directory?: string;
+ /**
+ * Repository URL
+ */
+ repository: string;
+ /**
+ * Commit hash for the specified revision.
+ */
+ revision?: string;
+}
+
+/**
+ * The properties of the volume.
+ */
+export interface Volume {
+ /**
+ * The name of the volume.
+ */
+ name: string;
+ /**
+ * The Azure File volume.
+ */
+ azureFile?: AzureFileVolume;
+ /**
+ * The empty directory volume.
+ */
+ emptyDir?: any;
+ /**
+ * The secret volume.
+ */
+ secret?: { [propertyName: string]: string };
+ /**
+ * The git repo volume.
+ */
+ gitRepo?: GitRepoVolume;
+}
+
+/**
+ * An interface representing ContainerGroupIdentityUserAssignedIdentitiesValue.
+ */
+export interface ContainerGroupIdentityUserAssignedIdentitiesValue {
+ /**
+ * The principal id of user assigned identity.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly principalId?: string;
+ /**
+ * The client id of user assigned identity.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly clientId?: string;
+}
+
+/**
+ * Identity for the container group.
+ */
+export interface ContainerGroupIdentity {
+ /**
+ * The principal id of the container group identity. This property will only be provided for a
+ * system assigned identity.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly principalId?: string;
+ /**
+ * The tenant id associated with the container group. This property will only be provided for a
+ * system assigned identity.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tenantId?: string;
+ /**
+ * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned'
+ * includes both an implicitly created identity and a set of user assigned identities. The type
+ * 'None' will remove any identities from the container group. Possible values include:
+ * 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'
+ */
+ type?: ResourceIdentityType;
+ /**
+ * The list of user identities associated with the container group. The user identity dictionary
+ * key references will be ARM resource ids in the form:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
+ */
+ userAssignedIdentities?: { [propertyName: string]: ContainerGroupIdentityUserAssignedIdentitiesValue };
+}
+
+/**
+ * Image registry credential.
+ */
+export interface ImageRegistryCredential {
+ /**
+ * The Docker image registry server without a protocol such as "http" and "https".
+ */
+ server: string;
+ /**
+ * The username for the private registry.
+ */
+ username: string;
+ /**
+ * The password for the private registry.
+ */
+ password?: string;
+}
+
+/**
+ * The port exposed on the container group.
+ */
+export interface Port {
+ /**
+ * The protocol associated with the port. Possible values include: 'TCP', 'UDP'
+ */
+ protocol?: ContainerGroupNetworkProtocol;
+ /**
+ * The port number.
+ */
+ port: number;
+}
+
+/**
+ * IP address for the container group.
+ */
+export interface IpAddress {
+ /**
+ * The list of ports exposed on the container group.
+ */
+ ports: Port[];
+ /**
+ * Specifies if the IP is exposed to the public internet or private VNET. Possible values
+ * include: 'Public', 'Private'
+ */
+ type: ContainerGroupIpAddressType;
+ /**
+ * The IP exposed to the public internet.
+ */
+ ip?: string;
+ /**
+ * The Dns name label for the IP.
+ */
+ dnsNameLabel?: string;
+ /**
+ * The FQDN for the IP.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fqdn?: string;
+}
+
+/**
+ * The instance view of the container group. Only valid in response.
+ */
+export interface ContainerGroupPropertiesInstanceView {
+ /**
+ * The events of this container group.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly events?: Event[];
+ /**
+ * The state of the container group. Only valid in response.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: string;
+}
+
+/**
+ * Container group log analytics information.
+ */
+export interface LogAnalytics {
+ /**
+ * The workspace id for log analytics
+ */
+ workspaceId: string;
+ /**
+ * The workspace key for log analytics
+ */
+ workspaceKey: string;
+ /**
+ * The log type to be used. Possible values include: 'ContainerInsights', 'ContainerInstanceLogs'
+ */
+ logType?: LogAnalyticsLogType;
+ /**
+ * Metadata for log analytics.
+ */
+ metadata?: { [propertyName: string]: string };
+}
+
+/**
+ * Container group diagnostic information.
+ */
+export interface ContainerGroupDiagnostics {
+ /**
+ * Container group log analytics information.
+ */
+ logAnalytics?: LogAnalytics;
+}
+
+/**
+ * Container group network profile information.
+ */
+export interface ContainerGroupNetworkProfile {
+ /**
+ * The identifier for a network profile.
+ */
+ id: string;
+}
+
+/**
+ * DNS configuration for the container group.
+ */
+export interface DnsConfiguration {
+ /**
+ * The DNS servers for the container group.
+ */
+ nameServers: string[];
+ /**
+ * The DNS search domains for hostname lookup in the container group.
+ */
+ searchDomains?: string;
+ /**
+ * The DNS options for the container group.
+ */
+ options?: string;
+}
+
+/**
+ * The Resource model definition.
+ */
+export interface Resource extends BaseResource {
+ /**
+ * The resource id.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * The resource name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The resource type.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly type?: string;
+ /**
+ * The resource location.
+ */
+ location?: string;
+ /**
+ * The resource tags.
+ */
+ tags?: { [propertyName: string]: string };
+}
+
+/**
+ * A container group.
+ */
+export interface ContainerGroup extends Resource {
+ /**
+ * The identity of the container group, if configured.
+ */
+ identity?: ContainerGroupIdentity;
+ /**
+ * The provisioning state of the container group. This only appears in the response.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly provisioningState?: string;
+ /**
+ * The containers within the container group.
+ */
+ containers: Container[];
+ /**
+ * The image registry credentials by which the container group is created from.
+ */
+ imageRegistryCredentials?: ImageRegistryCredential[];
+ /**
+ * Restart policy for all containers within the container group.
+ * - `Always` Always restart
+ * - `OnFailure` Restart on failure
+ * - `Never` Never restart
+ * . Possible values include: 'Always', 'OnFailure', 'Never'
+ */
+ restartPolicy?: ContainerGroupRestartPolicy;
+ /**
+ * The IP address type of the container group.
+ */
+ ipAddress?: IpAddress;
+ /**
+ * The operating system type required by the containers in the container group. Possible values
+ * include: 'Windows', 'Linux'
+ */
+ osType: OperatingSystemTypes;
+ /**
+ * The list of volumes that can be mounted by containers in this container group.
+ */
+ volumes?: Volume[];
+ /**
+ * The instance view of the container group. Only valid in response.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly instanceView?: ContainerGroupPropertiesInstanceView;
+ /**
+ * The diagnostic information for a container group.
+ */
+ diagnostics?: ContainerGroupDiagnostics;
+ /**
+ * The network profile information for a container group.
+ */
+ networkProfile?: ContainerGroupNetworkProfile;
+ /**
+ * The DNS config information for a container group.
+ */
+ dnsConfig?: DnsConfiguration;
+}
+
+/**
+ * The display information of the operation.
+ */
+export interface OperationDisplay {
+ /**
+ * The name of the provider of the operation.
+ */
+ provider?: string;
+ /**
+ * The name of the resource type of the operation.
+ */
+ resource?: string;
+ /**
+ * The friendly name of the operation.
+ */
+ operation?: string;
+ /**
+ * The description of the operation.
+ */
+ description?: string;
+}
+
+/**
+ * An operation for Azure Container Instance service.
+ */
+export interface Operation {
+ /**
+ * The name of the operation.
+ */
+ name: string;
+ /**
+ * The display information of the operation.
+ */
+ display: OperationDisplay;
+ /**
+ * The additional properties.
+ */
+ properties?: any;
+ /**
+ * The intended executor of the operation. Possible values include: 'User', 'System'
+ */
+ origin?: ContainerInstanceOperationsOrigin;
+}
+
+/**
+ * The operation list response that contains all operations for Azure Container Instance service.
+ */
+export interface OperationListResult {
+ /**
+ * The list of operations.
+ */
+ value?: Operation[];
+ /**
+ * The URI to fetch the next page of operations.
+ */
+ nextLink?: string;
+}
+
+/**
+ * The name object of the resource
+ */
+export interface UsageName {
+ /**
+ * The name of the resource
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly value?: string;
+ /**
+ * The localized name of the resource
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly localizedValue?: string;
+}
+
+/**
+ * A single usage result
+ */
+export interface Usage {
+ /**
+ * Unit of the usage result
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly unit?: string;
+ /**
+ * The current usage of the resource
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly currentValue?: number;
+ /**
+ * The maximum permitted usage of the resource.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly limit?: number;
+ /**
+ * The name object of the resource
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: UsageName;
+}
+
+/**
+ * The response containing the usage data
+ */
+export interface UsageListResult {
+ /**
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly value?: Usage[];
+}
+
+/**
+ * The logs.
+ */
+export interface Logs {
+ /**
+ * The content of the log.
+ */
+ content?: string;
+}
+
+/**
+ * The size of the terminal.
+ */
+export interface ContainerExecRequestTerminalSize {
+ /**
+ * The row size of the terminal
+ */
+ rows?: number;
+ /**
+ * The column size of the terminal
+ */
+ cols?: number;
+}
+
+/**
+ * The container exec request.
+ */
+export interface ContainerExecRequest {
+ /**
+ * The command to be executed.
+ */
+ command?: string;
+ /**
+ * The size of the terminal.
+ */
+ terminalSize?: ContainerExecRequestTerminalSize;
+}
+
+/**
+ * The information for the container exec command.
+ */
+export interface ContainerExecResponse {
+ /**
+ * The uri for the exec websocket.
+ */
+ webSocketUri?: string;
+ /**
+ * The password to start the exec command.
+ */
+ password?: string;
+}
+
+/**
+ * The cached image and OS type.
+ */
+export interface CachedImages {
+ /**
+ * The resource Id of the cached image.
+ */
+ id?: string;
+ /**
+ * The OS type of the cached image.
+ */
+ osType: string;
+ /**
+ * The cached image name.
+ */
+ image: string;
+}
+
+/**
+ * The response containing cached images.
+ */
+export interface CachedImagesListResult {
+ /**
+ * The list of cached images.
+ */
+ value?: CachedImages[];
+ /**
+ * The URI to fetch the next page of cached images.
+ */
+ nextLink?: string;
+}
+
+/**
+ * The supported capabilities.
+ */
+export interface CapabilitiesCapabilities {
+ /**
+ * The maximum allowed memory request in GB.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly maxMemoryInGB?: number;
+ /**
+ * The maximum allowed CPU request in cores.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly maxCpu?: number;
+ /**
+ * The maximum allowed GPU count.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly maxGpuCount?: number;
+}
+
+/**
+ * The regional capabilities.
+ */
+export interface Capabilities {
+ /**
+ * The resource type that this capability describes.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly resourceType?: string;
+ /**
+ * The OS type that this capability describes.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly osType?: string;
+ /**
+ * The resource location.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly location?: string;
+ /**
+ * The ip address type that this capability describes.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly ipAddressType?: string;
+ /**
+ * The GPU sku that this capability describes.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly gpu?: string;
+ /**
+ * The supported capabilities.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly capabilities?: CapabilitiesCapabilities;
+}
+
+/**
+ * The response containing list of capabilities.
+ */
+export interface CapabilitiesListResult {
+ /**
+ * The list of capabilities.
+ */
+ value?: Capabilities[];
+ /**
+ * The URI to fetch the next page of capabilities.
+ */
+ nextLink?: string;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ContainerListLogsOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * The number of lines to show from the tail of the container instance log. If not provided, all
+ * available logs are shown up to 4mb.
+ */
+ tail?: number;
+}
+
+/**
+ * An interface representing ContainerInstanceManagementClientOptions.
+ */
+export interface ContainerInstanceManagementClientOptions extends AzureServiceClientOptions {
+ baseUri?: string;
+}
+
+/**
+ * @interface
+ * The container group list response that contains the container group properties.
+ * @extends Array
+ */
+export interface ContainerGroupListResult extends Array {
+ /**
+ * The URI to fetch the next page of container groups.
+ */
+ nextLink?: string;
+}
+
+/**
+ * Defines values for ContainerNetworkProtocol.
+ * Possible values include: 'TCP', 'UDP'
+ * @readonly
+ * @enum {string}
+ */
+export type ContainerNetworkProtocol = 'TCP' | 'UDP';
+
+/**
+ * Defines values for GpuSku.
+ * Possible values include: 'K80', 'P100', 'V100'
+ * @readonly
+ * @enum {string}
+ */
+export type GpuSku = 'K80' | 'P100' | 'V100';
+
+/**
+ * Defines values for ResourceIdentityType.
+ * Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned',
+ * 'None'
+ * @readonly
+ * @enum {string}
+ */
+export type ResourceIdentityType = 'SystemAssigned' | 'UserAssigned' | 'SystemAssigned, UserAssigned' | 'None';
+
+/**
+ * Defines values for ContainerGroupRestartPolicy.
+ * Possible values include: 'Always', 'OnFailure', 'Never'
+ * @readonly
+ * @enum {string}
+ */
+export type ContainerGroupRestartPolicy = 'Always' | 'OnFailure' | 'Never';
+
+/**
+ * Defines values for ContainerGroupNetworkProtocol.
+ * Possible values include: 'TCP', 'UDP'
+ * @readonly
+ * @enum {string}
+ */
+export type ContainerGroupNetworkProtocol = 'TCP' | 'UDP';
+
+/**
+ * Defines values for ContainerGroupIpAddressType.
+ * Possible values include: 'Public', 'Private'
+ * @readonly
+ * @enum {string}
+ */
+export type ContainerGroupIpAddressType = 'Public' | 'Private';
+
+/**
+ * Defines values for OperatingSystemTypes.
+ * Possible values include: 'Windows', 'Linux'
+ * @readonly
+ * @enum {string}
+ */
+export type OperatingSystemTypes = 'Windows' | 'Linux';
+
+/**
+ * Defines values for LogAnalyticsLogType.
+ * Possible values include: 'ContainerInsights', 'ContainerInstanceLogs'
+ * @readonly
+ * @enum {string}
+ */
+export type LogAnalyticsLogType = 'ContainerInsights' | 'ContainerInstanceLogs';
+
+/**
+ * Defines values for ContainerInstanceOperationsOrigin.
+ * Possible values include: 'User', 'System'
+ * @readonly
+ * @enum {string}
+ */
+export type ContainerInstanceOperationsOrigin = 'User' | 'System';
+
+/**
+ * Defines values for Scheme.
+ * Possible values include: 'http', 'https'
+ * @readonly
+ * @enum {string}
+ */
+export type Scheme = 'http' | 'https';
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ContainerGroupsListResponse = ContainerGroupListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerGroupListResult;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroup operation.
+ */
+export type ContainerGroupsListByResourceGroupResponse = ContainerGroupListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerGroupListResult;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ContainerGroupsGetResponse = ContainerGroup & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerGroup;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ContainerGroupsCreateOrUpdateResponse = ContainerGroup & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerGroup;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type ContainerGroupsUpdateResponse = ContainerGroup & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerGroup;
+ };
+};
+
+/**
+ * Contains response data for the deleteMethod operation.
+ */
+export type ContainerGroupsDeleteMethodResponse = ContainerGroup & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerGroup;
+ };
+};
+
+/**
+ * Contains response data for the beginCreateOrUpdate operation.
+ */
+export type ContainerGroupsBeginCreateOrUpdateResponse = ContainerGroup & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerGroup;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type ContainerGroupsListNextResponse = ContainerGroupListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerGroupListResult;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroupNext operation.
+ */
+export type ContainerGroupsListByResourceGroupNextResponse = ContainerGroupListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerGroupListResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type OperationsListResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ContainerGroupUsageListResponse = UsageListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: UsageListResult;
+ };
+};
+
+/**
+ * Contains response data for the listLogs operation.
+ */
+export type ContainerListLogsResponse = Logs & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: Logs;
+ };
+};
+
+/**
+ * Contains response data for the executeCommand operation.
+ */
+export type ContainerExecuteCommandResponse = ContainerExecResponse & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerExecResponse;
+ };
+};
+
+/**
+ * Contains response data for the listCachedImages operation.
+ */
+export type ListCachedImagesResponse = CachedImagesListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: CachedImagesListResult;
+ };
+};
+
+/**
+ * Contains response data for the listCapabilities operation.
+ */
+export type ListCapabilitiesResponse = CapabilitiesListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: CapabilitiesListResult;
+ };
+};
diff --git a/containerinstance/arm-containerinstance/src/models/mappers.ts b/containerinstance/arm-containerinstance/src/models/mappers.ts
new file mode 100644
index 000000000000..12953ca13184
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/models/mappers.ts
@@ -0,0 +1,1592 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js";
+import * as msRest from "@azure/ms-rest-js";
+
+export const CloudError = CloudErrorMapper;
+export const BaseResource = BaseResourceMapper;
+
+export const ContainerPort: msRest.CompositeMapper = {
+ serializedName: "ContainerPort",
+ type: {
+ name: "Composite",
+ className: "ContainerPort",
+ modelProperties: {
+ protocol: {
+ serializedName: "protocol",
+ type: {
+ name: "String"
+ }
+ },
+ port: {
+ required: true,
+ serializedName: "port",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const EnvironmentVariable: msRest.CompositeMapper = {
+ serializedName: "EnvironmentVariable",
+ type: {
+ name: "Composite",
+ className: "EnvironmentVariable",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ value: {
+ serializedName: "value",
+ type: {
+ name: "String"
+ }
+ },
+ secureValue: {
+ serializedName: "secureValue",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerState: msRest.CompositeMapper = {
+ serializedName: "ContainerState",
+ type: {
+ name: "Composite",
+ className: "ContainerState",
+ modelProperties: {
+ state: {
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ startTime: {
+ serializedName: "startTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ exitCode: {
+ serializedName: "exitCode",
+ type: {
+ name: "Number"
+ }
+ },
+ finishTime: {
+ serializedName: "finishTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ detailStatus: {
+ serializedName: "detailStatus",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Event: msRest.CompositeMapper = {
+ serializedName: "Event",
+ type: {
+ name: "Composite",
+ className: "Event",
+ modelProperties: {
+ count: {
+ serializedName: "count",
+ type: {
+ name: "Number"
+ }
+ },
+ firstTimestamp: {
+ serializedName: "firstTimestamp",
+ type: {
+ name: "DateTime"
+ }
+ },
+ lastTimestamp: {
+ serializedName: "lastTimestamp",
+ type: {
+ name: "DateTime"
+ }
+ },
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerPropertiesInstanceView: msRest.CompositeMapper = {
+ serializedName: "ContainerProperties_instanceView",
+ type: {
+ name: "Composite",
+ className: "ContainerPropertiesInstanceView",
+ modelProperties: {
+ restartCount: {
+ readOnly: true,
+ serializedName: "restartCount",
+ type: {
+ name: "Number"
+ }
+ },
+ currentState: {
+ readOnly: true,
+ serializedName: "currentState",
+ type: {
+ name: "Composite",
+ className: "ContainerState"
+ }
+ },
+ previousState: {
+ readOnly: true,
+ serializedName: "previousState",
+ type: {
+ name: "Composite",
+ className: "ContainerState"
+ }
+ },
+ events: {
+ readOnly: true,
+ serializedName: "events",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Event"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GpuResource: msRest.CompositeMapper = {
+ serializedName: "GpuResource",
+ type: {
+ name: "Composite",
+ className: "GpuResource",
+ modelProperties: {
+ count: {
+ required: true,
+ serializedName: "count",
+ type: {
+ name: "Number"
+ }
+ },
+ sku: {
+ required: true,
+ serializedName: "sku",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceRequests: msRest.CompositeMapper = {
+ serializedName: "ResourceRequests",
+ type: {
+ name: "Composite",
+ className: "ResourceRequests",
+ modelProperties: {
+ memoryInGB: {
+ required: true,
+ serializedName: "memoryInGB",
+ type: {
+ name: "Number"
+ }
+ },
+ cpu: {
+ required: true,
+ serializedName: "cpu",
+ type: {
+ name: "Number"
+ }
+ },
+ gpu: {
+ serializedName: "gpu",
+ type: {
+ name: "Composite",
+ className: "GpuResource"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceLimits: msRest.CompositeMapper = {
+ serializedName: "ResourceLimits",
+ type: {
+ name: "Composite",
+ className: "ResourceLimits",
+ modelProperties: {
+ memoryInGB: {
+ serializedName: "memoryInGB",
+ type: {
+ name: "Number"
+ }
+ },
+ cpu: {
+ serializedName: "cpu",
+ type: {
+ name: "Number"
+ }
+ },
+ gpu: {
+ serializedName: "gpu",
+ type: {
+ name: "Composite",
+ className: "GpuResource"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceRequirements: msRest.CompositeMapper = {
+ serializedName: "ResourceRequirements",
+ type: {
+ name: "Composite",
+ className: "ResourceRequirements",
+ modelProperties: {
+ requests: {
+ required: true,
+ serializedName: "requests",
+ type: {
+ name: "Composite",
+ className: "ResourceRequests"
+ }
+ },
+ limits: {
+ serializedName: "limits",
+ type: {
+ name: "Composite",
+ className: "ResourceLimits"
+ }
+ }
+ }
+ }
+};
+
+export const VolumeMount: msRest.CompositeMapper = {
+ serializedName: "VolumeMount",
+ type: {
+ name: "Composite",
+ className: "VolumeMount",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ mountPath: {
+ required: true,
+ serializedName: "mountPath",
+ type: {
+ name: "String"
+ }
+ },
+ readOnly: {
+ serializedName: "readOnly",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerExec: msRest.CompositeMapper = {
+ serializedName: "ContainerExec",
+ type: {
+ name: "Composite",
+ className: "ContainerExec",
+ modelProperties: {
+ command: {
+ serializedName: "command",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ContainerHttpGet: msRest.CompositeMapper = {
+ serializedName: "ContainerHttpGet",
+ type: {
+ name: "Composite",
+ className: "ContainerHttpGet",
+ modelProperties: {
+ path: {
+ serializedName: "path",
+ type: {
+ name: "String"
+ }
+ },
+ port: {
+ required: true,
+ serializedName: "port",
+ type: {
+ name: "Number"
+ }
+ },
+ scheme: {
+ serializedName: "scheme",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerProbe: msRest.CompositeMapper = {
+ serializedName: "ContainerProbe",
+ type: {
+ name: "Composite",
+ className: "ContainerProbe",
+ modelProperties: {
+ exec: {
+ serializedName: "exec",
+ type: {
+ name: "Composite",
+ className: "ContainerExec"
+ }
+ },
+ httpGet: {
+ serializedName: "httpGet",
+ type: {
+ name: "Composite",
+ className: "ContainerHttpGet"
+ }
+ },
+ initialDelaySeconds: {
+ serializedName: "initialDelaySeconds",
+ type: {
+ name: "Number"
+ }
+ },
+ periodSeconds: {
+ serializedName: "periodSeconds",
+ type: {
+ name: "Number"
+ }
+ },
+ failureThreshold: {
+ serializedName: "failureThreshold",
+ type: {
+ name: "Number"
+ }
+ },
+ successThreshold: {
+ serializedName: "successThreshold",
+ type: {
+ name: "Number"
+ }
+ },
+ timeoutSeconds: {
+ serializedName: "timeoutSeconds",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const Container: msRest.CompositeMapper = {
+ serializedName: "Container",
+ type: {
+ name: "Composite",
+ className: "Container",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ image: {
+ required: true,
+ serializedName: "properties.image",
+ type: {
+ name: "String"
+ }
+ },
+ command: {
+ serializedName: "properties.command",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ ports: {
+ serializedName: "properties.ports",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ContainerPort"
+ }
+ }
+ }
+ },
+ environmentVariables: {
+ serializedName: "properties.environmentVariables",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "EnvironmentVariable"
+ }
+ }
+ }
+ },
+ instanceView: {
+ readOnly: true,
+ serializedName: "properties.instanceView",
+ type: {
+ name: "Composite",
+ className: "ContainerPropertiesInstanceView"
+ }
+ },
+ resources: {
+ required: true,
+ serializedName: "properties.resources",
+ type: {
+ name: "Composite",
+ className: "ResourceRequirements"
+ }
+ },
+ volumeMounts: {
+ serializedName: "properties.volumeMounts",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "VolumeMount"
+ }
+ }
+ }
+ },
+ livenessProbe: {
+ serializedName: "properties.livenessProbe",
+ type: {
+ name: "Composite",
+ className: "ContainerProbe"
+ }
+ },
+ readinessProbe: {
+ serializedName: "properties.readinessProbe",
+ type: {
+ name: "Composite",
+ className: "ContainerProbe"
+ }
+ }
+ }
+ }
+};
+
+export const AzureFileVolume: msRest.CompositeMapper = {
+ serializedName: "AzureFileVolume",
+ type: {
+ name: "Composite",
+ className: "AzureFileVolume",
+ modelProperties: {
+ shareName: {
+ required: true,
+ serializedName: "shareName",
+ type: {
+ name: "String"
+ }
+ },
+ readOnly: {
+ serializedName: "readOnly",
+ type: {
+ name: "Boolean"
+ }
+ },
+ storageAccountName: {
+ required: true,
+ serializedName: "storageAccountName",
+ type: {
+ name: "String"
+ }
+ },
+ storageAccountKey: {
+ serializedName: "storageAccountKey",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const GitRepoVolume: msRest.CompositeMapper = {
+ serializedName: "GitRepoVolume",
+ type: {
+ name: "Composite",
+ className: "GitRepoVolume",
+ modelProperties: {
+ directory: {
+ serializedName: "directory",
+ type: {
+ name: "String"
+ }
+ },
+ repository: {
+ required: true,
+ serializedName: "repository",
+ type: {
+ name: "String"
+ }
+ },
+ revision: {
+ serializedName: "revision",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Volume: msRest.CompositeMapper = {
+ serializedName: "Volume",
+ type: {
+ name: "Composite",
+ className: "Volume",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ azureFile: {
+ serializedName: "azureFile",
+ type: {
+ name: "Composite",
+ className: "AzureFileVolume"
+ }
+ },
+ emptyDir: {
+ serializedName: "emptyDir",
+ type: {
+ name: "Object"
+ }
+ },
+ secret: {
+ serializedName: "secret",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ gitRepo: {
+ serializedName: "gitRepo",
+ type: {
+ name: "Composite",
+ className: "GitRepoVolume"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerGroupIdentityUserAssignedIdentitiesValue: msRest.CompositeMapper = {
+ serializedName: "ContainerGroupIdentity_userAssignedIdentitiesValue",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupIdentityUserAssignedIdentitiesValue",
+ modelProperties: {
+ principalId: {
+ readOnly: true,
+ serializedName: "principalId",
+ type: {
+ name: "String"
+ }
+ },
+ clientId: {
+ readOnly: true,
+ serializedName: "clientId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerGroupIdentity: msRest.CompositeMapper = {
+ serializedName: "ContainerGroupIdentity",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupIdentity",
+ modelProperties: {
+ principalId: {
+ readOnly: true,
+ serializedName: "principalId",
+ type: {
+ name: "String"
+ }
+ },
+ tenantId: {
+ readOnly: true,
+ serializedName: "tenantId",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "Enum",
+ allowedValues: [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ]
+ }
+ },
+ userAssignedIdentities: {
+ serializedName: "userAssignedIdentities",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "ContainerGroupIdentityUserAssignedIdentitiesValue"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ImageRegistryCredential: msRest.CompositeMapper = {
+ serializedName: "ImageRegistryCredential",
+ type: {
+ name: "Composite",
+ className: "ImageRegistryCredential",
+ modelProperties: {
+ server: {
+ required: true,
+ serializedName: "server",
+ type: {
+ name: "String"
+ }
+ },
+ username: {
+ required: true,
+ serializedName: "username",
+ type: {
+ name: "String"
+ }
+ },
+ password: {
+ serializedName: "password",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Port: msRest.CompositeMapper = {
+ serializedName: "Port",
+ type: {
+ name: "Composite",
+ className: "Port",
+ modelProperties: {
+ protocol: {
+ serializedName: "protocol",
+ type: {
+ name: "String"
+ }
+ },
+ port: {
+ required: true,
+ serializedName: "port",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const IpAddress: msRest.CompositeMapper = {
+ serializedName: "IpAddress",
+ type: {
+ name: "Composite",
+ className: "IpAddress",
+ modelProperties: {
+ ports: {
+ required: true,
+ serializedName: "ports",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Port"
+ }
+ }
+ }
+ },
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ ip: {
+ serializedName: "ip",
+ type: {
+ name: "String"
+ }
+ },
+ dnsNameLabel: {
+ serializedName: "dnsNameLabel",
+ type: {
+ name: "String"
+ }
+ },
+ fqdn: {
+ readOnly: true,
+ serializedName: "fqdn",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerGroupPropertiesInstanceView: msRest.CompositeMapper = {
+ serializedName: "ContainerGroup_properties_instanceView",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupPropertiesInstanceView",
+ modelProperties: {
+ events: {
+ readOnly: true,
+ serializedName: "events",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Event"
+ }
+ }
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const LogAnalytics: msRest.CompositeMapper = {
+ serializedName: "LogAnalytics",
+ type: {
+ name: "Composite",
+ className: "LogAnalytics",
+ modelProperties: {
+ workspaceId: {
+ required: true,
+ serializedName: "workspaceId",
+ type: {
+ name: "String"
+ }
+ },
+ workspaceKey: {
+ required: true,
+ serializedName: "workspaceKey",
+ type: {
+ name: "String"
+ }
+ },
+ logType: {
+ serializedName: "logType",
+ type: {
+ name: "String"
+ }
+ },
+ metadata: {
+ serializedName: "metadata",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ContainerGroupDiagnostics: msRest.CompositeMapper = {
+ serializedName: "ContainerGroupDiagnostics",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupDiagnostics",
+ modelProperties: {
+ logAnalytics: {
+ serializedName: "logAnalytics",
+ type: {
+ name: "Composite",
+ className: "LogAnalytics"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerGroupNetworkProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerGroupNetworkProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupNetworkProfile",
+ modelProperties: {
+ id: {
+ required: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DnsConfiguration: msRest.CompositeMapper = {
+ serializedName: "DnsConfiguration",
+ type: {
+ name: "Composite",
+ className: "DnsConfiguration",
+ modelProperties: {
+ nameServers: {
+ required: true,
+ serializedName: "nameServers",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ searchDomains: {
+ serializedName: "searchDomains",
+ type: {
+ name: "String"
+ }
+ },
+ options: {
+ serializedName: "options",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Resource: msRest.CompositeMapper = {
+ serializedName: "Resource",
+ type: {
+ name: "Composite",
+ className: "Resource",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ location: {
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ContainerGroup: msRest.CompositeMapper = {
+ serializedName: "ContainerGroup",
+ type: {
+ name: "Composite",
+ className: "ContainerGroup",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ identity: {
+ serializedName: "identity",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupIdentity"
+ }
+ },
+ provisioningState: {
+ readOnly: true,
+ serializedName: "properties.provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ containers: {
+ required: true,
+ serializedName: "properties.containers",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Container"
+ }
+ }
+ }
+ },
+ imageRegistryCredentials: {
+ serializedName: "properties.imageRegistryCredentials",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ImageRegistryCredential"
+ }
+ }
+ }
+ },
+ restartPolicy: {
+ serializedName: "properties.restartPolicy",
+ type: {
+ name: "String"
+ }
+ },
+ ipAddress: {
+ serializedName: "properties.ipAddress",
+ type: {
+ name: "Composite",
+ className: "IpAddress"
+ }
+ },
+ osType: {
+ required: true,
+ serializedName: "properties.osType",
+ type: {
+ name: "String"
+ }
+ },
+ volumes: {
+ serializedName: "properties.volumes",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Volume"
+ }
+ }
+ }
+ },
+ instanceView: {
+ readOnly: true,
+ serializedName: "properties.instanceView",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupPropertiesInstanceView"
+ }
+ },
+ diagnostics: {
+ serializedName: "properties.diagnostics",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupDiagnostics"
+ }
+ },
+ networkProfile: {
+ serializedName: "properties.networkProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupNetworkProfile"
+ }
+ },
+ dnsConfig: {
+ serializedName: "properties.dnsConfig",
+ type: {
+ name: "Composite",
+ className: "DnsConfiguration"
+ }
+ }
+ }
+ }
+};
+
+export const OperationDisplay: msRest.CompositeMapper = {
+ serializedName: "Operation_display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay",
+ modelProperties: {
+ provider: {
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "description",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Operation: msRest.CompositeMapper = {
+ serializedName: "Operation",
+ type: {
+ name: "Composite",
+ className: "Operation",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ display: {
+ required: true,
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay"
+ }
+ },
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Object"
+ }
+ },
+ origin: {
+ serializedName: "origin",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const OperationListResult: msRest.CompositeMapper = {
+ serializedName: "OperationListResult",
+ type: {
+ name: "Composite",
+ className: "OperationListResult",
+ modelProperties: {
+ value: {
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Operation"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const UsageName: msRest.CompositeMapper = {
+ serializedName: "Usage_name",
+ type: {
+ name: "Composite",
+ className: "UsageName",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "value",
+ type: {
+ name: "String"
+ }
+ },
+ localizedValue: {
+ readOnly: true,
+ serializedName: "localizedValue",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Usage: msRest.CompositeMapper = {
+ serializedName: "Usage",
+ type: {
+ name: "Composite",
+ className: "Usage",
+ modelProperties: {
+ unit: {
+ readOnly: true,
+ serializedName: "unit",
+ type: {
+ name: "String"
+ }
+ },
+ currentValue: {
+ readOnly: true,
+ serializedName: "currentValue",
+ type: {
+ name: "Number"
+ }
+ },
+ limit: {
+ readOnly: true,
+ serializedName: "limit",
+ type: {
+ name: "Number"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "Composite",
+ className: "UsageName"
+ }
+ }
+ }
+ }
+};
+
+export const UsageListResult: msRest.CompositeMapper = {
+ serializedName: "UsageListResult",
+ type: {
+ name: "Composite",
+ className: "UsageListResult",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Usage"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const Logs: msRest.CompositeMapper = {
+ serializedName: "Logs",
+ type: {
+ name: "Composite",
+ className: "Logs",
+ modelProperties: {
+ content: {
+ serializedName: "content",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerExecRequestTerminalSize: msRest.CompositeMapper = {
+ serializedName: "ContainerExecRequest_terminalSize",
+ type: {
+ name: "Composite",
+ className: "ContainerExecRequestTerminalSize",
+ modelProperties: {
+ rows: {
+ serializedName: "rows",
+ type: {
+ name: "Number"
+ }
+ },
+ cols: {
+ serializedName: "cols",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerExecRequest: msRest.CompositeMapper = {
+ serializedName: "ContainerExecRequest",
+ type: {
+ name: "Composite",
+ className: "ContainerExecRequest",
+ modelProperties: {
+ command: {
+ serializedName: "command",
+ type: {
+ name: "String"
+ }
+ },
+ terminalSize: {
+ serializedName: "terminalSize",
+ type: {
+ name: "Composite",
+ className: "ContainerExecRequestTerminalSize"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerExecResponse: msRest.CompositeMapper = {
+ serializedName: "ContainerExecResponse",
+ type: {
+ name: "Composite",
+ className: "ContainerExecResponse",
+ modelProperties: {
+ webSocketUri: {
+ serializedName: "webSocketUri",
+ type: {
+ name: "String"
+ }
+ },
+ password: {
+ serializedName: "password",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const CachedImages: msRest.CompositeMapper = {
+ serializedName: "cachedImages",
+ type: {
+ name: "Composite",
+ className: "CachedImages",
+ modelProperties: {
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ osType: {
+ required: true,
+ serializedName: "osType",
+ type: {
+ name: "String"
+ }
+ },
+ image: {
+ required: true,
+ serializedName: "image",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const CachedImagesListResult: msRest.CompositeMapper = {
+ serializedName: "CachedImagesListResult",
+ type: {
+ name: "Composite",
+ className: "CachedImagesListResult",
+ modelProperties: {
+ value: {
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "CachedImages"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const CapabilitiesCapabilities: msRest.CompositeMapper = {
+ serializedName: "Capabilities_capabilities",
+ type: {
+ name: "Composite",
+ className: "CapabilitiesCapabilities",
+ modelProperties: {
+ maxMemoryInGB: {
+ readOnly: true,
+ serializedName: "maxMemoryInGB",
+ type: {
+ name: "Number"
+ }
+ },
+ maxCpu: {
+ readOnly: true,
+ serializedName: "maxCpu",
+ type: {
+ name: "Number"
+ }
+ },
+ maxGpuCount: {
+ readOnly: true,
+ serializedName: "maxGpuCount",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const Capabilities: msRest.CompositeMapper = {
+ serializedName: "Capabilities",
+ type: {
+ name: "Composite",
+ className: "Capabilities",
+ modelProperties: {
+ resourceType: {
+ readOnly: true,
+ serializedName: "resourceType",
+ type: {
+ name: "String"
+ }
+ },
+ osType: {
+ readOnly: true,
+ serializedName: "osType",
+ type: {
+ name: "String"
+ }
+ },
+ location: {
+ readOnly: true,
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ ipAddressType: {
+ readOnly: true,
+ serializedName: "ipAddressType",
+ type: {
+ name: "String"
+ }
+ },
+ gpu: {
+ readOnly: true,
+ serializedName: "gpu",
+ type: {
+ name: "String"
+ }
+ },
+ capabilities: {
+ readOnly: true,
+ serializedName: "capabilities",
+ type: {
+ name: "Composite",
+ className: "CapabilitiesCapabilities"
+ }
+ }
+ }
+ }
+};
+
+export const CapabilitiesListResult: msRest.CompositeMapper = {
+ serializedName: "CapabilitiesListResult",
+ type: {
+ name: "Composite",
+ className: "CapabilitiesListResult",
+ modelProperties: {
+ value: {
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Capabilities"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerGroupListResult: msRest.CompositeMapper = {
+ serializedName: "ContainerGroupListResult",
+ type: {
+ name: "Composite",
+ className: "ContainerGroupListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ContainerGroup"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
diff --git a/containerinstance/arm-containerinstance/src/models/operationsMappers.ts b/containerinstance/arm-containerinstance/src/models/operationsMappers.ts
new file mode 100644
index 000000000000..689688180be7
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/models/operationsMappers.ts
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ CloudError,
+ Operation,
+ OperationDisplay,
+ OperationListResult
+} from "../models/mappers";
diff --git a/containerinstance/arm-containerinstance/src/models/parameters.ts b/containerinstance/arm-containerinstance/src/models/parameters.ts
new file mode 100644
index 000000000000..4477e73aead2
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/models/parameters.ts
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+
+export const acceptLanguage: msRest.OperationParameter = {
+ parameterPath: "acceptLanguage",
+ mapper: {
+ serializedName: "accept-language",
+ defaultValue: 'en-US',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ serializedName: "api-version",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const containerGroupName: msRest.OperationURLParameter = {
+ parameterPath: "containerGroupName",
+ mapper: {
+ required: true,
+ serializedName: "containerGroupName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const containerName: msRest.OperationURLParameter = {
+ parameterPath: "containerName",
+ mapper: {
+ required: true,
+ serializedName: "containerName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const location: msRest.OperationURLParameter = {
+ parameterPath: "location",
+ mapper: {
+ required: true,
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const nextPageLink: msRest.OperationURLParameter = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const resourceGroupName: msRest.OperationURLParameter = {
+ parameterPath: "resourceGroupName",
+ mapper: {
+ required: true,
+ serializedName: "resourceGroupName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const subnetName: msRest.OperationURLParameter = {
+ parameterPath: "subnetName",
+ mapper: {
+ required: true,
+ serializedName: "subnetName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const subscriptionId: msRest.OperationURLParameter = {
+ parameterPath: "subscriptionId",
+ mapper: {
+ required: true,
+ serializedName: "subscriptionId",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const tail: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "tail"
+ ],
+ mapper: {
+ serializedName: "tail",
+ type: {
+ name: "Number"
+ }
+ }
+};
+export const virtualNetworkName: msRest.OperationURLParameter = {
+ parameterPath: "virtualNetworkName",
+ mapper: {
+ required: true,
+ serializedName: "virtualNetworkName",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/containerinstance/arm-containerinstance/src/models/serviceAssociationLinkMappers.ts b/containerinstance/arm-containerinstance/src/models/serviceAssociationLinkMappers.ts
new file mode 100644
index 000000000000..67c5a45e0449
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/models/serviceAssociationLinkMappers.ts
@@ -0,0 +1,11 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ CloudError
+} from "../models/mappers";
diff --git a/containerinstance/arm-containerinstance/src/operations/containerGroupUsage.ts b/containerinstance/arm-containerinstance/src/operations/containerGroupUsage.ts
new file mode 100644
index 000000000000..7a774667bb9b
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/operations/containerGroupUsage.ts
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/containerGroupUsageMappers";
+import * as Parameters from "../models/parameters";
+import { ContainerInstanceManagementClientContext } from "../containerInstanceManagementClientContext";
+
+/** Class representing a ContainerGroupUsage. */
+export class ContainerGroupUsage {
+ private readonly client: ContainerInstanceManagementClientContext;
+
+ /**
+ * Create a ContainerGroupUsage.
+ * @param {ContainerInstanceManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: ContainerInstanceManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Get the usage for a subscription
+ * @param location The identifier for the physical azure location.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(location: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param location The identifier for the physical azure location.
+ * @param callback The callback
+ */
+ list(location: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param location The identifier for the physical azure location.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ location,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.location
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.UsageListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/containerinstance/arm-containerinstance/src/operations/containerGroups.ts b/containerinstance/arm-containerinstance/src/operations/containerGroups.ts
new file mode 100644
index 000000000000..5ff24cf25b25
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/operations/containerGroups.ts
@@ -0,0 +1,668 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as msRestAzure from "@azure/ms-rest-azure-js";
+import * as Models from "../models";
+import * as Mappers from "../models/containerGroupsMappers";
+import * as Parameters from "../models/parameters";
+import { ContainerInstanceManagementClientContext } from "../containerInstanceManagementClientContext";
+
+/** Class representing a ContainerGroups. */
+export class ContainerGroups {
+ private readonly client: ContainerInstanceManagementClientContext;
+
+ /**
+ * Create a ContainerGroups.
+ * @param {ContainerInstanceManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: ContainerInstanceManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Get a list of container groups in the specified subscription. This operation returns properties
+ * of each container group including containers, image registry credentials, restart policy, IP
+ * address type, OS type, state, and volumes.
+ * @summary Get a list of container groups in the specified subscription.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Get a list of container groups in a specified subscription and resource group. This operation
+ * returns properties of each container group including containers, image registry credentials,
+ * restart policy, IP address type, OS type, state, and volumes.
+ * @summary Get a list of container groups in the specified subscription and resource group.
+ * @param resourceGroupName The name of the resource group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ options
+ },
+ listByResourceGroupOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets the properties of the specified container group in the specified subscription and resource
+ * group. The operation returns the properties of each container group including containers, image
+ * registry credentials, restart policy, IP address type, OS type, state, and volumes.
+ * @summary Get the properties of the specified container group.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, containerGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, containerGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ containerGroupName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Create or update container groups with specified configurations.
+ * @summary Create or update container groups.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param containerGroup The properties of the container group to be created or updated.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(resourceGroupName: string, containerGroupName: string, containerGroup: Models.ContainerGroup, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginCreateOrUpdate(resourceGroupName,containerGroupName,containerGroup,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * Updates container group tags with specified values.
+ * @summary Update container groups.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param resource The container group resource with just the tags to be updated.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(resourceGroupName: string, containerGroupName: string, resource: Models.Resource, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param resource The container group resource with just the tags to be updated.
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, containerGroupName: string, resource: Models.Resource, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param resource The container group resource with just the tags to be updated.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, containerGroupName: string, resource: Models.Resource, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ update(resourceGroupName: string, containerGroupName: string, resource: Models.Resource, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ containerGroupName,
+ resource,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Delete the specified container group in the specified subscription and resource group. The
+ * operation does not delete other resources provided by the user, such as volumes.
+ * @summary Delete the specified container group.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, containerGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, containerGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ containerGroupName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Restarts all containers in a container group in place. If container image has updates, new image
+ * will be downloaded.
+ * @summary Restarts all containers in a container group.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ restart(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginRestart(resourceGroupName,containerGroupName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * Stops all containers in a container group. Compute resources will be deallocated and billing
+ * will stop.
+ * @summary Stops all containers in a container group.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ stop(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param callback The callback
+ */
+ stop(resourceGroupName: string, containerGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ stop(resourceGroupName: string, containerGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ stop(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ containerGroupName,
+ options
+ },
+ stopOperationSpec,
+ callback);
+ }
+
+ /**
+ * Starts all containers in a container group.
+ * @summary Starts all containers in a container group.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ start(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginStart(resourceGroupName,containerGroupName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * Create or update container groups with specified configurations.
+ * @summary Create or update container groups.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param containerGroup The properties of the container group to be created or updated.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginCreateOrUpdate(resourceGroupName: string, containerGroupName: string, containerGroup: Models.ContainerGroup, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ containerGroupName,
+ containerGroup,
+ options
+ },
+ beginCreateOrUpdateOperationSpec,
+ options);
+ }
+
+ /**
+ * Restarts all containers in a container group in place. If container image has updates, new image
+ * will be downloaded.
+ * @summary Restarts all containers in a container group.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginRestart(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ containerGroupName,
+ options
+ },
+ beginRestartOperationSpec,
+ options);
+ }
+
+ /**
+ * Starts all containers in a container group.
+ * @summary Starts all containers in a container group.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginStart(resourceGroupName: string, containerGroupName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ containerGroupName,
+ options
+ },
+ beginStartOperationSpec,
+ options);
+ }
+
+ /**
+ * Get a list of container groups in the specified subscription. This operation returns properties
+ * of each container group including containers, image registry credentials, restart policy, IP
+ * address type, OS type, state, and volumes.
+ * @summary Get a list of container groups in the specified subscription.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Get a list of container groups in a specified subscription and resource group. This operation
+ * returns properties of each container group including containers, image registry credentials,
+ * restart policy, IP address type, OS type, state, and volumes.
+ * @summary Get a list of container groups in the specified subscription and resource group.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listByResourceGroupNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerGroupListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerGroupListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.containerGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerGroup
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.containerGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "resource",
+ mapper: {
+ ...Mappers.Resource,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerGroup
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.containerGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerGroup
+ },
+ 204: {},
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const stopOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/stop",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.containerGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 204: {},
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.containerGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "containerGroup",
+ mapper: {
+ ...Mappers.ContainerGroup,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerGroup
+ },
+ 201: {
+ bodyMapper: Mappers.ContainerGroup
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const beginRestartOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/restart",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.containerGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 204: {},
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const beginStartOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/start",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.containerGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 204: {},
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerGroupListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerGroupListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/containerinstance/arm-containerinstance/src/operations/containerOperations.ts b/containerinstance/arm-containerinstance/src/operations/containerOperations.ts
new file mode 100644
index 000000000000..6f07a7a5adca
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/operations/containerOperations.ts
@@ -0,0 +1,170 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/containerOperationsMappers";
+import * as Parameters from "../models/parameters";
+import { ContainerInstanceManagementClientContext } from "../containerInstanceManagementClientContext";
+
+/** Class representing a ContainerOperations. */
+export class ContainerOperations {
+ private readonly client: ContainerInstanceManagementClientContext;
+
+ /**
+ * Create a ContainerOperations.
+ * @param {ContainerInstanceManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: ContainerInstanceManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Get the logs for a specified container instance in a specified resource group and container
+ * group.
+ * @summary Get the logs for a specified container instance.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param containerName The name of the container instance.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listLogs(resourceGroupName: string, containerGroupName: string, containerName: string, options?: Models.ContainerListLogsOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param containerName The name of the container instance.
+ * @param callback The callback
+ */
+ listLogs(resourceGroupName: string, containerGroupName: string, containerName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param containerName The name of the container instance.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listLogs(resourceGroupName: string, containerGroupName: string, containerName: string, options: Models.ContainerListLogsOptionalParams, callback: msRest.ServiceCallback): void;
+ listLogs(resourceGroupName: string, containerGroupName: string, containerName: string, options?: Models.ContainerListLogsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ containerGroupName,
+ containerName,
+ options
+ },
+ listLogsOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Executes a command for a specific container instance in a specified resource group and container
+ * group.
+ * @summary Executes a command in a specific container instance.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param containerName The name of the container instance.
+ * @param containerExecRequest The request for the exec command.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ executeCommand(resourceGroupName: string, containerGroupName: string, containerName: string, containerExecRequest: Models.ContainerExecRequest, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param containerName The name of the container instance.
+ * @param containerExecRequest The request for the exec command.
+ * @param callback The callback
+ */
+ executeCommand(resourceGroupName: string, containerGroupName: string, containerName: string, containerExecRequest: Models.ContainerExecRequest, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerGroupName The name of the container group.
+ * @param containerName The name of the container instance.
+ * @param containerExecRequest The request for the exec command.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ executeCommand(resourceGroupName: string, containerGroupName: string, containerName: string, containerExecRequest: Models.ContainerExecRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ executeCommand(resourceGroupName: string, containerGroupName: string, containerName: string, containerExecRequest: Models.ContainerExecRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ containerGroupName,
+ containerName,
+ containerExecRequest,
+ options
+ },
+ executeCommandOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listLogsOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.containerGroupName,
+ Parameters.containerName
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.tail
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Logs
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const executeCommandOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.containerGroupName,
+ Parameters.containerName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "containerExecRequest",
+ mapper: {
+ ...Mappers.ContainerExecRequest,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerExecResponse
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/containerinstance/arm-containerinstance/src/operations/index.ts b/containerinstance/arm-containerinstance/src/operations/index.ts
new file mode 100644
index 000000000000..968e329ffd18
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/operations/index.ts
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export * from "./containerGroups";
+export * from "./operations";
+export * from "./containerGroupUsage";
+export * from "./containerOperations";
+export * from "./serviceAssociationLink";
diff --git a/containerinstance/arm-containerinstance/src/operations/operations.ts b/containerinstance/arm-containerinstance/src/operations/operations.ts
new file mode 100644
index 000000000000..bc4f9cbed727
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/operations/operations.ts
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/operationsMappers";
+import * as Parameters from "../models/parameters";
+import { ContainerInstanceManagementClientContext } from "../containerInstanceManagementClientContext";
+
+/** Class representing a Operations. */
+export class Operations {
+ private readonly client: ContainerInstanceManagementClientContext;
+
+ /**
+ * Create a Operations.
+ * @param {ContainerInstanceManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: ContainerInstanceManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * List the operations for Azure Container Instance service.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.ContainerInstance/operations",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/containerinstance/arm-containerinstance/src/operations/serviceAssociationLink.ts b/containerinstance/arm-containerinstance/src/operations/serviceAssociationLink.ts
new file mode 100644
index 000000000000..93968c8bf441
--- /dev/null
+++ b/containerinstance/arm-containerinstance/src/operations/serviceAssociationLink.ts
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Mappers from "../models/serviceAssociationLinkMappers";
+import * as Parameters from "../models/parameters";
+import { ContainerInstanceManagementClientContext } from "../containerInstanceManagementClientContext";
+
+/** Class representing a ServiceAssociationLink. */
+export class ServiceAssociationLink {
+ private readonly client: ContainerInstanceManagementClientContext;
+
+ /**
+ * Create a ServiceAssociationLink.
+ * @param {ContainerInstanceManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: ContainerInstanceManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Delete the container instance service association link for the subnet. This operation unblocks
+ * user from deleting subnet.
+ * @summary Delete the container instance service association link for the subnet.
+ * @param resourceGroupName The name of the resource group.
+ * @param virtualNetworkName The name of the virtual network.
+ * @param subnetName The name of the subnet.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param virtualNetworkName The name of the virtual network.
+ * @param subnetName The name of the subnet.
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param virtualNetworkName The name of the virtual network.
+ * @param subnetName The name of the subnet.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ virtualNetworkName,
+ subnetName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.virtualNetworkName,
+ Parameters.subnetName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/containerinstance/arm-containerinstance/tsconfig.json b/containerinstance/arm-containerinstance/tsconfig.json
new file mode 100644
index 000000000000..87bbf5b5fa49
--- /dev/null
+++ b/containerinstance/arm-containerinstance/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "module": "es6",
+ "moduleResolution": "node",
+ "strict": true,
+ "target": "es5",
+ "sourceMap": true,
+ "declarationMap": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "forceConsistentCasingInFileNames": true,
+ "lib": ["es6"],
+ "declaration": true,
+ "outDir": "./esm",
+ "importHelpers": true
+ },
+ "include": ["./src/**/*.ts"],
+ "exclude": ["node_modules"]
+}