UNPKG

@autorest/powershell

Version:
439 lines (424 loc) 11.1 kB
<!-- region Generated --> # Az.Resources.TestSupport This directory contains the PowerShell module for the Resources service. --- ## Info - Modifiable: yes - Generated: all - Committed: yes - Packaged: yes --- ## Detail This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension. ## Module Requirements - [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater ## Authentication AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent. ## Development For information on how to develop for `Az.Resources.TestSupport`, see [how-to.md](how-to.md). <!-- endregion --> --- ## Generation Requirements Use of the beta version of `autorest.powershell` generator requires the following: - [NodeJS LTS](https://nodejs.org) (10.15.x LTS preferred) - **Note**: It *will not work* with Node < 10.x. Using 11.x builds may cause issues as they may introduce instability or breaking changes. > If you want an easy way to install and update Node, [NVS - Node Version Switcher](../nodejs/installing-via-nvs.md) or [NVM - Node Version Manager](../nodejs/installing-via-nvm.md) is recommended. - [AutoRest](https://aka.ms/autorest) v3 <br>`npm install -g autorest`<br>&nbsp; - PowerShell 6.0 or greater - If you don't have it installed, you can use the cross-platform npm package <br>`npm install -g pwsh`<br>&nbsp; - .NET Core SDK 2.0 or greater - If you don't have it installed, you can use the cross-platform npm package <br>`npm install -g dotnet-sdk-2.2`<br>&nbsp; ## Run Generation In this directory, run AutoRest: > `autorest` --- ### AutoRest Configuration > see https://aka.ms/autorest > Values ``` yaml azure: true powershell: true branch: master repo: https://github.com/Azure/azure-rest-api-specs/blob/$(branch) metadata: authors: Microsoft Corporation owners: Microsoft Corporation copyright: Microsoft Corporation. All rights reserved. companyName: Microsoft Corporation requireLicenseAcceptance: true licenseUri: https://aka.ms/azps-license projectUri: https://github.com/Azure/azure-powershell ``` > Names ``` yaml prefix: Az ``` > Folders ``` yaml clear-output-folder: true ``` ``` yaml input-file: - https://github.com/Azure/azure-rest-api-specs/blob/d55f30f41f04e712de101fc9c17a591ca410bfed/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json module-name: Az.Resources.TestSupport namespace: Microsoft.Azure.PowerShell.Cmdlets.Resources subject-prefix: '' module-version: 0.0.1 title: Resources directive: - remove-operation: Deployments_CreateOrUpdateAtSubscriptionScope - where: subject: Operation hide: true - where: parameter-name: SubscriptionId set: default: script: '(Get-AzContext).Subscription.Id' - from: swagger-document where: $..parameters[?(@.name=='$filter')] transform: $['x-ms-skip-url-encoding'] = true - from: swagger-document where: $..[?( /Resources_(CreateOrUpdate|Update|Delete|Get|GetById|CheckExistence|CheckExistenceById)/g.exec(@.operationId))] transform: "$.parameters = $.parameters.map( each => { each.name = each.name === 'api-version' ? 'explicit-api-version' : each.name; return each; } );" - from: source-file-csharp where: $ transform: $ = $.replace(/explicit-api-version/g, 'api-version'); - where: parameter-name: ExplicitApiVersion set: parameter-name: ApiVersion - from: source-file-csharp where: $ transform: > $ = $.replace(/result.OdataNextLink/g,'nextLink' ); return $.replace( /(^\s*)(if\s*\(\s*nextLink\s*!=\s*null\s*\))/gm, '$1var nextLink = Module.Instance.FixNextLink(responseMessage, result.OdataNextLink);\n$1$2' ); - from: swagger-document where: - $..DeploymentProperties.properties.template - $..DeploymentProperties.properties.parameters - $..ResourceGroupExportResult.properties.template - $..PolicyDefinitionProperties.properties.policyRule transform: $.additionalProperties = true; - where: verb: Set subject: Resource remove: true - where: verb: Set subject: Deployment remove: true - where: subject: Resource parameter-name: GroupName set: parameter-name: ResourceGroupName clear-alias: true - where: subject: Resource parameter-name: Id set: parameter-name: ResourceId clear-alias: true - where: subject: Resource parameter-name: Type set: parameter-name: ResourceType clear-alias: true - where: subject: Appliance* remove: true - where: verb: Test subject: CheckNameAvailability set: subject: NameAvailability - where: verb: Export subject: ResourceGroupTemplate set: subject: ResourceGroup alias: Export-AzResourceGroupTemplate - where: parameter-name: Filter set: alias: ODataQuery - where: verb: Test subject: ResourceGroupExistence set: subject: ResourceGroup alias: Test-AzResourceGroupExistence - where: verb: Export subject: DeploymentTemplate set: alias: [Save-AzDeploymentTemplate, Save-AzResourceGroupDeploymentTemplate] - where: subject: Deployment set: alias: ${verb}-AzResourceGroupDeployment - where: verb: Get subject: DeploymentOperation set: alias: Get-AzResourceGroupDeploymentOperation - where: verb: New subject: Deployment variant: Create.*Expanded.* parameter-name: Parameter set: parameter-name: DeploymentPropertyParameter - where: verb: New subject: Deployment hide: true - where: verb: Test subject: Deployment variant: Validate.*Expanded.* parameter-name: Parameter set: parameter-name: DeploymentPropertyParameter - where: verb: New subject: Deployment parameter-name: DebugSettingDetailLevel set: parameter-name: DeploymentDebugLogLevel - where: subject: Provider set: subject: ResourceProvider - where: subject: ProviderFeature|ResourceProvider|ResourceLock parameter-name: ResourceProviderNamespace set: alias: ProviderNamespace - where: verb: Update subject: ResourceGroup parameter-name: Name clear-alias: true - where: parameter-name: UpnOrObjectId set: alias: ['UserPrincipalName', 'Upn', 'ObjectId'] - where: subject: Deployment variant: (.*)Expanded(.*) parameter-name: Parameter set: parameter-name: DeploymentParameter # Format output - where: model-name: GenericResource set: format-table: properties: - Name - ResourceGroupName - Type - Location labels: Type: ResourceType - where: model-name: ResourceGroup set: format-table: properties: - Name - Location - ProvisioningState - where: model-name: DeploymentExtended set: format-table: properties: - Name - ProvisioningState - Timestamp - Mode - where: model-name: PolicyAssignment set: format-table: properties: - Name - DisplayName - Id - where: model-name: PolicyDefinition set: format-table: properties: - Name - DisplayName - Id - where: model-name: PolicySetDefinition set: format-table: properties: - Name - DisplayName - Id - where: model-name: Provider set: format-table: properties: - Namespace - RegistrationState - where: model-name: ProviderResourceType set: format-table: properties: - ResourceType - Location - ApiVersion - where: model-name: FeatureResult set: format-table: properties: - Name - State - where: model-name: TagDetails set: format-table: properties: - TagName - CountValue - where: model-name: Application set: format-table: properties: - DisplayName - ObjectId - AppId - Homepage - AvailableToOtherTenant - where: model-name: KeyCredential set: format-table: properties: - StartDate - EndDate - KeyId - Type - where: model-name: PasswordCredential set: format-table: properties: - StartDate - EndDate - KeyId - where: model-name: User set: format-table: properties: - PrincipalName - DisplayName - ObjectId - Type - where: model-name: AdGroup set: format-table: properties: - DisplayName - Mail - ObjectId - SecurityEnabled - where: model-name: ServicePrincipal set: format-table: properties: - DisplayName - ObjectId - AppDisplayName - AppId - where: model-name: Location set: format-table: properties: - Name - DisplayName - where: model-name: ManagementLockObject set: format-table: properties: - Name - Level - ResourceId - where: model-name: RoleAssignment set: format-table: properties: - DisplayName - ObjectId - ObjectType - RoleDefinitionName - Scope - where: model-name: RoleDefinition set: format-table: properties: - RoleName - Name - Action # To remove cmdlets not used in the test frame - where: subject: Operation remove: true - where: subject: Deployment variant: (.*)1|Cancel(.*)|Validate(.*)|Export(.*)|List(.*)|Delete(.*)|Check(.*)|Calculate(.*) remove: true - where: subject: ResourceProvider variant: Register(.*)|Unregister(.*)|Get(.*) remove: true - where: subject: ResourceGroup variant: List(.*)|Update(.*)|Export(.*)|Move(.*) remove: true - where: subject: Resource remove: true - where: subject: Tag|TagValue remove: true - where: subject: DeploymentOperation remove: true - where: subject: DeploymentTemplate remove: true - where: subject: Calculate(.*) remove: true - where: subject: ResourceExistence remove: true - where: subject: ResourceMoveResource remove: true - where: subject: DeploymentExistence remove: true ```