diff --git a/sdk/vmware/arm-vmware/LICENSE.txt b/sdk/vmware/arm-vmware/LICENSE.txt new file mode 100644 index 000000000000..ea8fb1516028 --- /dev/null +++ b/sdk/vmware/arm-vmware/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2020 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/sdk/vmware/arm-vmware/README.md b/sdk/vmware/arm-vmware/README.md new file mode 100644 index 000000000000..0e88439dad74 --- /dev/null +++ b/sdk/vmware/arm-vmware/README.md @@ -0,0 +1,99 @@ +## Azure AzureVMwareSolutionAPI SDK for JavaScript + +This package contains an isomorphic SDK for AzureVMwareSolutionAPI. + +### Currently supported environments + +- Node.js version 6.x.x or higher +- Browser JavaScript + +### How to Install + +```bash +npm install @azure/arm-vmware +``` + +### How to use + +#### nodejs - Authentication, client creation and list operations as an example written in TypeScript. + +##### Install @azure/ms-rest-nodeauth + +- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`. +```bash +npm install @azure/ms-rest-nodeauth@"^3.0.0" +``` + +##### 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 { AzureVMwareSolutionAPI, AzureVMwareSolutionAPIModels, AzureVMwareSolutionAPIMappers } from "@azure/arm-vmware"; +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +msRestNodeAuth.interactiveLogin().then((creds) => { + const client = new AzureVMwareSolutionAPI(creds, subscriptionId); + client.operations.list().then((result) => { + console.log("The result is:"); + console.log(result); + }); +}).catch((err) => { + console.error(err); +}); +``` + +#### browser - Authentication, client creation and list operations 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-vmware sample + + + + + + + + +``` + +## Related projects + +- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/vmware/arm-vmware/README.png) diff --git a/sdk/vmware/arm-vmware/package.json b/sdk/vmware/arm-vmware/package.json new file mode 100644 index 000000000000..3a10d8da4e35 --- /dev/null +++ b/sdk/vmware/arm-vmware/package.json @@ -0,0 +1,58 @@ +{ + "name": "@azure/arm-vmware", + "author": "Microsoft Corporation", + "description": "AzureVMwareSolutionAPI Library with typescript type definitions for node.js and browser.", + "version": "0.3.0", + "dependencies": { + "@azure/ms-rest-azure-js": "^2.0.1", + "@azure/ms-rest-js": "^2.0.4", + "tslib": "^1.10.0" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "license": "MIT", + "main": "./dist/arm-vmware.js", + "module": "./esm/azureVMwareSolutionAPI.js", + "types": "./esm/azureVMwareSolutionAPI.d.ts", + "devDependencies": { + "typescript": "^3.5.3", + "rollup": "^1.18.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "uglify-js": "^3.6.0" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/vmware/arm-vmware", + "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-vmware.js.map'\" -o ./dist/arm-vmware.min.js ./dist/arm-vmware.js", + "prepack": "npm install && npm run build" + }, + "sideEffects": false, + "autoPublish": true +} diff --git a/sdk/vmware/arm-vmware/rollup.config.js b/sdk/vmware/arm-vmware/rollup.config.js new file mode 100644 index 000000000000..427a27954019 --- /dev/null +++ b/sdk/vmware/arm-vmware/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/azureVMwareSolutionAPI.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], + output: { + file: "./dist/arm-vmware.js", + format: "umd", + name: "Azure.ArmVmware", + 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({ mainFields: ['module', 'main'] }), + sourcemaps() + ] +}; + +export default config; diff --git a/sdk/vmware/arm-vmware/src/azureVMwareSolutionAPI.ts b/sdk/vmware/arm-vmware/src/azureVMwareSolutionAPI.ts new file mode 100644 index 000000000000..04d5d74e42d3 --- /dev/null +++ b/sdk/vmware/arm-vmware/src/azureVMwareSolutionAPI.ts @@ -0,0 +1,99 @@ +/* + * 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 { AzureVMwareSolutionAPIContext } from "./azureVMwareSolutionAPIContext"; + + +class AzureVMwareSolutionAPI extends AzureVMwareSolutionAPIContext { + // Operation groups + operations: operations.Operations; + privateClouds: operations.PrivateClouds; + clusters: operations.Clusters; + + /** + * Initializes a new instance of the AzureVMwareSolutionAPI class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param subscriptionId Unique identifier for the Azure subscription + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.AzureVMwareSolutionAPIOptions) { + super(credentials, subscriptionId, options); + this.operations = new operations.Operations(this); + this.privateClouds = new operations.PrivateClouds(this); + this.clusters = new operations.Clusters(this); + } + + /** + * Return quota for subscription by region + * @param location Azure region + * @param [options] The optional parameters + * @returns Promise + */ + checkQuotaAvailability(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location Azure region + * @param callback The callback + */ + checkQuotaAvailability(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location Azure region + * @param options The optional parameters + * @param callback The callback + */ + checkQuotaAvailability(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + checkQuotaAvailability(location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + location, + options + }, + checkQuotaAvailabilityOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const checkQuotaAvailabilityOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/providers/Microsoft.AVS/locations/{location}/checkQuotaAvailability", + urlParameters: [ + Parameters.subscriptionId, + Parameters.location + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Quota + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +export { + AzureVMwareSolutionAPI, + AzureVMwareSolutionAPIContext, + Models as AzureVMwareSolutionAPIModels, + Mappers as AzureVMwareSolutionAPIMappers +}; +export * from "./operations"; diff --git a/sdk/vmware/arm-vmware/src/azureVMwareSolutionAPIContext.ts b/sdk/vmware/arm-vmware/src/azureVMwareSolutionAPIContext.ts new file mode 100644 index 000000000000..b984e6cc23eb --- /dev/null +++ b/sdk/vmware/arm-vmware/src/azureVMwareSolutionAPIContext.ts @@ -0,0 +1,62 @@ +/* + * 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-vmware"; +const packageVersion = "0.3.0"; + +export class AzureVMwareSolutionAPIContext extends msRestAzure.AzureServiceClient { + credentials: msRest.ServiceClientCredentials; + subscriptionId: string; + apiVersion?: string; + + /** + * Initializes a new instance of the AzureVMwareSolutionAPI class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param subscriptionId Unique identifier for the Azure subscription + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.AzureVMwareSolutionAPIOptions) { + 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 = '2019-08-09-preview'; + 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/sdk/vmware/arm-vmware/src/models/clustersMappers.ts b/sdk/vmware/arm-vmware/src/models/clustersMappers.ts new file mode 100644 index 000000000000..730bdd10cdc7 --- /dev/null +++ b/sdk/vmware/arm-vmware/src/models/clustersMappers.ts @@ -0,0 +1,26 @@ +/* + * 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 { + ApiError, + ApiErrorBase, + BaseResource, + Circuit, + Cluster, + ClusterList, + ClusterProperties, + DefaultClusterProperties, + Endpoints, + ExpressRouteAuthorization, + IdentitySource, + PrivateCloud, + PrivateCloudProperties, + Resource, + Sku, + TrackedResource +} from "../models/mappers"; diff --git a/sdk/vmware/arm-vmware/src/models/index.ts b/sdk/vmware/arm-vmware/src/models/index.ts new file mode 100644 index 000000000000..dd44bbfc59aa --- /dev/null +++ b/sdk/vmware/arm-vmware/src/models/index.ts @@ -0,0 +1,939 @@ +/* + * 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 }; + +/** + * Subscription quotas + */ +export interface Quota { + /** + * Remaining hosts quota by sku type + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly hostsRemaining?: { [propertyName: string]: number }; + /** + * Host quota is active for current subscription. Possible values include: 'Enabled', 'Disabled' + */ + quotaEnabled?: QuotaEnabled; +} + +/** + * The core properties of ARM resources + */ +export interface Resource extends BaseResource { + /** + * Resource ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; +} + +/** + * The resource model definition for a ARM tracked top level resource + */ +export interface TrackedResource extends Resource { + /** + * Resource location + */ + location?: string; + /** + * Resource tags + */ + tags?: { [propertyName: string]: string }; +} + +/** + * Api error. + */ +export interface ApiErrorBase { + /** + * Error code + */ + code?: string; + /** + * Error message + */ + message?: string; +} + +/** + * API error response + */ +export interface ApiError { + /** + * An error returned by the API + */ + error?: ApiErrorBase; +} + +/** + * Contains the localized display information for this operation + */ +export interface OperationDisplay { + /** + * Localized friendly form of the resource provider name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provider?: string; + /** + * Localized friendly form of the resource type related to this operation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly resource?: string; + /** + * Localized friendly name for the operation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly operation?: string; + /** + * Localized friendly description for the operation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly description?: string; +} + +/** + * A REST API operation + */ +export interface Operation { + /** + * Name of the operation being performed on this object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Contains the localized display information for this operation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly display?: OperationDisplay; +} + +/** + * Authorization for an ExpressRoute + */ +export interface ExpressRouteAuthorization { + /** + * The name of the ExpressRoute + */ + name?: string; + /** + * The ID of the ExpressRoute + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The key of the ExpressRoute + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly key?: string; +} + +/** + * An ExpressRoute Circuit + */ +export interface Circuit { + /** + * CIDR of primary subnet + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly primarySubnet?: string; + /** + * CIDR of secondary subnet + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly secondarySubnet?: string; + /** + * Identifier of the ExpressRoute (Microsoft Colo only) + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly expressRouteID?: string; + /** + * Authorizations for the ExpressRoute (Microsoft Colo only) + */ + authorizations?: ExpressRouteAuthorization[]; + /** + * ExpressRoute private peering identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly expressRoutePrivatePeeringID?: string; +} + +/** + * Endpoint addresses + */ +export interface Endpoints { + /** + * Endpoint for the NSX-T Data Center manager + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nsxtManager?: string; + /** + * Endpoint for Virtual Center Server Appliance + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly vcsa?: string; +} + +/** + * vCenter Single Sign On Identity Source + */ +export interface IdentitySource { + /** + * The name of the identity source + */ + name?: string; + /** + * The domain's NetBIOS name + */ + alias?: string; + /** + * The domain's dns name + */ + domain?: string; + /** + * The base distinguished name for users + */ + baseUserDN?: string; + /** + * The base distinguished name for groups + */ + baseGroupDN?: string; + /** + * Primary server URL + */ + primaryServer?: string; + /** + * Secondary server URL + */ + secondaryServer?: string; + /** + * Protect LDAP communication using SSL certificate (LDAPS). Possible values include: 'Enabled', + * 'Disabled' + */ + ssl?: SslEnum; + /** + * The ID of an Active Directory user with a minimum of read-only access to Base DN for users and + * group + */ + username?: string; + /** + * The password of the Active Directory user with a minimum of read-only access to Base DN for + * users and groups. + */ + password?: string; +} + +/** + * The resource model definition representing SKU + */ +export interface Sku { + /** + * The name of the SKU. + */ + name: string; +} + +/** + * The properties of a default cluster + */ +export interface DefaultClusterProperties { + /** + * The identity + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly clusterId?: number; + /** + * The cluster size + */ + clusterSize?: number; + /** + * The hosts + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly hosts?: string[]; +} + +/** + * The properties of a private cloud resource + */ +export interface PrivateCloudProperties { + /** + * The provisioning state. Possible values include: 'Succeeded', 'Failed', 'Cancelled', + * 'Pending', 'Building', 'Updating' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: PrivateCloudProvisioningState; + /** + * An ExpressRoute Circuit + */ + circuit?: Circuit; + /** + * The default cluster used for management + */ + cluster?: DefaultClusterProperties; + /** + * The clusters + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly clusters?: string[]; + /** + * The endpoints + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endpoints?: Endpoints; + /** + * Connectivity to internet is enabled or disabled. Possible values include: 'Enabled', + * 'Disabled' + */ + internet?: InternetEnum; + /** + * vCenter Single Sign On Identity Sources + */ + identitySources?: IdentitySource[]; + /** + * The block of addresses should be unique across VNet in your subscription as well as + * on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 + * and 255, and X is between 0 and 22 + */ + networkBlock?: string; + /** + * Network used to access vCenter Server and NSX-T Manager + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly managementNetwork?: string; + /** + * Used for virtual machine cold migration, cloning, and snapshot migration + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningNetwork?: string; + /** + * Used for live migration of virtual machines + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly vmotionNetwork?: string; + /** + * Optionally, set the vCenter admin password when the private cloud is created + */ + vcenterPassword?: string; + /** + * Optionally, set the NSX-T Manager password when the private cloud is created + */ + nsxtPassword?: string; + /** + * Thumbprint of the vCenter Server SSL certificate + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly vcenterCertificateThumbprint?: string; + /** + * Thumbprint of the NSX-T Manager SSL certificate + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nsxtCertificateThumbprint?: string; +} + +/** + * A private cloud resource + */ +export interface PrivateCloud extends TrackedResource { + /** + * The private cloud SKU + */ + sku?: Sku; + /** + * The properties of a private cloud resource + */ + properties?: PrivateCloudProperties; +} + +/** + * The properties of a cluster + */ +export interface ClusterProperties extends DefaultClusterProperties { + /** + * The state of the cluster provisioning. Possible values include: 'Succeeded', 'Failed', + * 'Cancelled', 'Updating' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: ClusterProvisioningState; +} + +/** + * A cluster resource + */ +export interface Cluster extends Resource { + /** + * The properties of a cluster resource + */ + properties?: ClusterProperties; +} + +/** + * Administrative credentials for accessing vCenter and NSX-T + */ +export interface AdminCredentials { + /** + * NSX-T Manager username + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nsxtUsername?: string; + /** + * NSX-T Manager password + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nsxtPassword?: string; + /** + * vCenter admin username + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly vcenterUsername?: string; + /** + * vCenter admin password + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly vcenterPassword?: string; +} + +/** + * Optional Parameters. + */ +export interface ClustersCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * The properties of a cluster resource + */ + properties?: ClusterProperties; +} + +/** + * Optional Parameters. + */ +export interface ClustersUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * The properties of a cluster resource + */ + properties?: ClusterProperties; +} + +/** + * Optional Parameters. + */ +export interface ClustersBeginCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * The properties of a cluster resource + */ + properties?: ClusterProperties; +} + +/** + * Optional Parameters. + */ +export interface ClustersBeginUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * The properties of a cluster resource + */ + properties?: ClusterProperties; +} + +/** + * An interface representing AzureVMwareSolutionAPIOptions. + */ +export interface AzureVMwareSolutionAPIOptions extends AzureServiceClientOptions { + baseUri?: string; +} + +/** + * @interface + * Pageable list of operations + * @extends Array + */ +export interface OperationList extends Array { + /** + * URL to get the next page if any + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * A paged list of private clouds + * @extends Array + */ +export interface PrivateCloudList extends Array { + /** + * URL to get the next page if any + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * A paged list of clusters + * @extends Array + */ +export interface ClusterList extends Array { + /** + * URL to get the next page if any + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * Defines values for QuotaEnabled. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type QuotaEnabled = 'Enabled' | 'Disabled'; + +/** + * Defines values for SslEnum. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type SslEnum = 'Enabled' | 'Disabled'; + +/** + * Defines values for PrivateCloudProvisioningState. + * Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Pending', 'Building', 'Updating' + * @readonly + * @enum {string} + */ +export type PrivateCloudProvisioningState = 'Succeeded' | 'Failed' | 'Cancelled' | 'Pending' | 'Building' | 'Updating'; + +/** + * Defines values for InternetEnum. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type InternetEnum = 'Enabled' | 'Disabled'; + +/** + * Defines values for ClusterProvisioningState. + * Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Updating' + * @readonly + * @enum {string} + */ +export type ClusterProvisioningState = 'Succeeded' | 'Failed' | 'Cancelled' | 'Updating'; + +/** + * Contains response data for the list operation. + */ +export type OperationsListResponse = OperationList & { + /** + * 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: OperationList; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type OperationsListNextResponse = OperationList & { + /** + * 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: OperationList; + }; +}; + +/** + * Contains response data for the checkQuotaAvailability operation. + */ +export type CheckQuotaAvailabilityResponse = Quota & { + /** + * 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: Quota; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type PrivateCloudsListResponse = PrivateCloudList & { + /** + * 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: PrivateCloudList; + }; +}; + +/** + * Contains response data for the listInSubscription operation. + */ +export type PrivateCloudsListInSubscriptionResponse = PrivateCloudList & { + /** + * 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: PrivateCloudList; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type PrivateCloudsGetResponse = PrivateCloud & { + /** + * 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: PrivateCloud; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type PrivateCloudsCreateOrUpdateResponse = PrivateCloud & { + /** + * 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: PrivateCloud; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type PrivateCloudsUpdateResponse = PrivateCloud & { + /** + * 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: PrivateCloud; + }; +}; + +/** + * Contains response data for the listAdminCredentials operation. + */ +export type PrivateCloudsListAdminCredentialsResponse = AdminCredentials & { + /** + * 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: AdminCredentials; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type PrivateCloudsBeginCreateOrUpdateResponse = PrivateCloud & { + /** + * 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: PrivateCloud; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type PrivateCloudsBeginUpdateResponse = PrivateCloud & { + /** + * 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: PrivateCloud; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type PrivateCloudsListNextResponse = PrivateCloudList & { + /** + * 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: PrivateCloudList; + }; +}; + +/** + * Contains response data for the listInSubscriptionNext operation. + */ +export type PrivateCloudsListInSubscriptionNextResponse = PrivateCloudList & { + /** + * 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: PrivateCloudList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ClustersListResponse = ClusterList & { + /** + * 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: ClusterList; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type ClustersGetResponse = Cluster & { + /** + * 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: Cluster; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type ClustersCreateOrUpdateResponse = Cluster & { + /** + * 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: Cluster; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type ClustersUpdateResponse = Cluster & { + /** + * 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: Cluster; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type ClustersBeginCreateOrUpdateResponse = Cluster & { + /** + * 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: Cluster; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type ClustersBeginUpdateResponse = Cluster & { + /** + * 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: Cluster; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type ClustersListNextResponse = ClusterList & { + /** + * 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: ClusterList; + }; +}; diff --git a/sdk/vmware/arm-vmware/src/models/mappers.ts b/sdk/vmware/arm-vmware/src/models/mappers.ts new file mode 100644 index 000000000000..390d55a263a8 --- /dev/null +++ b/sdk/vmware/arm-vmware/src/models/mappers.ts @@ -0,0 +1,739 @@ +/* + * 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 Quota: msRest.CompositeMapper = { + serializedName: "Quota", + type: { + name: "Composite", + className: "Quota", + modelProperties: { + hostsRemaining: { + readOnly: true, + serializedName: "hostsRemaining", + type: { + name: "Dictionary", + value: { + type: { + name: "Number" + } + } + } + }, + quotaEnabled: { + serializedName: "quotaEnabled", + 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" + } + } + } + } +}; + +export const TrackedResource: msRest.CompositeMapper = { + serializedName: "TrackedResource", + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ApiErrorBase: msRest.CompositeMapper = { + serializedName: "ApiErrorBase", + type: { + name: "Composite", + className: "ApiErrorBase", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const ApiError: msRest.CompositeMapper = { + serializedName: "ApiError", + type: { + name: "Composite", + className: "ApiError", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ApiErrorBase" + } + } + } + } +}; + +export const OperationDisplay: msRest.CompositeMapper = { + serializedName: "Operation_display", + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + provider: { + readOnly: true, + serializedName: "provider", + type: { + name: "String" + } + }, + resource: { + readOnly: true, + serializedName: "resource", + type: { + name: "String" + } + }, + operation: { + readOnly: true, + serializedName: "operation", + type: { + name: "String" + } + }, + description: { + readOnly: true, + serializedName: "description", + type: { + name: "String" + } + } + } + } +}; + +export const Operation: msRest.CompositeMapper = { + serializedName: "Operation", + type: { + name: "Composite", + className: "Operation", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + display: { + readOnly: true, + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } + } + } + } +}; + +export const ExpressRouteAuthorization: msRest.CompositeMapper = { + serializedName: "ExpressRouteAuthorization", + type: { + name: "Composite", + className: "ExpressRouteAuthorization", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + key: { + readOnly: true, + serializedName: "key", + type: { + name: "String" + } + } + } + } +}; + +export const Circuit: msRest.CompositeMapper = { + serializedName: "Circuit", + type: { + name: "Composite", + className: "Circuit", + modelProperties: { + primarySubnet: { + readOnly: true, + serializedName: "primarySubnet", + type: { + name: "String" + } + }, + secondarySubnet: { + readOnly: true, + serializedName: "secondarySubnet", + type: { + name: "String" + } + }, + expressRouteID: { + readOnly: true, + serializedName: "expressRouteID", + type: { + name: "String" + } + }, + authorizations: { + serializedName: "authorizations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ExpressRouteAuthorization" + } + } + } + }, + expressRoutePrivatePeeringID: { + readOnly: true, + serializedName: "expressRoutePrivatePeeringID", + type: { + name: "String" + } + } + } + } +}; + +export const Endpoints: msRest.CompositeMapper = { + serializedName: "Endpoints", + type: { + name: "Composite", + className: "Endpoints", + modelProperties: { + nsxtManager: { + readOnly: true, + serializedName: "nsxtManager", + type: { + name: "String" + } + }, + vcsa: { + readOnly: true, + serializedName: "vcsa", + type: { + name: "String" + } + } + } + } +}; + +export const IdentitySource: msRest.CompositeMapper = { + serializedName: "IdentitySource", + type: { + name: "Composite", + className: "IdentitySource", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + alias: { + serializedName: "alias", + type: { + name: "String" + } + }, + domain: { + serializedName: "domain", + type: { + name: "String" + } + }, + baseUserDN: { + serializedName: "baseUserDN", + type: { + name: "String" + } + }, + baseGroupDN: { + serializedName: "baseGroupDN", + type: { + name: "String" + } + }, + primaryServer: { + serializedName: "primaryServer", + type: { + name: "String" + } + }, + secondaryServer: { + serializedName: "secondaryServer", + type: { + name: "String" + } + }, + ssl: { + serializedName: "ssl", + type: { + name: "String" + } + }, + username: { + serializedName: "username", + type: { + name: "String" + } + }, + password: { + serializedName: "password", + type: { + name: "String" + } + } + } + } +}; + +export const Sku: msRest.CompositeMapper = { + serializedName: "Sku", + type: { + name: "Composite", + className: "Sku", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + } + } + } +}; + +export const DefaultClusterProperties: msRest.CompositeMapper = { + serializedName: "DefaultClusterProperties", + type: { + name: "Composite", + className: "DefaultClusterProperties", + modelProperties: { + clusterId: { + readOnly: true, + serializedName: "clusterId", + type: { + name: "Number" + } + }, + clusterSize: { + serializedName: "clusterSize", + type: { + name: "Number" + } + }, + hosts: { + readOnly: true, + serializedName: "hosts", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const PrivateCloudProperties: msRest.CompositeMapper = { + serializedName: "PrivateCloudProperties", + type: { + name: "Composite", + className: "PrivateCloudProperties", + modelProperties: { + provisioningState: { + readOnly: true, + serializedName: "provisioningState", + type: { + name: "String" + } + }, + circuit: { + serializedName: "circuit", + type: { + name: "Composite", + className: "Circuit" + } + }, + cluster: { + serializedName: "cluster", + type: { + name: "Composite", + className: "DefaultClusterProperties" + } + }, + clusters: { + readOnly: true, + serializedName: "clusters", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + endpoints: { + readOnly: true, + serializedName: "endpoints", + type: { + name: "Composite", + className: "Endpoints" + } + }, + internet: { + serializedName: "internet", + type: { + name: "String" + } + }, + identitySources: { + serializedName: "identitySources", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IdentitySource" + } + } + } + }, + networkBlock: { + serializedName: "networkBlock", + type: { + name: "String" + } + }, + managementNetwork: { + readOnly: true, + serializedName: "managementNetwork", + type: { + name: "String" + } + }, + provisioningNetwork: { + readOnly: true, + serializedName: "provisioningNetwork", + type: { + name: "String" + } + }, + vmotionNetwork: { + readOnly: true, + serializedName: "vmotionNetwork", + type: { + name: "String" + } + }, + vcenterPassword: { + serializedName: "vcenterPassword", + type: { + name: "String" + } + }, + nsxtPassword: { + serializedName: "nsxtPassword", + type: { + name: "String" + } + }, + vcenterCertificateThumbprint: { + readOnly: true, + serializedName: "vcenterCertificateThumbprint", + type: { + name: "String" + } + }, + nsxtCertificateThumbprint: { + readOnly: true, + serializedName: "nsxtCertificateThumbprint", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateCloud: msRest.CompositeMapper = { + serializedName: "PrivateCloud", + type: { + name: "Composite", + className: "PrivateCloud", + modelProperties: { + ...TrackedResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "PrivateCloudProperties" + } + } + } + } +}; + +export const ClusterProperties: msRest.CompositeMapper = { + serializedName: "ClusterProperties", + type: { + name: "Composite", + className: "ClusterProperties", + modelProperties: { + ...DefaultClusterProperties.type.modelProperties, + provisioningState: { + readOnly: true, + serializedName: "provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const Cluster: msRest.CompositeMapper = { + serializedName: "Cluster", + type: { + name: "Composite", + className: "Cluster", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ClusterProperties" + } + } + } + } +}; + +export const AdminCredentials: msRest.CompositeMapper = { + serializedName: "AdminCredentials", + type: { + name: "Composite", + className: "AdminCredentials", + modelProperties: { + nsxtUsername: { + readOnly: true, + serializedName: "nsxtUsername", + type: { + name: "String" + } + }, + nsxtPassword: { + readOnly: true, + serializedName: "nsxtPassword", + type: { + name: "String" + } + }, + vcenterUsername: { + readOnly: true, + serializedName: "vcenterUsername", + type: { + name: "String" + } + }, + vcenterPassword: { + readOnly: true, + serializedName: "vcenterPassword", + type: { + name: "String" + } + } + } + } +}; + +export const OperationList: msRest.CompositeMapper = { + serializedName: "OperationList", + type: { + name: "Composite", + className: "OperationList", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateCloudList: msRest.CompositeMapper = { + serializedName: "PrivateCloudList", + type: { + name: "Composite", + className: "PrivateCloudList", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateCloud" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ClusterList: msRest.CompositeMapper = { + serializedName: "ClusterList", + type: { + name: "Composite", + className: "ClusterList", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Cluster" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; diff --git a/sdk/vmware/arm-vmware/src/models/operationsMappers.ts b/sdk/vmware/arm-vmware/src/models/operationsMappers.ts new file mode 100644 index 000000000000..b694633c9b26 --- /dev/null +++ b/sdk/vmware/arm-vmware/src/models/operationsMappers.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 { + ApiError, + ApiErrorBase, + Operation, + OperationDisplay, + OperationList +} from "../models/mappers"; diff --git a/sdk/vmware/arm-vmware/src/models/parameters.ts b/sdk/vmware/arm-vmware/src/models/parameters.ts new file mode 100644 index 000000000000..7e139c882955 --- /dev/null +++ b/sdk/vmware/arm-vmware/src/models/parameters.ts @@ -0,0 +1,93 @@ +/* + * 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 clusterName: msRest.OperationURLParameter = { + parameterPath: "clusterName", + mapper: { + required: true, + serializedName: "clusterName", + 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 privateCloudName: msRest.OperationURLParameter = { + parameterPath: "privateCloudName", + mapper: { + required: true, + serializedName: "privateCloudName", + type: { + name: "String" + } + } +}; +export const resourceGroupName: msRest.OperationURLParameter = { + parameterPath: "resourceGroupName", + mapper: { + required: true, + serializedName: "resourceGroupName", + type: { + name: "String" + } + } +}; +export const subscriptionId: msRest.OperationURLParameter = { + parameterPath: "subscriptionId", + mapper: { + required: true, + serializedName: "subscriptionId", + type: { + name: "String" + } + } +}; diff --git a/sdk/vmware/arm-vmware/src/models/privateCloudsMappers.ts b/sdk/vmware/arm-vmware/src/models/privateCloudsMappers.ts new file mode 100644 index 000000000000..cfaee30705e1 --- /dev/null +++ b/sdk/vmware/arm-vmware/src/models/privateCloudsMappers.ts @@ -0,0 +1,27 @@ +/* + * 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 { + AdminCredentials, + ApiError, + ApiErrorBase, + BaseResource, + Circuit, + Cluster, + ClusterProperties, + DefaultClusterProperties, + Endpoints, + ExpressRouteAuthorization, + IdentitySource, + PrivateCloud, + PrivateCloudList, + PrivateCloudProperties, + Resource, + Sku, + TrackedResource +} from "../models/mappers"; diff --git a/sdk/vmware/arm-vmware/src/operations/clusters.ts b/sdk/vmware/arm-vmware/src/operations/clusters.ts new file mode 100644 index 000000000000..9c940a946dae --- /dev/null +++ b/sdk/vmware/arm-vmware/src/operations/clusters.ts @@ -0,0 +1,406 @@ +/* + * 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/clustersMappers"; +import * as Parameters from "../models/parameters"; +import { AzureVMwareSolutionAPIContext } from "../azureVMwareSolutionAPIContext"; + +/** Class representing a Clusters. */ +export class Clusters { + private readonly client: AzureVMwareSolutionAPIContext; + + /** + * Create a Clusters. + * @param {AzureVMwareSolutionAPIContext} client Reference to the service client. + */ + constructor(client: AzureVMwareSolutionAPIContext) { + this.client = client; + } + + /** + * @summary List clusters in a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, privateCloudName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param callback The callback + */ + list(resourceGroupName: string, privateCloudName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, privateCloudName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, privateCloudName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + privateCloudName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * @summary Get a cluster by name in a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param clusterName Name of the cluster in the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, privateCloudName: string, clusterName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param clusterName Name of the cluster in the private cloud + * @param callback The callback + */ + get(resourceGroupName: string, privateCloudName: string, clusterName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param clusterName Name of the cluster in the private cloud + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, privateCloudName: string, clusterName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, privateCloudName: string, clusterName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + privateCloudName, + clusterName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * @summary Create or update a cluster in a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName The name of the private cloud. + * @param clusterName Name of the cluster in the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, privateCloudName: string, clusterName: string, options?: Models.ClustersCreateOrUpdateOptionalParams): Promise { + return this.beginCreateOrUpdate(resourceGroupName,privateCloudName,clusterName,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * @summary Update a cluster in a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param clusterName Name of the cluster in the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, privateCloudName: string, clusterName: string, options?: Models.ClustersUpdateOptionalParams): Promise { + return this.beginUpdate(resourceGroupName,privateCloudName,clusterName,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * @summary Delete a cluster in a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param clusterName Name of the cluster in the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, privateCloudName: string, clusterName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,privateCloudName,clusterName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * @summary Create or update a cluster in a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName The name of the private cloud. + * @param clusterName Name of the cluster in the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, privateCloudName: string, clusterName: string, options?: Models.ClustersBeginCreateOrUpdateOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + privateCloudName, + clusterName, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * @summary Update a cluster in a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param clusterName Name of the cluster in the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, privateCloudName: string, clusterName: string, options?: Models.ClustersBeginUpdateOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + privateCloudName, + clusterName, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * @summary Delete a cluster in a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param clusterName Name of the cluster in the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, privateCloudName: string, clusterName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + privateCloudName, + clusterName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * @summary List clusters in a private cloud + * @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; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ClusterList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName, + Parameters.clusterName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Cluster + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName, + Parameters.clusterName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + properties: [ + "options", + "properties" + ] + }, + mapper: { + ...Mappers.Cluster, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Cluster + }, + 201: { + bodyMapper: Mappers.Cluster + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName, + Parameters.clusterName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + properties: [ + "options", + "properties" + ] + }, + mapper: { + ...Mappers.Cluster, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Cluster + }, + 201: { + bodyMapper: Mappers.Cluster + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName, + Parameters.clusterName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ClusterList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/vmware/arm-vmware/src/operations/index.ts b/sdk/vmware/arm-vmware/src/operations/index.ts new file mode 100644 index 000000000000..c5fe40c943f6 --- /dev/null +++ b/sdk/vmware/arm-vmware/src/operations/index.ts @@ -0,0 +1,13 @@ +/* + * 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 "./operations"; +export * from "./privateClouds"; +export * from "./clusters"; diff --git a/sdk/vmware/arm-vmware/src/operations/operations.ts b/sdk/vmware/arm-vmware/src/operations/operations.ts new file mode 100644 index 000000000000..372ef6b9bce5 --- /dev/null +++ b/sdk/vmware/arm-vmware/src/operations/operations.ts @@ -0,0 +1,123 @@ +/* + * 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 { AzureVMwareSolutionAPIContext } from "../azureVMwareSolutionAPIContext"; + +/** Class representing a Operations. */ +export class Operations { + private readonly client: AzureVMwareSolutionAPIContext; + + /** + * Create a Operations. + * @param {AzureVMwareSolutionAPIContext} client Reference to the service client. + */ + constructor(client: AzureVMwareSolutionAPIContext) { + this.client = client; + } + + /** + * Lists all of the available operations + * @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; + } + + /** + * Lists all of the available operations + * @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; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.AVS/operations", + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OperationList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OperationList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/vmware/arm-vmware/src/operations/privateClouds.ts b/sdk/vmware/arm-vmware/src/operations/privateClouds.ts new file mode 100644 index 000000000000..9a1a1445eaf1 --- /dev/null +++ b/sdk/vmware/arm-vmware/src/operations/privateClouds.ts @@ -0,0 +1,533 @@ +/* + * 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/privateCloudsMappers"; +import * as Parameters from "../models/parameters"; +import { AzureVMwareSolutionAPIContext } from "../azureVMwareSolutionAPIContext"; + +/** Class representing a PrivateClouds. */ +export class PrivateClouds { + private readonly client: AzureVMwareSolutionAPIContext; + + /** + * Create a PrivateClouds. + * @param {AzureVMwareSolutionAPIContext} client Reference to the service client. + */ + constructor(client: AzureVMwareSolutionAPIContext) { + this.client = client; + } + + /** + * @summary List private clouds in a resource group + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param callback The callback + */ + list(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * @summary List private clouds in a subscription + * @param [options] The optional parameters + * @returns Promise + */ + listInSubscription(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + listInSubscription(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listInSubscription(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listInSubscription(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listInSubscriptionOperationSpec, + callback) as Promise; + } + + /** + * @summary Get a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, privateCloudName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param callback The callback + */ + get(resourceGroupName: string, privateCloudName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, privateCloudName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, privateCloudName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + privateCloudName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * @summary Create or update a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param privateCloud The private cloud + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, privateCloudName: string, privateCloud: Models.PrivateCloud, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,privateCloudName,privateCloud,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * @summary Update a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param privateCloud The private cloud + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, privateCloudName: string, privateCloud: Models.PrivateCloud, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,privateCloudName,privateCloud,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * @summary Delete a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, privateCloudName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,privateCloudName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * @summary List the admin credentials for the private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + listAdminCredentials(resourceGroupName: string, privateCloudName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param callback The callback + */ + listAdminCredentials(resourceGroupName: string, privateCloudName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param options The optional parameters + * @param callback The callback + */ + listAdminCredentials(resourceGroupName: string, privateCloudName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listAdminCredentials(resourceGroupName: string, privateCloudName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + privateCloudName, + options + }, + listAdminCredentialsOperationSpec, + callback) as Promise; + } + + /** + * @summary Create or update a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param privateCloud The private cloud + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, privateCloudName: string, privateCloud: Models.PrivateCloud, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + privateCloudName, + privateCloud, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * @summary Update a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param privateCloud The private cloud + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, privateCloudName: string, privateCloud: Models.PrivateCloud, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + privateCloudName, + privateCloud, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * @summary Delete a private cloud + * @param resourceGroupName Name of the resource group within the Azure subscription + * @param privateCloudName Name of the private cloud + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, privateCloudName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + privateCloudName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * @summary List private clouds in a resource group + * @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; + } + + /** + * @summary List private clouds in a subscription + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listInSubscriptionNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listInSubscriptionNext(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 + */ + listInSubscriptionNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listInSubscriptionNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listInSubscriptionNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateCloudList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listInSubscriptionOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.AVS/privateClouds", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateCloudList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateCloud + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listAdminCredentialsOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/listAdminCredentials", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AdminCredentials + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "privateCloud", + mapper: { + ...Mappers.PrivateCloud, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.PrivateCloud + }, + 201: { + bodyMapper: Mappers.PrivateCloud + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "privateCloud", + mapper: { + ...Mappers.PrivateCloud, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.PrivateCloud + }, + 201: { + bodyMapper: Mappers.PrivateCloud + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateCloudName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateCloudList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listInSubscriptionNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateCloudList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/vmware/arm-vmware/tsconfig.json b/sdk/vmware/arm-vmware/tsconfig.json new file mode 100644 index 000000000000..422b584abd5e --- /dev/null +++ b/sdk/vmware/arm-vmware/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", "dom"], + "declaration": true, + "outDir": "./esm", + "importHelpers": true + }, + "include": ["./src/**/*.ts"], + "exclude": ["node_modules"] +}