diff --git a/lib/services/hdInsightManagement/lib/models/cluster.js b/lib/services/hdInsightManagement/lib/models/cluster.js index 61b878d262..1729397f80 100644 --- a/lib/services/hdInsightManagement/lib/models/cluster.js +++ b/lib/services/hdInsightManagement/lib/models/cluster.js @@ -71,6 +71,22 @@ class Cluster extends models['TrackedResource'] { * @member {array} [properties.errors] The list of errors. * @member {array} [properties.connectivityEndpoints] The list of * connectivity endpoints. + * @member {object} [identity] The identity of the cluster, if configured. + * @member {string} [identity.principalId] The principal id of cluster + * identity. This property will only be provided for a system assigned + * identity. + * @member {string} [identity.tenantId] The tenant id associated with the + * cluster. This property will only be provided for a system assigned + * identity. + * @member {string} [identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an + * implicitly created identity and a set of user assigned identities. + * Possible values include: 'SystemAssigned', 'UserAssigned', + * 'SystemAssigned, UserAssigned', 'None' + * @member {object} [identity.userAssignedIdentities] The list of user + * identities associated with the cluster. The user identity dictionary key + * references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ constructor() { super(); @@ -149,6 +165,14 @@ class Cluster extends models['TrackedResource'] { name: 'Composite', className: 'ClusterGetProperties' } + }, + identity: { + required: false, + serializedName: 'identity', + type: { + name: 'Composite', + className: 'ClusterIdentity' + } } } } diff --git a/lib/services/hdInsightManagement/lib/models/clusterCreateParametersExtended.js b/lib/services/hdInsightManagement/lib/models/clusterCreateParametersExtended.js index 57dc3e001d..107334b35e 100644 --- a/lib/services/hdInsightManagement/lib/models/clusterCreateParametersExtended.js +++ b/lib/services/hdInsightManagement/lib/models/clusterCreateParametersExtended.js @@ -60,6 +60,22 @@ class ClusterCreateParametersExtended { * @member {object} [properties.storageProfile] The storage profile. * @member {array} [properties.storageProfile.storageaccounts] The list of * storage accounts in the cluster. + * @member {object} [identity] The identity of the cluster, if configured. + * @member {string} [identity.principalId] The principal id of cluster + * identity. This property will only be provided for a system assigned + * identity. + * @member {string} [identity.tenantId] The tenant id associated with the + * cluster. This property will only be provided for a system assigned + * identity. + * @member {string} [identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an + * implicitly created identity and a set of user assigned identities. + * Possible values include: 'SystemAssigned', 'UserAssigned', + * 'SystemAssigned, UserAssigned', 'None' + * @member {object} [identity.userAssignedIdentities] The list of user + * identities associated with the cluster. The user identity dictionary key + * references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ constructor() { } @@ -106,6 +122,14 @@ class ClusterCreateParametersExtended { name: 'Composite', className: 'ClusterCreateProperties' } + }, + identity: { + required: false, + serializedName: 'identity', + type: { + name: 'Composite', + className: 'ClusterIdentity' + } } } } diff --git a/lib/services/hdInsightManagement/lib/models/clusterIdentity.js b/lib/services/hdInsightManagement/lib/models/clusterIdentity.js new file mode 100644 index 0000000000..68ca7b954f --- /dev/null +++ b/lib/services/hdInsightManagement/lib/models/clusterIdentity.js @@ -0,0 +1,95 @@ +/* + * 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. + */ + +'use strict'; + +/** + * Identity for the cluster. + * + */ +class ClusterIdentity { + /** + * Create a ClusterIdentity. + * @member {string} [principalId] The principal id of cluster identity. This + * property will only be provided for a system assigned identity. + * @member {string} [tenantId] The tenant id associated with the cluster. + * This property will only be provided for a system assigned identity. + * @member {string} [type] The type of identity used for the cluster. The + * type 'SystemAssigned, UserAssigned' includes both an implicitly created + * identity and a set of user assigned identities. Possible values include: + * 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + * @member {object} [userAssignedIdentities] The list of user identities + * associated with the cluster. The user identity dictionary key references + * will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + constructor() { + } + + /** + * Defines the metadata of ClusterIdentity + * + * @returns {object} metadata of ClusterIdentity + * + */ + mapper() { + return { + required: false, + serializedName: 'ClusterIdentity', + type: { + name: 'Composite', + className: 'ClusterIdentity', + modelProperties: { + principalId: { + required: false, + readOnly: true, + serializedName: 'principalId', + type: { + name: 'String' + } + }, + tenantId: { + required: false, + readOnly: true, + serializedName: 'tenantId', + type: { + name: 'String' + } + }, + type: { + required: false, + serializedName: 'type', + type: { + name: 'Enum', + allowedValues: [ 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' ] + } + }, + userAssignedIdentities: { + required: false, + serializedName: 'userAssignedIdentities', + type: { + name: 'Dictionary', + value: { + required: false, + serializedName: 'ClusterIdentityUserAssignedIdentitiesValueElementType', + type: { + name: 'Composite', + className: 'ClusterIdentityUserAssignedIdentitiesValue' + } + } + } + } + } + } + }; + } +} + +module.exports = ClusterIdentity; diff --git a/lib/services/hdInsightManagement/lib/models/clusterIdentityUserAssignedIdentitiesValue.js b/lib/services/hdInsightManagement/lib/models/clusterIdentityUserAssignedIdentitiesValue.js new file mode 100644 index 0000000000..1f81b839d9 --- /dev/null +++ b/lib/services/hdInsightManagement/lib/models/clusterIdentityUserAssignedIdentitiesValue.js @@ -0,0 +1,61 @@ +/* + * 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. + */ + +'use strict'; + +/** + * Class representing a ClusterIdentityUserAssignedIdentitiesValue. + */ +class ClusterIdentityUserAssignedIdentitiesValue { + /** + * Create a ClusterIdentityUserAssignedIdentitiesValue. + * @member {string} [principalId] The principal id of user assigned identity. + * @member {string} [clientId] The client id of user assigned identity. + */ + constructor() { + } + + /** + * Defines the metadata of ClusterIdentityUserAssignedIdentitiesValue + * + * @returns {object} metadata of ClusterIdentityUserAssignedIdentitiesValue + * + */ + mapper() { + return { + required: false, + serializedName: 'ClusterIdentity_userAssignedIdentitiesValue', + type: { + name: 'Composite', + className: 'ClusterIdentityUserAssignedIdentitiesValue', + modelProperties: { + principalId: { + required: false, + readOnly: true, + serializedName: 'principalId', + type: { + name: 'String' + } + }, + clientId: { + required: false, + readOnly: true, + serializedName: 'clientId', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ClusterIdentityUserAssignedIdentitiesValue; diff --git a/lib/services/hdInsightManagement/lib/models/index.d.ts b/lib/services/hdInsightManagement/lib/models/index.d.ts index cf6aa99b9c..dcaa3fc71e 100644 --- a/lib/services/hdInsightManagement/lib/models/index.d.ts +++ b/lib/services/hdInsightManagement/lib/models/index.d.ts @@ -332,6 +332,44 @@ export interface ClusterCreateProperties { storageProfile?: StorageProfile; } +/** + * @class + * Initializes a new instance of the ClusterIdentityUserAssignedIdentitiesValue class. + * @constructor + * @member {string} [principalId] The principal id of user assigned identity. + * @member {string} [clientId] The client id of user assigned identity. + */ +export interface ClusterIdentityUserAssignedIdentitiesValue { + readonly principalId?: string; + readonly clientId?: string; +} + +/** + * @class + * Initializes a new instance of the ClusterIdentity class. + * @constructor + * Identity for the cluster. + * + * @member {string} [principalId] The principal id of cluster identity. This + * property will only be provided for a system assigned identity. + * @member {string} [tenantId] The tenant id associated with the cluster. This + * property will only be provided for a system assigned identity. + * @member {string} [type] The type of identity used for the cluster. The type + * 'SystemAssigned, UserAssigned' includes both an implicitly created identity + * and a set of user assigned identities. Possible values include: + * 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + * @member {object} [userAssignedIdentities] The list of user identities + * associated with the cluster. The user identity dictionary key references + * will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ +export interface ClusterIdentity { + readonly principalId?: string; + readonly tenantId?: string; + type?: string; + userAssignedIdentities?: { [propertyName: string]: ClusterIdentityUserAssignedIdentitiesValue }; +} + /** * @class * Initializes a new instance of the ClusterCreateParametersExtended class. @@ -381,11 +419,26 @@ export interface ClusterCreateProperties { * @member {object} [properties.storageProfile] The storage profile. * @member {array} [properties.storageProfile.storageaccounts] The list of * storage accounts in the cluster. + * @member {object} [identity] The identity of the cluster, if configured. + * @member {string} [identity.principalId] The principal id of cluster + * identity. This property will only be provided for a system assigned + * identity. + * @member {string} [identity.tenantId] The tenant id associated with the + * cluster. This property will only be provided for a system assigned identity. + * @member {string} [identity.type] The type of identity used for the cluster. + * The type 'SystemAssigned, UserAssigned' includes both an implicitly created + * identity and a set of user assigned identities. Possible values include: + * 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + * @member {object} [identity.userAssignedIdentities] The list of user + * identities associated with the cluster. The user identity dictionary key + * references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ export interface ClusterCreateParametersExtended { location?: string; tags?: { [propertyName: string]: string }; properties?: ClusterCreateProperties; + identity?: ClusterIdentity; } /** @@ -596,10 +649,25 @@ export interface TrackedResource extends Resource { * @member {array} [properties.errors] The list of errors. * @member {array} [properties.connectivityEndpoints] The list of connectivity * endpoints. + * @member {object} [identity] The identity of the cluster, if configured. + * @member {string} [identity.principalId] The principal id of cluster + * identity. This property will only be provided for a system assigned + * identity. + * @member {string} [identity.tenantId] The tenant id associated with the + * cluster. This property will only be provided for a system assigned identity. + * @member {string} [identity.type] The type of identity used for the cluster. + * The type 'SystemAssigned, UserAssigned' includes both an implicitly created + * identity and a set of user assigned identities. Possible values include: + * 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + * @member {object} [identity.userAssignedIdentities] The list of user + * identities associated with the cluster. The user identity dictionary key + * references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ export interface Cluster extends TrackedResource { etag?: string; properties?: ClusterGetProperties; + identity?: ClusterIdentity; } /** diff --git a/lib/services/hdInsightManagement/lib/models/index.js b/lib/services/hdInsightManagement/lib/models/index.js index 5479f7cd86..d9fce93bce 100644 --- a/lib/services/hdInsightManagement/lib/models/index.js +++ b/lib/services/hdInsightManagement/lib/models/index.js @@ -33,6 +33,8 @@ exports.ComputeProfile = require('./computeProfile'); exports.StorageAccount = require('./storageAccount'); exports.StorageProfile = require('./storageProfile'); exports.ClusterCreateProperties = require('./clusterCreateProperties'); +exports.ClusterIdentityUserAssignedIdentitiesValue = require('./clusterIdentityUserAssignedIdentitiesValue'); +exports.ClusterIdentity = require('./clusterIdentity'); exports.ClusterCreateParametersExtended = require('./clusterCreateParametersExtended'); exports.ClusterPatchParameters = require('./clusterPatchParameters'); exports.QuotaInfo = require('./quotaInfo'); diff --git a/lib/services/hdInsightManagement/lib/operations/clusters.js b/lib/services/hdInsightManagement/lib/operations/clusters.js index d50597b8b1..bc05de32ca 100644 --- a/lib/services/hdInsightManagement/lib/operations/clusters.js +++ b/lib/services/hdInsightManagement/lib/operations/clusters.js @@ -96,6 +96,20 @@ const WebResource = msRest.WebResource; * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -1036,6 +1050,20 @@ function _executeScriptActions(resourceGroupName, clusterName, parameters, optio * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -1986,6 +2014,20 @@ class Clusters { * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -2092,6 +2134,20 @@ class Clusters { * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -2841,6 +2897,20 @@ class Clusters { * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -2947,6 +3017,20 @@ class Clusters { * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the diff --git a/lib/services/hdInsightManagement/lib/operations/index.d.ts b/lib/services/hdInsightManagement/lib/operations/index.d.ts index f5e832f619..07f6572adb 100644 --- a/lib/services/hdInsightManagement/lib/operations/index.d.ts +++ b/lib/services/hdInsightManagement/lib/operations/index.d.ts @@ -102,6 +102,20 @@ export interface Clusters { * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -196,6 +210,20 @@ export interface Clusters { * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -741,6 +769,20 @@ export interface Clusters { * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -835,6 +877,20 @@ export interface Clusters { * @param {array} [parameters.properties.storageProfile.storageaccounts] The * list of storage accounts in the cluster. * + * @param {object} [parameters.identity] The identity of the cluster, if + * configured. + * + * @param {string} [parameters.identity.type] The type of identity used for the + * cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly + * created identity and a set of user assigned identities. Possible values + * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * + * @param {object} [parameters.identity.userAssignedIdentities] The list of + * user identities associated with the cluster. The user identity dictionary + * key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the diff --git a/lib/services/hdInsightManagement/package.json b/lib/services/hdInsightManagement/package.json index 3ec0a1f7f4..40a1d93b4f 100644 --- a/lib/services/hdInsightManagement/package.json +++ b/lib/services/hdInsightManagement/package.json @@ -2,7 +2,7 @@ "name": "azure-arm-hdinsight", "author": "Microsoft Corporation", "description": "HDInsightManagementClient Library with typescript type definitions for node", - "version": "0.7.0", + "version": "0.8.0", "dependencies": { "ms-rest": "^2.3.3", "ms-rest-azure": "^2.5.5"