diff --git a/packages/@azure/arm-containerservice/.npmignore b/packages/@azure/arm-containerservice/.npmignore index 3b46bc6202d8..a07a455ac10c 100644 --- a/packages/@azure/arm-containerservice/.npmignore +++ b/packages/@azure/arm-containerservice/.npmignore @@ -1,35 +1,35 @@ -#git -.git -.gitignore -#gulp -gulpfile.js -#documentation -doc/ -docs/ -#dependencies -node_modules/ -#samples -sample/ -samples/ -#tests -test/ -tests/ -coverage/ -#tools and scripts -tools/ -scripts/ -#IDE settings -*.sln -.vscode/ -.idea -.editorconfig -.ntvs_analysis.* -#build tools -.travis.yml -.jenkins.yml -.codeclimate.yml -appveyor.yml -# Nuget packages # -.nuget/ -packages/ -packages.config +#git +.git +.gitignore +#gulp +gulpfile.js +#documentation +doc/ +docs/ +#dependencies +node_modules/ +#samples +sample/ +samples/ +#tests +test/ +tests/ +coverage/ +#tools and scripts +tools/ +scripts/ +#IDE settings +*.sln +.vscode/ +.idea +.editorconfig +.ntvs_analysis.* +#build tools +.travis.yml +.jenkins.yml +.codeclimate.yml +appveyor.yml +# Nuget packages # +.nuget/ +packages/ +packages.config diff --git a/packages/@azure/arm-containerservice/LICENSE.txt b/packages/@azure/arm-containerservice/LICENSE.txt index a70e8cf66038..5431ba98b936 100644 --- a/packages/@azure/arm-containerservice/LICENSE.txt +++ b/packages/@azure/arm-containerservice/LICENSE.txt @@ -1,21 +1,21 @@ -The MIT License (MIT) - -Copyright (c) 2018 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. +The MIT License (MIT) + +Copyright (c) 2018 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/packages/@azure/arm-containerservice/README.md b/packages/@azure/arm-containerservice/README.md index e5fb4dd4fa68..3be767be6704 100644 --- a/packages/@azure/arm-containerservice/README.md +++ b/packages/@azure/arm-containerservice/README.md @@ -1,77 +1,81 @@ -# Azure ContainerServiceClient SDK for JavaScript -This package contains an isomorphic SDK for ContainerServiceClient. - -## Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript - -## How to Install -``` -npm install @azure/arm-containerservice -``` - - -## How to use - -### nodejs - Authentication, client creation and list containerServices as an example written in TypeScript. - -```ts -import * as msRest from "ms-rest-js"; -import * as msRestAzure from "ms-rest-azure-js"; -import * as msRestNodeAuth from "ms-rest-nodeauth"; -import { ContainerServiceClient, ContainerServiceModels, ContainerServiceMappers } from "@azure/arm-containerservice"; -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -msRestNodeAuth.interactiveLogin().then((creds) => { - const client = new ContainerServiceClient(creds, subscriptionId); - client.containerServices.list().then((result) => { - console.log("The result is:"); - console.log(result); - }); -}).catch((err) => { - console.error(err); -}); -``` - -### browser - Authentication, client creation and list containerServices as an example written in JavaScript. -See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. - -- index.html -```html - - - - @azure/arm-containerservice sample - - - - - - - - - -``` - -# Related projects - - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) +# Azure ContainerServiceClient SDK for JavaScript +This package contains an isomorphic SDK for ContainerServiceClient. + +## Currently supported environments +- Node.js version 6.x.x or higher +- Browser JavaScript + +## How to Install +``` +npm install @azure/arm-containerservice +``` + + +## How to use + +### nodejs - Authentication, client creation and get openShiftManagedClusters as an example written in TypeScript. + +```ts +import * as msRest from "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as msRestNodeAuth from "ms-rest-nodeauth"; +import { ContainerServiceClient, ContainerServiceModels, ContainerServiceMappers } from "@azure/arm-containerservice"; +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +msRestNodeAuth.interactiveLogin().then((creds) => { + const client = new ContainerServiceClient(creds, subscriptionId); + const resourceGroupName = "testresourceGroupName"; + const resourceName = "testresourceName"; + client.openShiftManagedClusters.get(resourceGroupName, resourceName).then((result) => { + console.log("The result is:"); + console.log(result); + }); +}).catch((err) => { + console.error(err); +}); +``` + +### browser - Authentication, client creation and get openShiftManagedClusters as an example written in JavaScript. +See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. + +- index.html +```html + + + + @azure/arm-containerservice sample + + + + + + + + + +``` + +# Related projects + - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) diff --git a/packages/@azure/arm-containerservice/lib/containerServiceClient.ts b/packages/@azure/arm-containerservice/lib/containerServiceClient.ts index 04c19f2bd553..f2ce52c96cd4 100644 --- a/packages/@azure/arm-containerservice/lib/containerServiceClient.ts +++ b/packages/@azure/arm-containerservice/lib/containerServiceClient.ts @@ -17,6 +17,7 @@ import { ContainerServiceClientContext } from "./containerServiceClientContext"; class ContainerServiceClient extends ContainerServiceClientContext { // Operation groups + openShiftManagedClusters: operations.OpenShiftManagedClusters; containerServices: operations.ContainerServices; operations: operations.Operations; managedClusters: operations.ManagedClusters; @@ -30,6 +31,7 @@ class ContainerServiceClient extends ContainerServiceClientContext { */ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ContainerServiceClientOptions) { super(credentials, subscriptionId, options); + this.openShiftManagedClusters = new operations.OpenShiftManagedClusters(this); this.containerServices = new operations.ContainerServices(this); this.operations = new operations.Operations(this); this.managedClusters = new operations.ManagedClusters(this); diff --git a/packages/@azure/arm-containerservice/lib/containerServiceClientContext.ts b/packages/@azure/arm-containerservice/lib/containerServiceClientContext.ts index 6f6bb116da3c..029157e74293 100644 --- a/packages/@azure/arm-containerservice/lib/containerServiceClientContext.ts +++ b/packages/@azure/arm-containerservice/lib/containerServiceClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "ms-rest-js"; import * as msRestAzure from "ms-rest-azure-js"; const packageName = "@azure/arm-containerservice"; -const packageVersion = "1.0.0"; +const packageVersion = "1.0.0-preview"; export class ContainerServiceClientContext extends msRestAzure.AzureServiceClient { diff --git a/packages/@azure/arm-containerservice/lib/models/containerServicesMappers.ts b/packages/@azure/arm-containerservice/lib/models/containerServicesMappers.ts index 36e1eef51832..77e3392bdf31 100644 --- a/packages/@azure/arm-containerservice/lib/models/containerServicesMappers.ts +++ b/packages/@azure/arm-containerservice/lib/models/containerServicesMappers.ts @@ -9,6 +9,7 @@ */ export { + discriminators, ContainerServiceListResult, ContainerService, Resource, @@ -29,6 +30,16 @@ export { OrchestratorVersionProfileListResult, OrchestratorVersionProfile, OrchestratorProfile, + OpenShiftManagedCluster, + PurchasePlan, + NetworkProfile, + OpenShiftRouterProfile, + OpenShiftManagedClusterMasterPoolProfile, + OpenShiftManagedClusterAgentPoolProfile, + OpenShiftManagedClusterAuthProfile, + OpenShiftManagedClusterIdentityProvider, + OpenShiftManagedClusterBaseIdentityProvider, + OpenShiftManagedClusterAADIdentityProvider, ManagedCluster, ManagedClusterAgentPoolProfile, ManagedClusterServicePrincipalProfile, diff --git a/packages/@azure/arm-containerservice/lib/models/index.ts b/packages/@azure/arm-containerservice/lib/models/index.ts index 379f648e76e8..1506f85df7a3 100644 --- a/packages/@azure/arm-containerservice/lib/models/index.ts +++ b/packages/@azure/arm-containerservice/lib/models/index.ts @@ -50,6 +50,304 @@ export interface Resource extends BaseResource { tags?: { [propertyName: string]: string }; } +/** + * @interface + * An interface representing PurchasePlan. + * Used for establishing the purchase context of any 3rd Party artifact through + * MarketPlace. + * + */ +export interface PurchasePlan { + /** + * @member {string} [name] The plan ID. + */ + name?: string; + /** + * @member {string} [product] Specifies the product of the image from the + * marketplace. This is the same value as Offer under the imageReference + * element. + */ + product?: string; + /** + * @member {string} [promotionCode] The promotion code. + */ + promotionCode?: string; + /** + * @member {string} [publisher] The plan ID. + */ + publisher?: string; +} + +/** + * @interface + * An interface representing OpenShiftRouterProfile. + * Represents an OpenShift router + * + */ +export interface OpenShiftRouterProfile { + /** + * @member {string} [name] Name of the router profile. + */ + name?: string; + /** + * @member {string} [publicSubdomain] DNS subdomain for openshift router. + */ + publicSubdomain?: string; + /** + * @member {string} [fqdn] Auto-allocated FQDN for the OpenShift router. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly fqdn?: string; +} + +/** + * @interface + * An interface representing NetworkProfile. + * Represents the OpenShift networking configuration + * + */ +export interface NetworkProfile { + /** + * @member {string} [vnetCidr] CIDR for the OpenShift Vnet. Default value: + * '10.0.0.0/8' . + */ + vnetCidr?: string; + /** + * @member {string} [peerVnetId] CIDR of the Vnet to peer. + */ + peerVnetId?: string; +} + +/** + * @interface + * An interface representing OpenShiftManagedClusterMasterPoolProfile. + * OpenShiftManagedClusterMaterPoolProfile contains configuration for OpenShift + * master VMs. + * + */ +export interface OpenShiftManagedClusterMasterPoolProfile { + /** + * @member {string} [name] Unique name of the master pool profile in the + * context of the subscription and resource group. + */ + name?: string; + /** + * @member {number} count Number of masters (VMs) to host docker containers. + * The default value is 3. Default value: 3 . + */ + count: number; + /** + * @member {OpenShiftContainerServiceVMSize} vmSize Size of agent VMs. + * Possible values include: 'Standard_D2s_v3', 'Standard_D4s_v3' + */ + vmSize: OpenShiftContainerServiceVMSize; + /** + * @member {string} [subnetCidr] Subnet CIDR for the peering. + */ + subnetCidr?: string; + /** + * @member {OSType} [osType] OsType to be used to specify os type. Choose + * from Linux and Windows. Default to Linux. Possible values include: + * 'Linux', 'Windows'. Default value: 'Linux' . + */ + osType?: OSType; +} + +/** + * @interface + * An interface representing OpenShiftManagedClusterAgentPoolProfile. + * Defines the configuration of the OpenShift cluster VMs. + * + */ +export interface OpenShiftManagedClusterAgentPoolProfile { + /** + * @member {string} name Unique name of the pool profile in the context of + * the subscription and resource group. + */ + name: string; + /** + * @member {number} count Number of agents (VMs) to host docker containers. + * Allowed values must be in the range of 1 to 5 (inclusive). The default + * value is 2. . Default value: 2 . + */ + count: number; + /** + * @member {OpenShiftContainerServiceVMSize} vmSize Size of agent VMs. + * Possible values include: 'Standard_D2s_v3', 'Standard_D4s_v3' + */ + vmSize: OpenShiftContainerServiceVMSize; + /** + * @member {string} [subnetCidr] Subnet CIDR for the peering. Default value: + * '10.0.0.0/24' . + */ + subnetCidr?: string; + /** + * @member {OSType} [osType] OsType to be used to specify os type. Choose + * from Linux and Windows. Default to Linux. Possible values include: + * 'Linux', 'Windows'. Default value: 'Linux' . + */ + osType?: OSType; + /** + * @member {OpenShiftAgentPoolProfileRole} [role] Define the role of the + * AgentPoolProfile. Possible values include: 'compute', 'infra' + */ + role?: OpenShiftAgentPoolProfileRole; +} + +/** + * Contains the possible cases for OpenShiftManagedClusterBaseIdentityProvider. + */ +export type OpenShiftManagedClusterBaseIdentityProviderUnion = OpenShiftManagedClusterBaseIdentityProvider | OpenShiftManagedClusterAADIdentityProvider; + +/** + * @interface + * An interface representing OpenShiftManagedClusterBaseIdentityProvider. + * Structure for any Identity provider. + * + */ +export interface OpenShiftManagedClusterBaseIdentityProvider { + /** + * @member {string} kind Polymorphic Discriminator + */ + kind: "OpenShiftManagedClusterBaseIdentityProvider"; +} + +/** + * @interface + * An interface representing OpenShiftManagedClusterIdentityProvider. + * Defines the configuration of the identity providers to be used in the + * OpenShift cluster. + * + */ +export interface OpenShiftManagedClusterIdentityProvider { + /** + * @member {string} [name] Name of the provider. + */ + name?: string; + /** + * @member {OpenShiftManagedClusterBaseIdentityProviderUnion} [provider] + * Configuration of the provider. + */ + provider?: OpenShiftManagedClusterBaseIdentityProviderUnion; +} + +/** + * @interface + * An interface representing OpenShiftManagedClusterAuthProfile. + * Defines all possible authentication profiles for the OpenShift cluster. + * + */ +export interface OpenShiftManagedClusterAuthProfile { + /** + * @member {OpenShiftManagedClusterIdentityProvider[]} [identityProviders] + * Type of authentication profile to use. + */ + identityProviders?: OpenShiftManagedClusterIdentityProvider[]; +} + +/** + * @interface + * An interface representing OpenShiftManagedCluster. + * OpenShift Managed cluster. + * + * @extends Resource + */ +export interface OpenShiftManagedCluster extends Resource { + /** + * @member {PurchasePlan} [plan] Define the resource plan as required by ARM + * for billing purposes + */ + plan?: PurchasePlan; + /** + * @member {string} [provisioningState] The current deployment or + * provisioning state, which only appears in the response. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly provisioningState?: string; + /** + * @member {string} openShiftVersion Version of OpenShift specified when + * creating the cluster. + */ + openShiftVersion: string; + /** + * @member {string} [publicHostname] Optional user-specified FQDN for + * OpenShift API server. + */ + publicHostname?: string; + /** + * @member {string} [fqdn] User-specified FQDN for OpenShift API server + * loadbalancer internal hostname. + */ + fqdn?: string; + /** + * @member {NetworkProfile} [networkProfile] Configuration for OpenShift + * networking. + */ + networkProfile?: NetworkProfile; + /** + * @member {OpenShiftRouterProfile[]} [routerProfiles] Configuration for + * OpenShift router(s). + */ + routerProfiles?: OpenShiftRouterProfile[]; + /** + * @member {OpenShiftManagedClusterMasterPoolProfile} [masterPoolProfile] + * Configuration for OpenShift master VMs. + */ + masterPoolProfile?: OpenShiftManagedClusterMasterPoolProfile; + /** + * @member {OpenShiftManagedClusterAgentPoolProfile[]} [agentPoolProfiles] + * Configuration of OpenShift cluster VMs. + */ + agentPoolProfiles?: OpenShiftManagedClusterAgentPoolProfile[]; + /** + * @member {OpenShiftManagedClusterAuthProfile} [authProfile] Configures + * OpenShift authentication. + */ + authProfile?: OpenShiftManagedClusterAuthProfile; +} + +/** + * @interface + * An interface representing OpenShiftManagedClusterAADIdentityProvider. + * Defines the Identity provider for MS AAD. + * + */ +export interface OpenShiftManagedClusterAADIdentityProvider { + /** + * @member {string} kind Polymorphic Discriminator + */ + kind: "AADIdentityProvider"; + /** + * @member {string} [clientId] The clientId password associated with the + * provider. + */ + clientId?: string; + /** + * @member {string} [secret] The secret password associated with the + * provider. + */ + secret?: string; + /** + * @member {string} [tenantId] The tenantId associated with the provider. + */ + tenantId?: string; +} + +/** + * @interface + * An interface representing TagsObject. + * Tags object for patch operations. + * + */ +export interface TagsObject { + /** + * @member {{ [propertyName: string]: string }} [tags] Resource tags. + */ + tags?: { [propertyName: string]: string }; +} + /** * @interface * An interface representing ContainerServiceCustomProfile. @@ -458,64 +756,6 @@ export interface ContainerServiceDiagnosticsProfile { vmDiagnostics: ContainerServiceVMDiagnostics; } -/** - * @interface - * An interface representing ContainerServiceProperties. - * Properties of the container service. - * - */ -export interface ContainerServiceProperties { - /** - * @member {string} [provisioningState] The current deployment or - * provisioning state, which only appears in the response. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly provisioningState?: string; - /** - * @member {ContainerServiceOrchestratorProfile} orchestratorProfile Profile - * for the container service orchestrator. - */ - orchestratorProfile: ContainerServiceOrchestratorProfile; - /** - * @member {ContainerServiceCustomProfile} [customProfile] Properties to - * configure a custom container service cluster. - */ - customProfile?: ContainerServiceCustomProfile; - /** - * @member {ContainerServiceServicePrincipalProfile} - * [servicePrincipalProfile] Information about a service principal identity - * for the cluster to use for manipulating Azure APIs. Exact one of secret or - * keyVaultSecretRef need to be specified. - */ - servicePrincipalProfile?: ContainerServiceServicePrincipalProfile; - /** - * @member {ContainerServiceMasterProfile} masterProfile Profile for the - * container service master. - */ - masterProfile: ContainerServiceMasterProfile; - /** - * @member {ContainerServiceAgentPoolProfile[]} [agentPoolProfiles] - * Properties of the agent pool. - */ - agentPoolProfiles?: ContainerServiceAgentPoolProfile[]; - /** - * @member {ContainerServiceWindowsProfile} [windowsProfile] Profile for - * Windows VMs in the container service cluster. - */ - windowsProfile?: ContainerServiceWindowsProfile; - /** - * @member {ContainerServiceLinuxProfile} linuxProfile Profile for Linux VMs - * in the container service cluster. - */ - linuxProfile: ContainerServiceLinuxProfile; - /** - * @member {ContainerServiceDiagnosticsProfile} [diagnosticsProfile] Profile - * for diagnostics in the container service cluster. - */ - diagnosticsProfile?: ContainerServiceDiagnosticsProfile; -} - /** * @interface * An interface representing ContainerService. @@ -575,40 +815,6 @@ export interface ContainerService extends Resource { diagnosticsProfile?: ContainerServiceDiagnosticsProfile; } -/** - * @interface - * An interface representing OperationValueDisplay. - * Describes the properties of a Compute Operation Value Display. - * - */ -export interface OperationValueDisplay { - /** - * @member {string} [operation] The display name of the compute operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly operation?: string; - /** - * @member {string} [resource] The display name of the resource the operation - * applies to. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly resource?: string; - /** - * @member {string} [description] The description of the operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly description?: string; - /** - * @member {string} [provider] The resource provider for the operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly provider?: string; -} - /** * @interface * An interface representing OperationValue. @@ -642,30 +848,17 @@ export interface OperationValue { */ readonly resource?: string; /** - * @member {string} [description] The description of the operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly description?: string; - /** - * @member {string} [provider] The resource provider for the operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly provider?: string; -} - -/** - * @interface - * An interface representing TagsObject. - * Tags object for patch operations. - * - */ -export interface TagsObject { + * @member {string} [description] The description of the operation. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly description?: string; /** - * @member {{ [propertyName: string]: string }} [tags] Resource tags. + * @member {string} [provider] The resource provider for the operation. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** */ - tags?: { [propertyName: string]: string }; + readonly provider?: string; } /** @@ -879,81 +1072,6 @@ export interface ManagedClusterAADProfile { tenantID?: string; } -/** - * @interface - * An interface representing ManagedClusterProperties. - * Properties of the managed cluster. - * - */ -export interface ManagedClusterProperties { - /** - * @member {string} [provisioningState] The current deployment or - * provisioning state, which only appears in the response. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly provisioningState?: string; - /** - * @member {string} [kubernetesVersion] Version of Kubernetes specified when - * creating the managed cluster. - */ - kubernetesVersion?: string; - /** - * @member {string} [dnsPrefix] DNS prefix specified when creating the - * managed cluster. - */ - dnsPrefix?: string; - /** - * @member {string} [fqdn] FDQN for the master pool. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly fqdn?: string; - /** - * @member {ManagedClusterAgentPoolProfile[]} [agentPoolProfiles] Properties - * of the agent pool. Currently only one agent pool can exist. - */ - agentPoolProfiles?: ManagedClusterAgentPoolProfile[]; - /** - * @member {ContainerServiceLinuxProfile} [linuxProfile] Profile for Linux - * VMs in the container service cluster. - */ - linuxProfile?: ContainerServiceLinuxProfile; - /** - * @member {ManagedClusterServicePrincipalProfile} [servicePrincipalProfile] - * Information about a service principal identity for the cluster to use for - * manipulating Azure APIs. - */ - servicePrincipalProfile?: ManagedClusterServicePrincipalProfile; - /** - * @member {{ [propertyName: string]: ManagedClusterAddonProfile }} - * [addonProfiles] Profile of managed cluster add-on. - */ - addonProfiles?: { [propertyName: string]: ManagedClusterAddonProfile }; - /** - * @member {string} [nodeResourceGroup] Name of the resource group containing - * agent pool nodes. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly nodeResourceGroup?: string; - /** - * @member {boolean} [enableRBAC] Whether to enable Kubernetes Role-Based - * Access Control. - */ - enableRBAC?: boolean; - /** - * @member {ContainerServiceNetworkProfile} [networkProfile] Profile of - * network configuration. - */ - networkProfile?: ContainerServiceNetworkProfile; - /** - * @member {ManagedClusterAADProfile} [aadProfile] Profile of Azure Active - * Directory configuration. - */ - aadProfile?: ManagedClusterAADProfile; -} - /** * @interface * An interface representing ManagedCluster. @@ -1048,20 +1166,6 @@ export interface OrchestratorProfile { orchestratorVersion: string; } -/** - * @interface - * An interface representing AccessProfile. - * Profile for enabling a user to access a managed cluster. - * - */ -export interface AccessProfile { - /** - * @member {Uint8Array} [kubeConfig] Base64-encoded Kubernetes configuration - * file. - */ - kubeConfig?: Uint8Array; -} - /** * @interface * An interface representing ManagedClusterAccessProfile. @@ -1106,25 +1210,6 @@ export interface ManagedClusterPoolUpgradeProfile { upgrades?: string[]; } -/** - * @interface - * An interface representing ManagedClusterUpgradeProfileProperties. - * Control plane and agent pool upgrade profiles. - * - */ -export interface ManagedClusterUpgradeProfileProperties { - /** - * @member {ManagedClusterPoolUpgradeProfile} controlPlaneProfile The list of - * available upgrade versions for the control plane. - */ - controlPlaneProfile: ManagedClusterPoolUpgradeProfile; - /** - * @member {ManagedClusterPoolUpgradeProfile[]} agentPoolProfiles The list of - * available upgrade versions for agent pools. - */ - agentPoolProfiles: ManagedClusterPoolUpgradeProfile[]; -} - /** * @interface * An interface representing ManagedClusterUpgradeProfile. @@ -1225,20 +1310,6 @@ export interface OrchestratorVersionProfile { upgrades: OrchestratorProfile[]; } -/** - * @interface - * An interface representing OrchestratorVersionProfileProperties. - * The properties of an orchestrator version profile. - * - */ -export interface OrchestratorVersionProfileProperties { - /** - * @member {OrchestratorVersionProfile[]} orchestrators List of orchestrator - * version profiles. - */ - orchestrators: OrchestratorVersionProfile[]; -} - /** * @interface * An interface representing OrchestratorVersionProfileListResult. @@ -1345,6 +1416,53 @@ export interface ManagedClusterListResult extends Array { readonly nextLink?: string; } +/** + * Defines values for OSType. + * Possible values include: 'Linux', 'Windows' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: OSType = "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum OSType { + Linux = 'Linux', + Windows = 'Windows', +} + +/** + * Defines values for OpenShiftContainerServiceVMSize. + * Possible values include: 'Standard_D2s_v3', 'Standard_D4s_v3' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: OpenShiftContainerServiceVMSize = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum OpenShiftContainerServiceVMSize { + StandardD2sV3 = 'Standard_D2s_v3', + StandardD4sV3 = 'Standard_D4s_v3', +} + +/** + * Defines values for OpenShiftAgentPoolProfileRole. + * Possible values include: 'compute', 'infra' + * There could be more values for this enum apart from the ones defined here.If + * you want to set a value that is not from the known values then you can do + * the following: + * let param: OpenShiftAgentPoolProfileRole = + * "someUnknownValueThatWillStillBeValid"; + * @readonly + * @enum {string} + */ +export enum OpenShiftAgentPoolProfileRole { + Compute = 'compute', + Infra = 'infra', +} + /** * Defines values for ContainerServiceStorageProfileTypes. * Possible values include: 'StorageAccount', 'ManagedDisks' @@ -1616,21 +1734,6 @@ export enum ContainerServiceOrchestratorTypes { Custom = 'Custom', } -/** - * Defines values for OSType. - * Possible values include: 'Linux', 'Windows' - * There could be more values for this enum apart from the ones defined here.If - * you want to set a value that is not from the known values then you can do - * the following: - * let param: OSType = "someUnknownValueThatWillStillBeValid"; - * @readonly - * @enum {string} - */ -export enum OSType { - Linux = 'Linux', - Windows = 'Windows', -} - /** * Defines values for NetworkPlugin. * Possible values include: 'azure', 'kubenet' @@ -1662,6 +1765,101 @@ export enum NetworkPolicy { Calico = 'calico', } +/** + * Contains response data for the get operation. + */ +export type OpenShiftManagedClustersGetResponse = OpenShiftManagedCluster & { + /** + * 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: OpenShiftManagedCluster; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type OpenShiftManagedClustersCreateOrUpdateResponse = OpenShiftManagedCluster & { + /** + * 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: OpenShiftManagedCluster; + }; +}; + +/** + * Contains response data for the updateTags operation. + */ +export type OpenShiftManagedClustersUpdateTagsResponse = OpenShiftManagedCluster & { + /** + * 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: OpenShiftManagedCluster; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type OpenShiftManagedClustersBeginCreateOrUpdateResponse = OpenShiftManagedCluster & { + /** + * 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: OpenShiftManagedCluster; + }; +}; + +/** + * Contains response data for the beginUpdateTags operation. + */ +export type OpenShiftManagedClustersBeginUpdateTagsResponse = OpenShiftManagedCluster & { + /** + * 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: OpenShiftManagedCluster; + }; +}; + /** * Contains response data for the list operation. */ diff --git a/packages/@azure/arm-containerservice/lib/models/managedClustersMappers.ts b/packages/@azure/arm-containerservice/lib/models/managedClustersMappers.ts index 7814f9226340..acc4e6eff1fb 100644 --- a/packages/@azure/arm-containerservice/lib/models/managedClustersMappers.ts +++ b/packages/@azure/arm-containerservice/lib/models/managedClustersMappers.ts @@ -9,6 +9,7 @@ */ export { + discriminators, ManagedClusterListResult, ManagedCluster, Resource, @@ -28,6 +29,16 @@ export { CredentialResults, CredentialResult, TagsObject, + OpenShiftManagedCluster, + PurchasePlan, + NetworkProfile, + OpenShiftRouterProfile, + OpenShiftManagedClusterMasterPoolProfile, + OpenShiftManagedClusterAgentPoolProfile, + OpenShiftManagedClusterAuthProfile, + OpenShiftManagedClusterIdentityProvider, + OpenShiftManagedClusterBaseIdentityProvider, + OpenShiftManagedClusterAADIdentityProvider, ContainerService, ContainerServiceOrchestratorProfile, ContainerServiceCustomProfile, diff --git a/packages/@azure/arm-containerservice/lib/models/mappers.ts b/packages/@azure/arm-containerservice/lib/models/mappers.ts index ac05873781d4..8f866adba747 100644 --- a/packages/@azure/arm-containerservice/lib/models/mappers.ts +++ b/packages/@azure/arm-containerservice/lib/models/mappers.ts @@ -63,6 +63,409 @@ export const Resource: msRest.CompositeMapper = { } }; +export const PurchasePlan: msRest.CompositeMapper = { + serializedName: "PurchasePlan", + type: { + name: "Composite", + className: "PurchasePlan", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + product: { + serializedName: "product", + type: { + name: "String" + } + }, + promotionCode: { + serializedName: "promotionCode", + type: { + name: "String" + } + }, + publisher: { + serializedName: "publisher", + type: { + name: "String" + } + } + } + } +}; + +export const OpenShiftRouterProfile: msRest.CompositeMapper = { + serializedName: "OpenShiftRouterProfile", + type: { + name: "Composite", + className: "OpenShiftRouterProfile", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + publicSubdomain: { + serializedName: "publicSubdomain", + type: { + name: "String" + } + }, + fqdn: { + readOnly: true, + serializedName: "fqdn", + type: { + name: "String" + } + } + } + } +}; + +export const NetworkProfile: msRest.CompositeMapper = { + serializedName: "NetworkProfile", + type: { + name: "Composite", + className: "NetworkProfile", + modelProperties: { + vnetCidr: { + serializedName: "vnetCidr", + defaultValue: '10.0.0.0/8', + type: { + name: "String" + } + }, + peerVnetId: { + serializedName: "peerVnetId", + type: { + name: "String" + } + } + } + } +}; + +export const OpenShiftManagedClusterMasterPoolProfile: msRest.CompositeMapper = { + serializedName: "OpenShiftManagedClusterMasterPoolProfile", + type: { + name: "Composite", + className: "OpenShiftManagedClusterMasterPoolProfile", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + count: { + required: true, + serializedName: "count", + defaultValue: 3, + constraints: { + InclusiveMaximum: 10, + InclusiveMinimum: 1 + }, + type: { + name: "Number" + } + }, + vmSize: { + required: true, + serializedName: "vmSize", + type: { + name: "String" + } + }, + subnetCidr: { + serializedName: "subnetCidr", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + defaultValue: 'Linux', + type: { + name: "String" + } + } + } + } +}; + +export const OpenShiftManagedClusterAgentPoolProfile: msRest.CompositeMapper = { + serializedName: "OpenShiftManagedClusterAgentPoolProfile", + type: { + name: "Composite", + className: "OpenShiftManagedClusterAgentPoolProfile", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + count: { + required: true, + serializedName: "count", + defaultValue: 2, + constraints: { + InclusiveMaximum: 5, + InclusiveMinimum: 1 + }, + type: { + name: "Number" + } + }, + vmSize: { + required: true, + serializedName: "vmSize", + type: { + name: "String" + } + }, + subnetCidr: { + serializedName: "subnetCidr", + defaultValue: '10.0.0.0/24', + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + defaultValue: 'Linux', + type: { + name: "String" + } + }, + role: { + serializedName: "role", + type: { + name: "String" + } + } + } + } +}; + +export const OpenShiftManagedClusterBaseIdentityProvider: msRest.CompositeMapper = { + serializedName: "OpenShiftManagedClusterBaseIdentityProvider", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "kind", + clientName: "kind" + }, + uberParent: "OpenShiftManagedClusterBaseIdentityProvider", + className: "OpenShiftManagedClusterBaseIdentityProvider", + modelProperties: { + kind: { + required: true, + serializedName: "kind", + type: { + name: "String" + } + } + } + } +}; + +export const OpenShiftManagedClusterIdentityProvider: msRest.CompositeMapper = { + serializedName: "OpenShiftManagedClusterIdentityProvider", + type: { + name: "Composite", + className: "OpenShiftManagedClusterIdentityProvider", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + provider: { + serializedName: "provider", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "kind", + clientName: "kind" + }, + uberParent: "OpenShiftManagedClusterBaseIdentityProvider", + className: "OpenShiftManagedClusterBaseIdentityProvider" + } + } + } + } +}; + +export const OpenShiftManagedClusterAuthProfile: msRest.CompositeMapper = { + serializedName: "OpenShiftManagedClusterAuthProfile", + type: { + name: "Composite", + className: "OpenShiftManagedClusterAuthProfile", + modelProperties: { + identityProviders: { + serializedName: "identityProviders", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OpenShiftManagedClusterIdentityProvider" + } + } + } + } + } + } +}; + +export const OpenShiftManagedCluster: msRest.CompositeMapper = { + serializedName: "OpenShiftManagedCluster", + type: { + name: "Composite", + className: "OpenShiftManagedCluster", + modelProperties: { + ...Resource.type.modelProperties, + plan: { + serializedName: "plan", + type: { + name: "Composite", + className: "PurchasePlan" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + openShiftVersion: { + required: true, + serializedName: "properties.openShiftVersion", + type: { + name: "String" + } + }, + publicHostname: { + serializedName: "properties.publicHostname", + type: { + name: "String" + } + }, + fqdn: { + serializedName: "properties.fqdn", + type: { + name: "String" + } + }, + networkProfile: { + serializedName: "properties.networkProfile", + type: { + name: "Composite", + className: "NetworkProfile" + } + }, + routerProfiles: { + serializedName: "properties.routerProfiles", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OpenShiftRouterProfile" + } + } + } + }, + masterPoolProfile: { + serializedName: "properties.masterPoolProfile", + type: { + name: "Composite", + className: "OpenShiftManagedClusterMasterPoolProfile" + } + }, + agentPoolProfiles: { + serializedName: "properties.agentPoolProfiles", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OpenShiftManagedClusterAgentPoolProfile" + } + } + } + }, + authProfile: { + serializedName: "properties.authProfile", + type: { + name: "Composite", + className: "OpenShiftManagedClusterAuthProfile" + } + } + } + } +}; + +export const OpenShiftManagedClusterAADIdentityProvider: msRest.CompositeMapper = { + serializedName: "AADIdentityProvider", + type: { + name: "Composite", + polymorphicDiscriminator: OpenShiftManagedClusterBaseIdentityProvider.type.polymorphicDiscriminator, + uberParent: "OpenShiftManagedClusterBaseIdentityProvider", + className: "OpenShiftManagedClusterAADIdentityProvider", + modelProperties: { + ...OpenShiftManagedClusterBaseIdentityProvider.type.modelProperties, + clientId: { + serializedName: "clientId", + type: { + name: "String" + } + }, + secret: { + serializedName: "secret", + type: { + name: "String" + } + }, + tenantId: { + serializedName: "tenantId", + type: { + name: "String" + } + } + } + } +}; + +export const TagsObject: msRest.CompositeMapper = { + serializedName: "TagsObject", + type: { + name: "Composite", + className: "TagsObject", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const ContainerServiceCustomProfile: msRest.CompositeMapper = { serializedName: "ContainerServiceCustomProfile", type: { @@ -393,138 +796,57 @@ export const ContainerServiceLinuxProfile: msRest.CompositeMapper = { Pattern: /^[A-Za-z][-A-Za-z0-9_]*$/ }, type: { - name: "String" - } - }, - ssh: { - required: true, - serializedName: "ssh", - type: { - name: "Composite", - className: "ContainerServiceSshConfiguration" - } - } - } - } -}; - -export const ContainerServiceVMDiagnostics: msRest.CompositeMapper = { - serializedName: "ContainerServiceVMDiagnostics", - type: { - name: "Composite", - className: "ContainerServiceVMDiagnostics", - modelProperties: { - enabled: { - required: true, - serializedName: "enabled", - type: { - name: "Boolean" - } - }, - storageUri: { - readOnly: true, - serializedName: "storageUri", - type: { - name: "String" - } - } - } - } -}; - -export const ContainerServiceDiagnosticsProfile: msRest.CompositeMapper = { - serializedName: "ContainerServiceDiagnosticsProfile", - type: { - name: "Composite", - className: "ContainerServiceDiagnosticsProfile", - modelProperties: { - vmDiagnostics: { - required: true, - serializedName: "vmDiagnostics", - type: { - name: "Composite", - className: "ContainerServiceVMDiagnostics" - } - } - } - } -}; - -export const ContainerServiceProperties: msRest.CompositeMapper = { - serializedName: "ContainerServiceProperties", - type: { - name: "Composite", - className: "ContainerServiceProperties", - modelProperties: { - provisioningState: { - readOnly: true, - serializedName: "provisioningState", - type: { - name: "String" - } - }, - orchestratorProfile: { - required: true, - serializedName: "orchestratorProfile", - type: { - name: "Composite", - className: "ContainerServiceOrchestratorProfile" - } - }, - customProfile: { - serializedName: "customProfile", - type: { - name: "Composite", - className: "ContainerServiceCustomProfile" - } - }, - servicePrincipalProfile: { - serializedName: "servicePrincipalProfile", - type: { - name: "Composite", - className: "ContainerServiceServicePrincipalProfile" - } - }, - masterProfile: { - required: true, - serializedName: "masterProfile", - type: { - name: "Composite", - className: "ContainerServiceMasterProfile" - } - }, - agentPoolProfiles: { - serializedName: "agentPoolProfiles", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ContainerServiceAgentPoolProfile" - } - } + name: "String" } }, - windowsProfile: { - serializedName: "windowsProfile", + ssh: { + required: true, + serializedName: "ssh", type: { name: "Composite", - className: "ContainerServiceWindowsProfile" + className: "ContainerServiceSshConfiguration" } - }, - linuxProfile: { + } + } + } +}; + +export const ContainerServiceVMDiagnostics: msRest.CompositeMapper = { + serializedName: "ContainerServiceVMDiagnostics", + type: { + name: "Composite", + className: "ContainerServiceVMDiagnostics", + modelProperties: { + enabled: { required: true, - serializedName: "linuxProfile", + serializedName: "enabled", type: { - name: "Composite", - className: "ContainerServiceLinuxProfile" + name: "Boolean" } }, - diagnosticsProfile: { - serializedName: "diagnosticsProfile", + storageUri: { + readOnly: true, + serializedName: "storageUri", + type: { + name: "String" + } + } + } + } +}; + +export const ContainerServiceDiagnosticsProfile: msRest.CompositeMapper = { + serializedName: "ContainerServiceDiagnosticsProfile", + type: { + name: "Composite", + className: "ContainerServiceDiagnosticsProfile", + modelProperties: { + vmDiagnostics: { + required: true, + serializedName: "vmDiagnostics", type: { name: "Composite", - className: "ContainerServiceDiagnosticsProfile" + className: "ContainerServiceVMDiagnostics" } } } @@ -613,44 +935,6 @@ export const ContainerService: msRest.CompositeMapper = { } }; -export const OperationValueDisplay: msRest.CompositeMapper = { - serializedName: "OperationValueDisplay", - type: { - name: "Composite", - className: "OperationValueDisplay", - modelProperties: { - operation: { - readOnly: true, - serializedName: "operation", - type: { - name: "String" - } - }, - resource: { - readOnly: true, - serializedName: "resource", - type: { - name: "String" - } - }, - description: { - readOnly: true, - serializedName: "description", - type: { - name: "String" - } - }, - provider: { - readOnly: true, - serializedName: "provider", - type: { - name: "String" - } - } - } - } -}; - export const OperationValue: msRest.CompositeMapper = { serializedName: "OperationValue", type: { @@ -703,27 +987,6 @@ export const OperationValue: msRest.CompositeMapper = { } }; -export const TagsObject: msRest.CompositeMapper = { - serializedName: "TagsObject", - type: { - name: "Composite", - className: "TagsObject", - modelProperties: { - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } - } - } - } - } -}; - export const ManagedClusterServicePrincipalProfile: msRest.CompositeMapper = { serializedName: "ManagedClusterServicePrincipalProfile", type: { @@ -837,7 +1100,7 @@ export const ContainerServiceNetworkProfile: msRest.CompositeMapper = { serializedName: "podCidr", defaultValue: '10.244.0.0/16', constraints: { - Pattern: /^([0-9]{1,3}\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$/ + Pattern: /^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$/ }, type: { name: "String" @@ -847,7 +1110,7 @@ export const ContainerServiceNetworkProfile: msRest.CompositeMapper = { serializedName: "serviceCidr", defaultValue: '10.0.0.0/16', constraints: { - Pattern: /^([0-9]{1,3}\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$/ + Pattern: /^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$/ }, type: { name: "String" @@ -867,7 +1130,7 @@ export const ContainerServiceNetworkProfile: msRest.CompositeMapper = { serializedName: "dockerBridgeCidr", defaultValue: '172.17.0.1/16', constraints: { - Pattern: /^([0-9]{1,3}\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$/ + Pattern: /^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$/ }, type: { name: "String" @@ -941,107 +1204,6 @@ export const ManagedClusterAADProfile: msRest.CompositeMapper = { } }; -export const ManagedClusterProperties: msRest.CompositeMapper = { - serializedName: "ManagedClusterProperties", - type: { - name: "Composite", - className: "ManagedClusterProperties", - modelProperties: { - provisioningState: { - readOnly: true, - serializedName: "provisioningState", - type: { - name: "String" - } - }, - kubernetesVersion: { - serializedName: "kubernetesVersion", - type: { - name: "String" - } - }, - dnsPrefix: { - serializedName: "dnsPrefix", - type: { - name: "String" - } - }, - fqdn: { - readOnly: true, - serializedName: "fqdn", - type: { - name: "String" - } - }, - agentPoolProfiles: { - serializedName: "agentPoolProfiles", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedClusterAgentPoolProfile" - } - } - } - }, - linuxProfile: { - serializedName: "linuxProfile", - type: { - name: "Composite", - className: "ContainerServiceLinuxProfile" - } - }, - servicePrincipalProfile: { - serializedName: "servicePrincipalProfile", - type: { - name: "Composite", - className: "ManagedClusterServicePrincipalProfile" - } - }, - addonProfiles: { - serializedName: "addonProfiles", - type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "ManagedClusterAddonProfile" - } - } - } - }, - nodeResourceGroup: { - readOnly: true, - serializedName: "nodeResourceGroup", - type: { - name: "String" - } - }, - enableRBAC: { - serializedName: "enableRBAC", - type: { - name: "Boolean" - } - }, - networkProfile: { - serializedName: "networkProfile", - type: { - name: "Composite", - className: "ContainerServiceNetworkProfile" - } - }, - aadProfile: { - serializedName: "aadProfile", - type: { - name: "Composite", - className: "ManagedClusterAADProfile" - } - } - } - } -}; - export const ManagedCluster: msRest.CompositeMapper = { serializedName: "ManagedCluster", type: { @@ -1168,22 +1330,6 @@ export const OrchestratorProfile: msRest.CompositeMapper = { } }; -export const AccessProfile: msRest.CompositeMapper = { - serializedName: "AccessProfile", - type: { - name: "Composite", - className: "AccessProfile", - modelProperties: { - kubeConfig: { - serializedName: "kubeConfig", - type: { - name: "ByteArray" - } - } - } - } -}; - export const ManagedClusterAccessProfile: msRest.CompositeMapper = { serializedName: "ManagedClusterAccessProfile", type: { @@ -1243,37 +1389,6 @@ export const ManagedClusterPoolUpgradeProfile: msRest.CompositeMapper = { } }; -export const ManagedClusterUpgradeProfileProperties: msRest.CompositeMapper = { - serializedName: "ManagedClusterUpgradeProfileProperties", - type: { - name: "Composite", - className: "ManagedClusterUpgradeProfileProperties", - modelProperties: { - controlPlaneProfile: { - required: true, - serializedName: "controlPlaneProfile", - type: { - name: "Composite", - className: "ManagedClusterPoolUpgradeProfile" - } - }, - agentPoolProfiles: { - required: true, - serializedName: "agentPoolProfiles", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedClusterPoolUpgradeProfile" - } - } - } - } - } - } -}; - export const ManagedClusterUpgradeProfile: msRest.CompositeMapper = { serializedName: "ManagedClusterUpgradeProfile", type: { @@ -1417,29 +1532,6 @@ export const OrchestratorVersionProfile: msRest.CompositeMapper = { } }; -export const OrchestratorVersionProfileProperties: msRest.CompositeMapper = { - serializedName: "OrchestratorVersionProfileProperties", - type: { - name: "Composite", - className: "OrchestratorVersionProfileProperties", - modelProperties: { - orchestrators: { - required: true, - serializedName: "orchestrators", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "OrchestratorVersionProfile" - } - } - } - } - } - } -}; - export const OrchestratorVersionProfileListResult: msRest.CompositeMapper = { serializedName: "OrchestratorVersionProfileListResult", type: { @@ -1564,3 +1656,8 @@ export const ManagedClusterListResult: msRest.CompositeMapper = { } } }; + +export const discriminators = { + 'OpenShiftManagedClusterBaseIdentityProvider' : OpenShiftManagedClusterBaseIdentityProvider, + 'OpenShiftManagedClusterBaseIdentityProvider.AADIdentityProvider' : OpenShiftManagedClusterAADIdentityProvider +}; diff --git a/packages/@azure/arm-containerservice/lib/models/openShiftManagedClustersMappers.ts b/packages/@azure/arm-containerservice/lib/models/openShiftManagedClustersMappers.ts new file mode 100644 index 000000000000..5a4e00b5a41d --- /dev/null +++ b/packages/@azure/arm-containerservice/lib/models/openShiftManagedClustersMappers.ts @@ -0,0 +1,48 @@ +/* + * 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 { + discriminators, + OpenShiftManagedCluster, + Resource, + BaseResource, + PurchasePlan, + NetworkProfile, + OpenShiftRouterProfile, + OpenShiftManagedClusterMasterPoolProfile, + OpenShiftManagedClusterAgentPoolProfile, + OpenShiftManagedClusterAuthProfile, + OpenShiftManagedClusterIdentityProvider, + OpenShiftManagedClusterBaseIdentityProvider, + CloudError, + TagsObject, + OpenShiftManagedClusterAADIdentityProvider, + ContainerService, + ContainerServiceOrchestratorProfile, + ContainerServiceCustomProfile, + ContainerServiceServicePrincipalProfile, + KeyVaultSecretRef, + ContainerServiceMasterProfile, + ContainerServiceAgentPoolProfile, + ContainerServiceWindowsProfile, + ContainerServiceLinuxProfile, + ContainerServiceSshConfiguration, + ContainerServiceSshPublicKey, + ContainerServiceDiagnosticsProfile, + ContainerServiceVMDiagnostics, + ManagedCluster, + ManagedClusterAgentPoolProfile, + ManagedClusterServicePrincipalProfile, + ManagedClusterAddonProfile, + ContainerServiceNetworkProfile, + ManagedClusterAADProfile, + ManagedClusterAccessProfile +} from "../models/mappers"; + diff --git a/packages/@azure/arm-containerservice/lib/models/operationsMappers.ts b/packages/@azure/arm-containerservice/lib/models/operationsMappers.ts index 033edbed7464..55bb08c1de34 100644 --- a/packages/@azure/arm-containerservice/lib/models/operationsMappers.ts +++ b/packages/@azure/arm-containerservice/lib/models/operationsMappers.ts @@ -9,6 +9,7 @@ */ export { + discriminators, OperationListResult, OperationValue, CloudError diff --git a/packages/@azure/arm-containerservice/lib/models/parameters.ts b/packages/@azure/arm-containerservice/lib/models/parameters.ts index 17986b67cf4c..e42ccafde634 100644 --- a/packages/@azure/arm-containerservice/lib/models/parameters.ts +++ b/packages/@azure/arm-containerservice/lib/models/parameters.ts @@ -26,7 +26,7 @@ export const apiVersion0: msRest.OperationQueryParameter = { required: true, isConstant: true, serializedName: "api-version", - defaultValue: '2017-07-01', + defaultValue: '2018-09-30-preview', type: { name: "String" } @@ -38,13 +38,25 @@ export const apiVersion1: msRest.OperationQueryParameter = { required: true, isConstant: true, serializedName: "api-version", - defaultValue: '2017-09-30', + defaultValue: '2017-07-01', type: { name: "String" } } }; export const apiVersion2: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + isConstant: true, + serializedName: "api-version", + defaultValue: '2017-09-30', + type: { + name: "String" + } + } +}; +export const apiVersion3: msRest.OperationQueryParameter = { parameterPath: "apiVersion", mapper: { required: true, diff --git a/packages/@azure/arm-containerservice/lib/operations/containerServices.ts b/packages/@azure/arm-containerservice/lib/operations/containerServices.ts index 76a4e3dd3353..7bae83a16054 100644 --- a/packages/@azure/arm-containerservice/lib/operations/containerServices.ts +++ b/packages/@azure/arm-containerservice/lib/operations/containerServices.ts @@ -304,7 +304,7 @@ const listOperationSpec: msRest.OperationSpec = { Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion0 + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -329,7 +329,7 @@ const getOperationSpec: msRest.OperationSpec = { Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion0 + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -353,7 +353,7 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion0 + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -377,7 +377,7 @@ const listOrchestratorsOperationSpec: msRest.OperationSpec = { Parameters.location ], queryParameters: [ - Parameters.apiVersion1, + Parameters.apiVersion2, Parameters.resourceType ], headerParameters: [ @@ -403,7 +403,7 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion0 + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -441,7 +441,7 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion0 + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage diff --git a/packages/@azure/arm-containerservice/lib/operations/index.ts b/packages/@azure/arm-containerservice/lib/operations/index.ts index 482f5f30a372..6847d866f326 100644 --- a/packages/@azure/arm-containerservice/lib/operations/index.ts +++ b/packages/@azure/arm-containerservice/lib/operations/index.ts @@ -8,6 +8,7 @@ * regenerated. */ +export * from "./openShiftManagedClusters"; export * from "./containerServices"; export * from "./operations"; export * from "./managedClusters"; diff --git a/packages/@azure/arm-containerservice/lib/operations/managedClusters.ts b/packages/@azure/arm-containerservice/lib/operations/managedClusters.ts index fa81436e09f0..47321fd42f44 100644 --- a/packages/@azure/arm-containerservice/lib/operations/managedClusters.ts +++ b/packages/@azure/arm-containerservice/lib/operations/managedClusters.ts @@ -428,7 +428,7 @@ const listOperationSpec: msRest.OperationSpec = { Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage @@ -452,7 +452,7 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { Parameters.resourceGroupName ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage @@ -477,7 +477,7 @@ const getUpgradeProfileOperationSpec: msRest.OperationSpec = { Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage @@ -503,7 +503,7 @@ const getAccessProfileOperationSpec: msRest.OperationSpec = { Parameters.roleName ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage @@ -528,7 +528,7 @@ const listClusterAdminCredentialsOperationSpec: msRest.OperationSpec = { Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage @@ -553,7 +553,7 @@ const listClusterUserCredentialsOperationSpec: msRest.OperationSpec = { Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage @@ -578,7 +578,7 @@ const getOperationSpec: msRest.OperationSpec = { Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage @@ -603,7 +603,7 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage @@ -638,7 +638,7 @@ const beginUpdateTagsOperationSpec: msRest.OperationSpec = { Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage @@ -670,7 +670,7 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage diff --git a/packages/@azure/arm-containerservice/lib/operations/openShiftManagedClusters.ts b/packages/@azure/arm-containerservice/lib/operations/openShiftManagedClusters.ts new file mode 100644 index 000000000000..7153cbba4ba2 --- /dev/null +++ b/packages/@azure/arm-containerservice/lib/operations/openShiftManagedClusters.ts @@ -0,0 +1,286 @@ +/* + * 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 "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/openShiftManagedClustersMappers"; +import * as Parameters from "../models/parameters"; +import { ContainerServiceClientContext } from "../containerServiceClientContext"; + +/** Class representing a OpenShiftManagedClusters. */ +export class OpenShiftManagedClusters { + private readonly client: ContainerServiceClientContext; + + /** + * Create a OpenShiftManagedClusters. + * @param {ContainerServiceClientContext} client Reference to the service client. + */ + constructor(client: ContainerServiceClientContext) { + this.client = client; + } + + /** + * Gets the details of the managed openshift cluster with a specified resource group and name. + * @summary Gets a openshift managed cluster. + * @param resourceGroupName The name of the resource group. + * @param resourceName The name of the openshift managed cluster resource. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param resourceName The name of the openshift managed cluster resource. + * @param callback The callback + */ + get(resourceGroupName: string, resourceName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param resourceName The name of the openshift managed cluster resource. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, resourceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + resourceName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Creates or updates a openshift managed cluster with the specified configuration for agents and + * OpenShift version. + * @summary Creates or updates an openshift managed cluster. + * @param resourceGroupName The name of the resource group. + * @param resourceName The name of the openshift managed cluster resource. + * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, resourceName: string, parameters: Models.OpenShiftManagedCluster, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,resourceName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Updates an openshift managed cluster with the specified tags. + * @summary Updates tags on an openshift managed cluster. + * @param resourceGroupName The name of the resource group. + * @param resourceName The name of the openshift managed cluster resource. + * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags operation. + * @param [options] The optional parameters + * @returns Promise + */ + updateTags(resourceGroupName: string, resourceName: string, parameters: Models.TagsObject, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdateTags(resourceGroupName,resourceName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Deletes the openshift managed cluster with a specified resource group and name. + * @summary Deletes an openshift managed cluster. + * @param resourceGroupName The name of the resource group. + * @param resourceName The name of the openshift managed cluster resource. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,resourceName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Creates or updates a openshift managed cluster with the specified configuration for agents and + * OpenShift version. + * @summary Creates or updates an openshift managed cluster. + * @param resourceGroupName The name of the resource group. + * @param resourceName The name of the openshift managed cluster resource. + * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, resourceName: string, parameters: Models.OpenShiftManagedCluster, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + resourceName, + parameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Updates an openshift managed cluster with the specified tags. + * @summary Updates tags on an openshift managed cluster. + * @param resourceGroupName The name of the resource group. + * @param resourceName The name of the openshift managed cluster resource. + * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags operation. + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdateTags(resourceGroupName: string, resourceName: string, parameters: Models.TagsObject, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + resourceName, + parameters, + options + }, + beginUpdateTagsOperationSpec, + options); + } + + /** + * Deletes the openshift managed cluster with a specified resource group and name. + * @summary Deletes an openshift managed cluster. + * @param resourceGroupName The name of the resource group. + * @param resourceName The name of the openshift managed cluster resource. + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + resourceName, + options + }, + beginDeleteMethodOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters/{resourceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OpenShiftManagedCluster + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters/{resourceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.OpenShiftManagedCluster, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.OpenShiftManagedCluster + }, + 201: { + bodyMapper: Mappers.OpenShiftManagedCluster + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginUpdateTagsOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters/{resourceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.TagsObject, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.OpenShiftManagedCluster + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters/{resourceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/packages/@azure/arm-containerservice/lib/operations/operations.ts b/packages/@azure/arm-containerservice/lib/operations/operations.ts index 78121222bbe1..178653ba1d4f 100644 --- a/packages/@azure/arm-containerservice/lib/operations/operations.ts +++ b/packages/@azure/arm-containerservice/lib/operations/operations.ts @@ -57,7 +57,7 @@ const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "providers/Microsoft.ContainerService/operations", queryParameters: [ - Parameters.apiVersion2 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage diff --git a/packages/@azure/arm-containerservice/package.json b/packages/@azure/arm-containerservice/package.json index 3d119026d15c..678a7e97c5e0 100644 --- a/packages/@azure/arm-containerservice/package.json +++ b/packages/@azure/arm-containerservice/package.json @@ -2,10 +2,10 @@ "name": "@azure/arm-containerservice", "author": "Microsoft Corporation", "description": "ContainerServiceClient Library with typescript type definitions for node.js and browser.", - "version": "1.0.0", + "version": "1.0.0-preview", "dependencies": { - "ms-rest-azure-js": "^1.0.166", - "ms-rest-js": "^1.0.439", + "ms-rest-azure-js": "^1.0.172", + "ms-rest-js": "^1.0.443", "tslib": "^1.9.3" }, "keywords": [ @@ -25,7 +25,7 @@ "rollup-plugin-node-resolve": "^3.4.0", "uglify-js": "^3.4.9" }, - "homepage": "https://github.com/azure/azure-sdk-for-js", + "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/packages/@azure/arm-containerservice", "repository": { "type": "git", "url": "https://github.com/azure/azure-sdk-for-js.git"