diff --git a/sdk/resources/arm-resources/src/models/deploymentsMappers.ts b/sdk/resources/arm-resources/src/models/deploymentsMappers.ts index 4676bd4f1d64..64e6ca52d9b5 100644 --- a/sdk/resources/arm-resources/src/models/deploymentsMappers.ts +++ b/sdk/resources/arm-resources/src/models/deploymentsMappers.ts @@ -33,6 +33,7 @@ export { DeploymentWhatIfSettings, ErrorAdditionalInfo, ErrorResponse, + ExpressionEvaluationOptions, GenericResource, GenericResourceExpanded, Identity, diff --git a/sdk/resources/arm-resources/src/models/index.ts b/sdk/resources/arm-resources/src/models/index.ts index ad174de99f5b..911abe60c1a8 100644 --- a/sdk/resources/arm-resources/src/models/index.ts +++ b/sdk/resources/arm-resources/src/models/index.ts @@ -120,6 +120,18 @@ export interface OnErrorDeployment { deploymentName?: string; } +/** + * Specifies whether template expressions are evaluated within the scope of the parent template or + * nested template. + */ +export interface ExpressionEvaluationOptions { + /** + * The scope to be used for evaluation of parameters, variables and functions in a nested + * template. Possible values include: 'NotSpecified', 'Outer', 'Inner' + */ + scope?: ExpressionEvaluationOptionsScopeType; +} + /** * Deployment properties. */ @@ -164,6 +176,12 @@ export interface DeploymentProperties { * The deployment on error behavior. */ onErrorDeployment?: OnErrorDeployment; + /** + * Specifies whether template expressions are evaluated within the scope of the parent template + * or nested template. Only applicable to nested templates. If not specified, default value is + * outer. + */ + expressionEvaluationOptions?: ExpressionEvaluationOptions; } /** @@ -1811,6 +1829,14 @@ export type DeploymentMode = 'Incremental' | 'Complete'; */ export type OnErrorDeploymentType = 'LastSuccessful' | 'SpecificDeployment'; +/** + * Defines values for ExpressionEvaluationOptionsScopeType. + * Possible values include: 'NotSpecified', 'Outer', 'Inner' + * @readonly + * @enum {string} + */ +export type ExpressionEvaluationOptionsScopeType = 'NotSpecified' | 'Outer' | 'Inner'; + /** * Defines values for WhatIfResultFormat. * Possible values include: 'ResourceIdOnly', 'FullResourcePayloads' diff --git a/sdk/resources/arm-resources/src/models/mappers.ts b/sdk/resources/arm-resources/src/models/mappers.ts index 6e248695fcca..c79b9cdd1e69 100644 --- a/sdk/resources/arm-resources/src/models/mappers.ts +++ b/sdk/resources/arm-resources/src/models/mappers.ts @@ -177,6 +177,22 @@ export const OnErrorDeployment: msRest.CompositeMapper = { } }; +export const ExpressionEvaluationOptions: msRest.CompositeMapper = { + serializedName: "ExpressionEvaluationOptions", + type: { + name: "Composite", + className: "ExpressionEvaluationOptions", + modelProperties: { + scope: { + serializedName: "scope", + type: { + name: "String" + } + } + } + } +}; + export const DeploymentProperties: msRest.CompositeMapper = { serializedName: "DeploymentProperties", type: { @@ -233,6 +249,13 @@ export const DeploymentProperties: msRest.CompositeMapper = { name: "Composite", className: "OnErrorDeployment" } + }, + expressionEvaluationOptions: { + serializedName: "expressionEvaluationOptions", + type: { + name: "Composite", + className: "ExpressionEvaluationOptions" + } } } } diff --git a/sdk/resources/arm-resources/src/operations/providers.ts b/sdk/resources/arm-resources/src/operations/providers.ts index 6af7adc91231..98e5094c776c 100644 --- a/sdk/resources/arm-resources/src/operations/providers.ts +++ b/sdk/resources/arm-resources/src/operations/providers.ts @@ -54,6 +54,38 @@ export class Providers { callback) as Promise; } + /** + * Registers a management group with a resource provider. + * @param resourceProviderNamespace The namespace of the resource provider to register. + * @param groupId The management group ID. + * @param [options] The optional parameters + * @returns Promise + */ + registerAtManagementGroupScope(resourceProviderNamespace: string, groupId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceProviderNamespace The namespace of the resource provider to register. + * @param groupId The management group ID. + * @param callback The callback + */ + registerAtManagementGroupScope(resourceProviderNamespace: string, groupId: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceProviderNamespace The namespace of the resource provider to register. + * @param groupId The management group ID. + * @param options The optional parameters + * @param callback The callback + */ + registerAtManagementGroupScope(resourceProviderNamespace: string, groupId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + registerAtManagementGroupScope(resourceProviderNamespace: string, groupId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceProviderNamespace, + groupId, + options + }, + registerAtManagementGroupScopeOperationSpec, + callback); + } + /** * Registers a subscription with a resource provider. * @param resourceProviderNamespace The namespace of the resource provider to register. @@ -269,6 +301,28 @@ const unregisterOperationSpec: msRest.OperationSpec = { serializer }; +const registerAtManagementGroupScopeOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "providers/Microsoft.Management/managementGroups/{groupId}/providers/{resourceProviderNamespace}/register", + urlParameters: [ + Parameters.resourceProviderNamespace, + Parameters.groupId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + const registerOperationSpec: msRest.OperationSpec = { httpMethod: "POST", path: "subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register",