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"] +}