From d1e87bc25dcf6c34cfcf8cae6b1c3118a716c9f9 Mon Sep 17 00:00:00 2001 From: AlexanderSehr Date: Sun, 12 Feb 2023 10:07:18 +0100 Subject: [PATCH 1/8] Updated Api Management --- .../service/backends/deploy.bicep | 34 +++++++-------- .../service/backends/readme.md | 2 +- .../service/caches/deploy.bicep | 24 +++++------ .../service/caches/readme.md | 2 +- .../service/deploy.bicep | 28 ++++++------ .../service/identityProviders/deploy.bicep | 42 +++++++++--------- .../service/identityProviders/readme.md | 20 ++++----- .../service/namedValues/deploy.bicep | 4 +- .../service/namedValues/readme.md | 43 ++++++++++++++++++- .../service/products/deploy.bicep | 36 ++++++++-------- .../service/products/readme.md | 2 +- 11 files changed, 139 insertions(+), 98 deletions(-) diff --git a/modules/Microsoft.ApiManagement/service/backends/deploy.bicep b/modules/Microsoft.ApiManagement/service/backends/deploy.bicep index 341536a67b..3429ea8321 100644 --- a/modules/Microsoft.ApiManagement/service/backends/deploy.bicep +++ b/modules/Microsoft.ApiManagement/service/backends/deploy.bicep @@ -1,40 +1,40 @@ -@description('Conditional. The name of the parent API Management service. Required if the template is used in a standalone deployment.') +@sys.description('Conditional. The name of the parent API Management service. Required if the template is used in a standalone deployment.') param apiManagementServiceName string -@description('Required. Backend Name.') +@sys.description('Required. Backend Name.') param name string -@description('Optional. Backend Credentials Contract Properties.') +@sys.description('Optional. Backend Credentials Contract Properties.') param credentials object = {} -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. Backend Description.') -param backendDescription string = '' +@sys.description('Optional. Backend Description.') +param description string = '' -@description('Optional. Backend communication protocol. - http or soap.') +@sys.description('Optional. Backend communication protocol. - http or soap.') param protocol string = 'http' -@description('Optional. Backend Proxy Contract Properties.') +@sys.description('Optional. Backend Proxy Contract Properties.') param proxy object = {} -@description('Optional. Management Uri of the Resource in External System. This URL can be the Arm Resource ID of Logic Apps, Function Apps or API Apps.') +@sys.description('Optional. Management Uri of the Resource in External System. This URL can be the Arm Resource ID of Logic Apps, Function Apps or API Apps.') param resourceId string = '' -@description('Optional. Backend Service Fabric Cluster Properties.') +@sys.description('Optional. Backend Service Fabric Cluster Properties.') param serviceFabricCluster object = {} -@description('Optional. Backend Title.') +@sys.description('Optional. Backend Title.') param title string = '' -@description('Optional. Backend TLS Properties.') +@sys.description('Optional. Backend TLS Properties.') param tls object = { validateCertificateChain: false validateCertificateName: false } -@description('Required. Runtime URL of the Backend.') +@sys.description('Required. Runtime URL of the Backend.') param url string resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { @@ -58,7 +58,7 @@ resource backend 'Microsoft.ApiManagement/service/backends@2021-08-01' = { parent: service properties: { title: !empty(title) ? title : null - description: !empty(backendDescription) ? backendDescription : null + description: !empty(description) ? description : null resourceId: !empty(resourceId) ? resourceId : null properties: { serviceFabricCluster: !empty(serviceFabricCluster) ? serviceFabricCluster : null @@ -71,11 +71,11 @@ resource backend 'Microsoft.ApiManagement/service/backends@2021-08-01' = { } } -@description('The resource ID of the API management service backend.') +@sys.description('The resource ID of the API management service backend.') output resourceId string = backend.id -@description('The name of the API management service backend.') +@sys.description('The name of the API management service backend.') output name string = backend.name -@description('The resource group the API management service backend was deployed into.') +@sys.description('The resource group the API management service backend was deployed into.') output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.ApiManagement/service/backends/readme.md b/modules/Microsoft.ApiManagement/service/backends/readme.md index 584b51775e..ac10d03a4e 100644 --- a/modules/Microsoft.ApiManagement/service/backends/readme.md +++ b/modules/Microsoft.ApiManagement/service/backends/readme.md @@ -40,8 +40,8 @@ The following resources are required to be able to deploy this resource. | Parameter Name | Type | Default Value | Description | | :-- | :-- | :-- | :-- | -| `backendDescription` | string | `''` | Backend Description. | | `credentials` | object | `{object}` | Backend Credentials Contract Properties. | +| `description` | string | `''` | Backend Description. | | `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). | | `protocol` | string | `'http'` | Backend communication protocol. - http or soap. | | `proxy` | object | `{object}` | Backend Proxy Contract Properties. | diff --git a/modules/Microsoft.ApiManagement/service/caches/deploy.bicep b/modules/Microsoft.ApiManagement/service/caches/deploy.bicep index 0c96177608..3c2db8976d 100644 --- a/modules/Microsoft.ApiManagement/service/caches/deploy.bicep +++ b/modules/Microsoft.ApiManagement/service/caches/deploy.bicep @@ -1,22 +1,22 @@ -@description('Conditional. The name of the parent API Management service. Required if the template is used in a standalone deployment.') +@sys.description('Conditional. The name of the parent API Management service. Required if the template is used in a standalone deployment.') param apiManagementServiceName string -@description('Required. Identifier of the Cache entity. Cache identifier (should be either \'default\' or valid Azure region identifier).') +@sys.description('Required. Identifier of the Cache entity. Cache identifier (should be either \'default\' or valid Azure region identifier).') param name string -@description('Required. Runtime connection string to cache. Can be referenced by a named value like so, {{}}.') +@sys.description('Required. Runtime connection string to cache. Can be referenced by a named value like so, {{}}.') param connectionString string -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. Cache description.') -param cacheDescription string = '' +@sys.description('Optional. Cache description.') +param description string = '' -@description('Optional. Original uri of entity in external system cache points to.') +@sys.description('Optional. Original uri of entity in external system cache points to.') param resourceId string = '' -@description('Required. Location identifier to use cache from (should be either \'default\' or valid Azure region identifier).') +@sys.description('Required. Location identifier to use cache from (should be either \'default\' or valid Azure region identifier).') param useFromLocation string resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { @@ -39,18 +39,18 @@ resource cache 'Microsoft.ApiManagement/service/caches@2021-08-01' = { name: name parent: service properties: { - description: !empty(cacheDescription) ? cacheDescription : null + description: !empty(description) ? description : null connectionString: connectionString useFromLocation: useFromLocation resourceId: !empty(resourceId) ? resourceId : null } } -@description('The resource ID of the API management service cache.') +@sys.description('The resource ID of the API management service cache.') output resourceId string = cache.id -@description('The name of the API management service cache.') +@sys.description('The name of the API management service cache.') output name string = cache.name -@description('The resource group the API management service cache was deployed into.') +@sys.description('The resource group the API management service cache was deployed into.') output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.ApiManagement/service/caches/readme.md b/modules/Microsoft.ApiManagement/service/caches/readme.md index c7ee7c666f..53e8355891 100644 --- a/modules/Microsoft.ApiManagement/service/caches/readme.md +++ b/modules/Microsoft.ApiManagement/service/caches/readme.md @@ -35,7 +35,7 @@ This module deploys an API Management Service Cache. | Parameter Name | Type | Default Value | Description | | :-- | :-- | :-- | :-- | -| `cacheDescription` | string | `''` | Cache description. | +| `description` | string | `''` | Cache description. | | `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). | | `resourceId` | string | `''` | Original uri of entity in external system cache points to. | diff --git a/modules/Microsoft.ApiManagement/service/deploy.bicep b/modules/Microsoft.ApiManagement/service/deploy.bicep index 6ffbc36e78..1ff48ef924 100644 --- a/modules/Microsoft.ApiManagement/service/deploy.bicep +++ b/modules/Microsoft.ApiManagement/service/deploy.bicep @@ -317,7 +317,7 @@ module backends_resource 'backends/deploy.bicep' = [for (backend, index) in back params: { apiManagementServiceName: apiManagementService.name url: contains(backend, 'url') ? backend.url : '' - backendDescription: contains(backend, 'backendDescription') ? backend.backendDescription : '' + description: contains(backend, 'description') ? backend.description : '' credentials: contains(backend, 'credentials') ? backend.credentials : {} name: backend.name protocol: contains(backend, 'protocol') ? backend.protocol : 'http' @@ -337,7 +337,7 @@ module caches_resource 'caches/deploy.bicep' = [for (cache, index) in caches: { name: '${uniqueString(deployment().name, location)}-Apim-Cache-${index}' params: { apiManagementServiceName: apiManagementService.name - cacheDescription: contains(cache, 'cacheDescription') ? cache.cacheDescription : '' + description: contains(cache, 'description') ? cache.description : '' connectionString: cache.connectionString name: cache.name resourceId: contains(cache, 'resourceId') ? cache.resourceId : '' @@ -352,16 +352,16 @@ module identityProvider_resource 'identityProviders/deploy.bicep' = [for (identi apiManagementServiceName: apiManagementService.name name: identityProvider.name enableIdentityProviders: contains(identityProvider, 'enableIdentityProviders') ? identityProvider.enableIdentityProviders : false - identityProviderAllowedTenants: contains(identityProvider, 'identityProviderAllowedTenants') ? identityProvider.identityProviderAllowedTenants : [] - identityProviderAuthority: contains(identityProvider, 'identityProviderAuthority') ? identityProvider.identityProviderAuthority : '' - identityProviderClientId: contains(identityProvider, 'identityProviderClientId') ? identityProvider.identityProviderClientId : '' - identityProviderClientSecret: contains(identityProvider, 'identityProviderClientSecret') ? identityProvider.identityProviderClientSecret : '' - identityProviderPasswordResetPolicyName: contains(identityProvider, 'identityProviderPasswordResetPolicyName') ? identityProvider.identityProviderPasswordResetPolicyName : '' - identityProviderProfileEditingPolicyName: contains(identityProvider, 'identityProviderProfileEditingPolicyName') ? identityProvider.identityProviderProfileEditingPolicyName : '' - identityProviderSignInPolicyName: contains(identityProvider, 'identityProviderSignInPolicyName') ? identityProvider.identityProviderSignInPolicyName : '' - identityProviderSignInTenant: contains(identityProvider, 'identityProviderSignInTenant') ? identityProvider.identityProviderSignInTenant : '' - identityProviderSignUpPolicyName: contains(identityProvider, 'identityProviderSignUpPolicyName') ? identityProvider.identityProviderSignUpPolicyName : '' - identityProviderType: contains(identityProvider, 'identityProviderType') ? identityProvider.identityProviderType : 'aad' + allowedTenants: contains(identityProvider, 'allowedTenants') ? identityProvider.allowedTenants : [] + authority: contains(identityProvider, 'authority') ? identityProvider.authority : '' + clientId: contains(identityProvider, 'clientId') ? identityProvider.clientId : '' + clientSecret: contains(identityProvider, 'clientSecret') ? identityProvider.clientSecret : '' + passwordResetPolicyName: contains(identityProvider, 'passwordResetPolicyName') ? identityProvider.passwordResetPolicyName : '' + profileEditingPolicyName: contains(identityProvider, 'profileEditingPolicyName') ? identityProvider.profileEditingPolicyName : '' + signInPolicyName: contains(identityProvider, 'signInPolicyName') ? identityProvider.signInPolicyName : '' + signInTenant: contains(identityProvider, 'signInTenant') ? identityProvider.signInTenant : '' + signUpPolicyName: contains(identityProvider, 'signUpPolicyName') ? identityProvider.signUpPolicyName : '' + type: contains(identityProvider, 'type') ? identityProvider.type : 'aad' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] @@ -373,7 +373,7 @@ module namedValues_resource 'namedValues/deploy.bicep' = [for (namedValue, index displayName: namedValue.displayName keyVault: contains(namedValue, 'keyVault') ? namedValue.keyVault : {} name: namedValue.name - namedValueTags: contains(namedValue, 'namedValueTags') ? namedValue.namedValueTags : [] + tags: contains(namedValue, 'tags') ? namedValue.tags : [] secret: contains(namedValue, 'secret') ? namedValue.secret : false value: contains(namedValue, 'value') ? namedValue.value : newGuidValue enableDefaultTelemetry: enableReferencedModulesTelemetry @@ -408,7 +408,7 @@ module products_resource 'products/deploy.bicep' = [for (product, index) in prod approvalRequired: contains(product, 'approvalRequired') ? product.approvalRequired : false groups: contains(product, 'groups') ? product.groups : [] name: product.name - productDescription: contains(product, 'productDescription') ? product.productDescription : '' + description: contains(product, 'description') ? product.description : '' state: contains(product, 'state') ? product.state : 'published' subscriptionRequired: contains(product, 'subscriptionRequired') ? product.subscriptionRequired : false subscriptionsLimit: contains(product, 'subscriptionsLimit') ? product.subscriptionsLimit : 1 diff --git a/modules/Microsoft.ApiManagement/service/identityProviders/deploy.bicep b/modules/Microsoft.ApiManagement/service/identityProviders/deploy.bicep index 5ed52bc8b1..9dd2f7814f 100644 --- a/modules/Microsoft.ApiManagement/service/identityProviders/deploy.bicep +++ b/modules/Microsoft.ApiManagement/service/identityProviders/deploy.bicep @@ -8,33 +8,33 @@ param enableDefaultTelemetry bool = true param enableIdentityProviders bool = false @description('Optional. List of Allowed Tenants when configuring Azure Active Directory login. - string.') -param identityProviderAllowedTenants array = [] +param allowedTenants array = [] @description('Optional. OpenID Connect discovery endpoint hostname for AAD or AAD B2C.') -param identityProviderAuthority string = '' +param authority string = '' @description('Conditional. Client ID of the Application in the external Identity Provider. Required if identity provider is used.') -param identityProviderClientId string = '' +param clientId string = '' @description('Conditional. Client secret of the Application in external Identity Provider, used to authenticate login request. Required if identity provider is used.') @secure() -param identityProviderClientSecret string = '' +param clientSecret string = '' @description('Optional. Password Reset Policy Name. Only applies to AAD B2C Identity Provider.') #disable-next-line secure-secrets-in-params // Not a secret -param identityProviderPasswordResetPolicyName string = '' +param passwordResetPolicyName string = '' @description('Optional. Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.') -param identityProviderProfileEditingPolicyName string = '' +param profileEditingPolicyName string = '' @description('Optional. Signin Policy Name. Only applies to AAD B2C Identity Provider.') -param identityProviderSignInPolicyName string = '' +param signInPolicyName string = '' @description('Optional. The TenantId to use instead of Common when logging into Active Directory.') -param identityProviderSignInTenant string = '' +param signInTenant string = '' @description('Optional. Signup Policy Name. Only applies to AAD B2C Identity Provider.') -param identityProviderSignUpPolicyName string = '' +param signUpPolicyName string = '' @description('Optional. Identity Provider Type identifier.') @allowed([ @@ -45,12 +45,12 @@ param identityProviderSignUpPolicyName string = '' 'microsoft' 'twitter' ]) -param identityProviderType string = 'aad' +param type string = 'aad' @description('Required. Identity provider name.') param name string -var isAadB2C = (identityProviderType == 'aadB2C') +var isAadB2C = (type == 'aadB2C') resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' @@ -72,16 +72,16 @@ resource identityProvider 'Microsoft.ApiManagement/service/identityProviders@202 name: name parent: service properties: { - type: identityProviderType - signinTenant: identityProviderSignInTenant - allowedTenants: identityProviderAllowedTenants - authority: identityProviderAuthority - signupPolicyName: isAadB2C ? identityProviderSignUpPolicyName : null - signinPolicyName: isAadB2C ? identityProviderSignInPolicyName : null - profileEditingPolicyName: isAadB2C ? identityProviderProfileEditingPolicyName : null - passwordResetPolicyName: isAadB2C ? identityProviderPasswordResetPolicyName : null - clientId: identityProviderClientId - clientSecret: identityProviderClientSecret + type: type + signinTenant: signInTenant + allowedTenants: allowedTenants + authority: authority + signupPolicyName: isAadB2C ? signUpPolicyName : null + signinPolicyName: isAadB2C ? signInPolicyName : null + profileEditingPolicyName: isAadB2C ? profileEditingPolicyName : null + passwordResetPolicyName: isAadB2C ? passwordResetPolicyName : null + clientId: clientId + clientSecret: clientSecret } } diff --git a/modules/Microsoft.ApiManagement/service/identityProviders/readme.md b/modules/Microsoft.ApiManagement/service/identityProviders/readme.md index 2c462b84be..453e084f98 100644 --- a/modules/Microsoft.ApiManagement/service/identityProviders/readme.md +++ b/modules/Microsoft.ApiManagement/service/identityProviders/readme.md @@ -28,23 +28,23 @@ This module deploys API Management Service Identity Provider. | Parameter Name | Type | Default Value | Description | | :-- | :-- | :-- | :-- | | `apiManagementServiceName` | string | | The name of the parent API Management service. Required if the template is used in a standalone deployment. | -| `identityProviderClientId` | string | `''` | Client ID of the Application in the external Identity Provider. Required if identity provider is used. | -| `identityProviderClientSecret` | securestring | `''` | Client secret of the Application in external Identity Provider, used to authenticate login request. Required if identity provider is used. | +| `clientId` | string | `''` | Client ID of the Application in the external Identity Provider. Required if identity provider is used. | +| `clientSecret` | securestring | `''` | Client secret of the Application in external Identity Provider, used to authenticate login request. Required if identity provider is used. | **Optional parameters** | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | +| `allowedTenants` | array | `[]` | | List of Allowed Tenants when configuring Azure Active Directory login. - string. | +| `authority` | string | `''` | | OpenID Connect discovery endpoint hostname for AAD or AAD B2C. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | | `enableIdentityProviders` | bool | `False` | | Used to enable the deployment of the identityProviders child resource. | -| `identityProviderAllowedTenants` | array | `[]` | | List of Allowed Tenants when configuring Azure Active Directory login. - string. | -| `identityProviderAuthority` | string | `''` | | OpenID Connect discovery endpoint hostname for AAD or AAD B2C. | -| `identityProviderPasswordResetPolicyName` | string | `''` | | Password Reset Policy Name. Only applies to AAD B2C Identity Provider. | -| `identityProviderProfileEditingPolicyName` | string | `''` | | Profile Editing Policy Name. Only applies to AAD B2C Identity Provider. | -| `identityProviderSignInPolicyName` | string | `''` | | Signin Policy Name. Only applies to AAD B2C Identity Provider. | -| `identityProviderSignInTenant` | string | `''` | | The TenantId to use instead of Common when logging into Active Directory. | -| `identityProviderSignUpPolicyName` | string | `''` | | Signup Policy Name. Only applies to AAD B2C Identity Provider. | -| `identityProviderType` | string | `'aad'` | `[aad, aadB2C, facebook, google, microsoft, twitter]` | Identity Provider Type identifier. | +| `passwordResetPolicyName` | string | `''` | | Password Reset Policy Name. Only applies to AAD B2C Identity Provider. | +| `profileEditingPolicyName` | string | `''` | | Profile Editing Policy Name. Only applies to AAD B2C Identity Provider. | +| `signInPolicyName` | string | `''` | | Signin Policy Name. Only applies to AAD B2C Identity Provider. | +| `signInTenant` | string | `''` | | The TenantId to use instead of Common when logging into Active Directory. | +| `signUpPolicyName` | string | `''` | | Signup Policy Name. Only applies to AAD B2C Identity Provider. | +| `type` | string | `'aad'` | `[aad, aadB2C, facebook, google, microsoft, twitter]` | Identity Provider Type identifier. | ## Outputs diff --git a/modules/Microsoft.ApiManagement/service/namedValues/deploy.bicep b/modules/Microsoft.ApiManagement/service/namedValues/deploy.bicep index 1762f90d60..b97d2851a6 100644 --- a/modules/Microsoft.ApiManagement/service/namedValues/deploy.bicep +++ b/modules/Microsoft.ApiManagement/service/namedValues/deploy.bicep @@ -14,7 +14,7 @@ param keyVault object = {} param name string @description('Optional. Tags that when provided can be used to filter the NamedValue list. - string.') -param namedValueTags array = [] +param tags array = [] @description('Optional. Determines whether the value is a secret and should be encrypted or not. Default value is false.') #disable-next-line secure-secrets-in-params // Not a secret @@ -45,7 +45,7 @@ resource namedValue 'Microsoft.ApiManagement/service/namedValues@2021-08-01' = { name: name parent: service properties: { - tags: !empty(namedValueTags) ? namedValueTags : null + tags: !empty(tags) ? tags : null secret: secret displayName: displayName value: keyVaultEmpty ? value : null diff --git a/modules/Microsoft.ApiManagement/service/namedValues/readme.md b/modules/Microsoft.ApiManagement/service/namedValues/readme.md index 01da15f86f..0cc8fc4841 100644 --- a/modules/Microsoft.ApiManagement/service/namedValues/readme.md +++ b/modules/Microsoft.ApiManagement/service/namedValues/readme.md @@ -36,8 +36,8 @@ This module deploys API Management Service Named Values. | :-- | :-- | :-- | :-- | | `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). | | `keyVault` | object | `{object}` | KeyVault location details of the namedValue. | -| `namedValueTags` | array | `[]` | Tags that when provided can be used to filter the NamedValue list. - string. | | `secret` | bool | `False` | Determines whether the value is a secret and should be encrypted or not. Default value is false. | +| `tags` | array | `[]` | Tags that when provided can be used to filter the NamedValue list. - string. | | `value` | string | `[newGuid()]` | Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. | @@ -72,6 +72,47 @@ keyVault: {

+### Parameter Usage: `tags` + +Tag names and tag values can be provided as needed. A tag can be left without a value. + +

+ +Parameter JSON format + +```json +"tags": { + "value": { + "Environment": "Non-Prod", + "Contact": "test.user@testcompany.com", + "PurchaseOrder": "1234", + "CostCenter": "7890", + "ServiceName": "DeploymentValidation", + "Role": "DeploymentValidation" + } +} +``` + +
+ +
+ +Bicep format + +```bicep +tags: { + Environment: 'Non-Prod' + Contact: 'test.user@testcompany.com' + PurchaseOrder: '1234' + CostCenter: '7890' + ServiceName: 'DeploymentValidation' + Role: 'DeploymentValidation' +} +``` + +
+

+ ## Outputs | Output Name | Type | Description | diff --git a/modules/Microsoft.ApiManagement/service/products/deploy.bicep b/modules/Microsoft.ApiManagement/service/products/deploy.bicep index ff1b38162c..4cb58a232f 100644 --- a/modules/Microsoft.ApiManagement/service/products/deploy.bicep +++ b/modules/Microsoft.ApiManagement/service/products/deploy.bicep @@ -1,34 +1,34 @@ -@description('Conditional. The name of the parent API Management service. Required if the template is used in a standalone deployment.') +@sys.description('Conditional. The name of the parent API Management service. Required if the template is used in a standalone deployment.') param apiManagementServiceName string -@description('Optional. Whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the products APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the products APIs. Can be present only if subscriptionRequired property is present and has a value of false.') +@sys.description('Optional. Whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the products APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the products APIs. Can be present only if subscriptionRequired property is present and has a value of false.') param approvalRequired bool = false -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. Product description. May include HTML formatting tags.') -param productDescription string = '' +@sys.description('Optional. Product description. May include HTML formatting tags.') +param description string = '' -@description('Optional. Array of Product APIs.') +@sys.description('Optional. Array of Product APIs.') param apis array = [] -@description('Optional. Array of Product Groups.') +@sys.description('Optional. Array of Product Groups.') param groups array = [] -@description('Required. Product Name.') +@sys.description('Required. Product Name.') param name string -@description('Optional. whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. - notPublished or published.') +@sys.description('Optional. whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. - notPublished or published.') param state string = 'published' -@description('Optional. Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it\'s value is assumed to be true.') +@sys.description('Optional. Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it\'s value is assumed to be true.') param subscriptionRequired bool = false -@description('Optional. Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false.') +@sys.description('Optional. Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false.') param subscriptionsLimit int = 1 -@description('Optional. Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process.') +@sys.description('Optional. Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process.') param terms string = '' var enableReferencedModulesTelemetry = false @@ -53,7 +53,7 @@ resource product 'Microsoft.ApiManagement/service/products@2021-08-01' = { name: name parent: service properties: { - description: productDescription + description: description displayName: name terms: terms subscriptionRequired: subscriptionRequired @@ -83,17 +83,17 @@ module product_groups 'groups/deploy.bicep' = [for (group, index) in groups: { } }] -@description('The resource ID of the API management service product.') +@sys.description('The resource ID of the API management service product.') output resourceId string = product.id -@description('The name of the API management service product.') +@sys.description('The name of the API management service product.') output name string = product.name -@description('The resource group the API management service product was deployed into.') +@sys.description('The resource group the API management service product was deployed into.') output resourceGroupName string = resourceGroup().name -@description('The Resources IDs of the API management service product APIs.') +@sys.description('The Resources IDs of the API management service product APIs.') output apiResourceIds array = [for index in range(0, length(apis)): product_apis[index].outputs.resourceId] -@description('The Resources IDs of the API management service product groups.') +@sys.description('The Resources IDs of the API management service product groups.') output groupResourceIds array = [for index in range(0, length(groups)): product_groups[index].outputs.resourceId] diff --git a/modules/Microsoft.ApiManagement/service/products/readme.md b/modules/Microsoft.ApiManagement/service/products/readme.md index bb70d674de..d11030be84 100644 --- a/modules/Microsoft.ApiManagement/service/products/readme.md +++ b/modules/Microsoft.ApiManagement/service/products/readme.md @@ -37,9 +37,9 @@ This module deploys API Management Service Products. | :-- | :-- | :-- | :-- | | `apis` | _[apis](apis/readme.md)_ array | `[]` | Array of Product APIs. | | `approvalRequired` | bool | `False` | Whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the products APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the products APIs. Can be present only if subscriptionRequired property is present and has a value of false. | +| `description` | string | `''` | Product description. May include HTML formatting tags. | | `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). | | `groups` | _[groups](groups/readme.md)_ array | `[]` | Array of Product Groups. | -| `productDescription` | string | `''` | Product description. May include HTML formatting tags. | | `state` | string | `'published'` | whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. - notPublished or published. | | `subscriptionRequired` | bool | `False` | Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true. | | `subscriptionsLimit` | int | `1` | Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false. | From 1d1796c6ac0edb237e1b7435c30b22a3af2edb25 Mon Sep 17 00:00:00 2001 From: AlexanderSehr Date: Sun, 12 Feb 2023 10:14:41 +0100 Subject: [PATCH 2/8] Updated Automation Account --- .../automationAccounts/deploy.bicep | 4 +- .../automationAccounts/runbooks/deploy.bicep | 40 +++++++++---------- .../automationAccounts/runbooks/readme.md | 4 +- .../automationAccounts/schedules/deploy.bicep | 32 +++++++-------- .../automationAccounts/schedules/readme.md | 2 +- 5 files changed, 41 insertions(+), 41 deletions(-) diff --git a/modules/Microsoft.Automation/automationAccounts/deploy.bicep b/modules/Microsoft.Automation/automationAccounts/deploy.bicep index 428d2894e3..d58653d64c 100644 --- a/modules/Microsoft.Automation/automationAccounts/deploy.bicep +++ b/modules/Microsoft.Automation/automationAccounts/deploy.bicep @@ -243,8 +243,8 @@ module automationAccount_runbooks 'runbooks/deploy.bicep' = [for (runbook, index params: { name: runbook.name automationAccountName: automationAccount.name - runbookType: runbook.runbookType - runbookDescription: contains(runbook, 'description') ? runbook.description : '' + type: runbook.type + description: contains(runbook, 'description') ? runbook.description : '' uri: contains(runbook, 'uri') ? runbook.uri : '' version: contains(runbook, 'version') ? runbook.version : '' location: location diff --git a/modules/Microsoft.Automation/automationAccounts/runbooks/deploy.bicep b/modules/Microsoft.Automation/automationAccounts/runbooks/deploy.bicep index 5f33141822..e765feaa92 100644 --- a/modules/Microsoft.Automation/automationAccounts/runbooks/deploy.bicep +++ b/modules/Microsoft.Automation/automationAccounts/runbooks/deploy.bicep @@ -1,7 +1,7 @@ -@description('Required. Name of the Automation Account runbook.') +@sys.description('Required. Name of the Automation Account runbook.') param name string -@description('Conditional. The name of the parent Automation Account. Required if the template is used in a standalone deployment.') +@sys.description('Conditional. The name of the parent Automation Account. Required if the template is used in a standalone deployment.') param automationAccountName string @allowed([ @@ -11,34 +11,34 @@ param automationAccountName string 'PowerShell' 'PowerShellWorkflow' ]) -@description('Required. The type of the runbook.') -param runbookType string +@sys.description('Required. The type of the runbook.') +param type string -@description('Optional. The description of the runbook.') -param runbookDescription string = '' +@sys.description('Optional. The description of the runbook.') +param description string = '' -@description('Optional. The uri of the runbook content.') +@sys.description('Optional. The uri of the runbook content.') param uri string = '' -@description('Optional. The version of the runbook content.') +@sys.description('Optional. The version of the runbook content.') param version string = '' -@description('Optional. ID of the runbook storage account.') +@sys.description('Optional. ID of the runbook storage account.') param scriptStorageAccountId string = '' -@description('Generated. Time used as a basis for e.g. the schedule start date.') +@sys.description('Generated. Time used as a basis for e.g. the schedule start date.') param baseTime string = utcNow('u') -@description('Optional. SAS token validity length. Usage: \'PT8H\' - valid for 8 hours; \'P5D\' - valid for 5 days; \'P1Y\' - valid for 1 year. When not provided, the SAS token will be valid for 8 hours.') +@sys.description('Optional. SAS token validity length. Usage: \'PT8H\' - valid for 8 hours; \'P5D\' - valid for 5 days; \'P1Y\' - valid for 1 year. When not provided, the SAS token will be valid for 8 hours.') param sasTokenValidityLength string = 'PT8H' -@description('Optional. Location for all resources.') +@sys.description('Optional. Location for all resources.') param location string = resourceGroup().location -@description('Optional. Tags of the Automation Account resource.') +@sys.description('Optional. Tags of the Automation Account resource.') param tags object = {} -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true var accountSasProperties = { @@ -81,20 +81,20 @@ resource runbook 'Microsoft.Automation/automationAccounts/runbooks@2019-06-01' = location: location tags: tags properties: { - runbookType: runbookType - description: runbookDescription + runbookType: type + description: description publishContentLink: !empty(uri) ? publishContentLink : null } } -@description('The name of the deployed runbook.') +@sys.description('The name of the deployed runbook.') output name string = runbook.name -@description('The resource ID of the deployed runbook.') +@sys.description('The resource ID of the deployed runbook.') output resourceId string = runbook.id -@description('The resource group of the deployed runbook.') +@sys.description('The resource group of the deployed runbook.') output resourceGroupName string = resourceGroup().name -@description('The location the resource was deployed into.') +@sys.description('The location the resource was deployed into.') output location string = runbook.location diff --git a/modules/Microsoft.Automation/automationAccounts/runbooks/readme.md b/modules/Microsoft.Automation/automationAccounts/runbooks/readme.md index accc8f9188..d243e5d1ca 100644 --- a/modules/Microsoft.Automation/automationAccounts/runbooks/readme.md +++ b/modules/Microsoft.Automation/automationAccounts/runbooks/readme.md @@ -22,7 +22,7 @@ This module deploys an Azure Automation Account Runbook. | Parameter Name | Type | Allowed Values | Description | | :-- | :-- | :-- | :-- | | `name` | string | | Name of the Automation Account runbook. | -| `runbookType` | string | `[Graph, GraphPowerShell, GraphPowerShellWorkflow, PowerShell, PowerShellWorkflow]` | The type of the runbook. | +| `type` | string | `[Graph, GraphPowerShell, GraphPowerShellWorkflow, PowerShell, PowerShellWorkflow]` | The type of the runbook. | **Conditional parameters** @@ -34,9 +34,9 @@ This module deploys an Azure Automation Account Runbook. | Parameter Name | Type | Default Value | Description | | :-- | :-- | :-- | :-- | +| `description` | string | `''` | The description of the runbook. | | `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). | | `location` | string | `[resourceGroup().location]` | Location for all resources. | -| `runbookDescription` | string | `''` | The description of the runbook. | | `sasTokenValidityLength` | string | `'PT8H'` | SAS token validity length. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the SAS token will be valid for 8 hours. | | `scriptStorageAccountId` | string | `''` | ID of the runbook storage account. | | `tags` | object | `{object}` | Tags of the Automation Account resource. | diff --git a/modules/Microsoft.Automation/automationAccounts/schedules/deploy.bicep b/modules/Microsoft.Automation/automationAccounts/schedules/deploy.bicep index 5b3b829468..fe6bb147d4 100644 --- a/modules/Microsoft.Automation/automationAccounts/schedules/deploy.bicep +++ b/modules/Microsoft.Automation/automationAccounts/schedules/deploy.bicep @@ -1,10 +1,10 @@ -@description('Required. Name of the Automation Account schedule.') +@sys.description('Required. Name of the Automation Account schedule.') param name string -@description('Conditional. The name of the parent Automation Account. Required if the template is used in a standalone deployment.') +@sys.description('Conditional. The name of the parent Automation Account. Required if the template is used in a standalone deployment.') param automationAccountName string -@description('Optional. The properties of the create Advanced Schedule.') +@sys.description('Optional. The properties of the create Advanced Schedule.') @metadata({ monthDays: 'Days of the month that the job should execute on. Must be between 1 and 31.' monthlyOccurrences: 'Occurrences of days within a month.' @@ -12,10 +12,10 @@ param automationAccountName string }) param advancedSchedule object = {} -@description('Optional. The description of the schedule.') -param scheduleDescription string = '' +@sys.description('Optional. The description of the schedule.') +param description string = '' -@description('Optional. The end time of the schedule.') +@sys.description('Optional. The end time of the schedule.') param expiryTime string = '' @allowed([ @@ -26,22 +26,22 @@ param expiryTime string = '' 'OneTime' 'Week' ]) -@description('Optional. The frequency of the schedule.') +@sys.description('Optional. The frequency of the schedule.') param frequency string = 'OneTime' -@description('Optional. Anything.') +@sys.description('Optional. Anything.') param interval int = 0 -@description('Optional. The start time of the schedule.') +@sys.description('Optional. The start time of the schedule.') param startTime string = '' -@description('Optional. The time zone of the schedule.') +@sys.description('Optional. The time zone of the schedule.') param timeZone string = '' -@description('Generated. Time used as a basis for e.g. the schedule start date.') +@sys.description('Generated. Time used as a basis for e.g. the schedule start date.') param baseTime string = utcNow('u') -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { @@ -65,7 +65,7 @@ resource schedule 'Microsoft.Automation/automationAccounts/schedules@2020-01-13- parent: automationAccount properties: { advancedSchedule: !empty(advancedSchedule) ? advancedSchedule : null - description: !empty(scheduleDescription) ? scheduleDescription : null + description: !empty(description) ? description : null expiryTime: !empty(expiryTime) ? expiryTime : null frequency: !empty(frequency) ? frequency : 'OneTime' interval: (interval != 0) ? interval : null @@ -74,11 +74,11 @@ resource schedule 'Microsoft.Automation/automationAccounts/schedules@2020-01-13- } } -@description('The name of the deployed schedule.') +@sys.description('The name of the deployed schedule.') output name string = schedule.name -@description('The resource ID of the deployed schedule.') +@sys.description('The resource ID of the deployed schedule.') output resourceId string = schedule.id -@description('The resource group of the deployed schedule.') +@sys.description('The resource group of the deployed schedule.') output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.Automation/automationAccounts/schedules/readme.md b/modules/Microsoft.Automation/automationAccounts/schedules/readme.md index 34b8f3e5fa..5decd813c3 100644 --- a/modules/Microsoft.Automation/automationAccounts/schedules/readme.md +++ b/modules/Microsoft.Automation/automationAccounts/schedules/readme.md @@ -34,11 +34,11 @@ This module deploys an Azure Automation Account Schedule. | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | | `advancedSchedule` | object | `{object}` | | The properties of the create Advanced Schedule. | +| `description` | string | `''` | | The description of the schedule. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | | `expiryTime` | string | `''` | | The end time of the schedule. | | `frequency` | string | `'OneTime'` | `[Day, Hour, Minute, Month, OneTime, Week]` | The frequency of the schedule. | | `interval` | int | `0` | | Anything. | -| `scheduleDescription` | string | `''` | | The description of the schedule. | | `startTime` | string | `''` | | The start time of the schedule. | | `timeZone` | string | `''` | | The time zone of the schedule. | From 888e384f24ba6fb7414f6b2f809702fb87d0e81e Mon Sep 17 00:00:00 2001 From: AlexanderSehr Date: Sun, 12 Feb 2023 12:34:39 +0100 Subject: [PATCH 3/8] Updated CDN, Galleryies & PPG --- modules/Microsoft.CDN/profiles/deploy.bicep | 2 +- .../profiles/endpoints/deploy.bicep | 6 +- .../profiles/endpoints/origins/readme.md | 2 +- .../profiles/endpoints/readme.md | 6 +- modules/Microsoft.CDN/profiles/readme.md | 10 +-- .../galleries/applications/deploy.bicep | 38 +++++------ .../galleries/applications/readme.md | 6 +- .../Microsoft.Compute/galleries/deploy.bicep | 34 +++++----- .../galleries/images/deploy.bicep | 68 +++++++++---------- .../galleries/images/readme.md | 6 +- modules/Microsoft.Compute/galleries/readme.md | 12 ++-- .../.test/common/deploy.test.bicep | 2 +- .../proximityPlacementGroups/deploy.bicep | 4 +- .../proximityPlacementGroups/readme.md | 16 ++--- 14 files changed, 106 insertions(+), 106 deletions(-) diff --git a/modules/Microsoft.CDN/profiles/deploy.bicep b/modules/Microsoft.CDN/profiles/deploy.bicep index 1fcc07e655..012643092d 100644 --- a/modules/Microsoft.CDN/profiles/deploy.bicep +++ b/modules/Microsoft.CDN/profiles/deploy.bicep @@ -102,7 +102,7 @@ module profile_endpoint 'endpoints/deploy.bicep' = if (!empty(endpointProperties name: '${uniqueString(deployment().name, location)}-Profile-Endpoint' params: { name: !empty(endpointName) ? endpointName : '${profile.name}-endpoint' - endpointProperties: endpointProperties + properties: endpointProperties location: location profileName: profile.name enableDefaultTelemetry: enableReferencedModulesTelemetry diff --git a/modules/Microsoft.CDN/profiles/endpoints/deploy.bicep b/modules/Microsoft.CDN/profiles/endpoints/deploy.bicep index 508945d271..369e0069cf 100644 --- a/modules/Microsoft.CDN/profiles/endpoints/deploy.bicep +++ b/modules/Microsoft.CDN/profiles/endpoints/deploy.bicep @@ -8,7 +8,7 @@ param name string param location string = resourceGroup().location @description('Required. Endpoint properties (see https://learn.microsoft.com/en-us/azure/templates/microsoft.cdn/profiles/endpoints?pivots=deployment-language-bicep#endpointproperties for details).') -param endpointProperties object +param properties object @description('Optional. Endpoint tags.') param tags object = {} @@ -38,11 +38,11 @@ resource endpoint 'microsoft.cdn/profiles/endpoints@2021-06-01' = { parent: profile name: name location: location - properties: endpointProperties + properties: properties tags: tags } -module endpoint_origins 'origins/deploy.bicep' = [for origin in endpointProperties.origins: { +module endpoint_origins 'origins/deploy.bicep' = [for origin in properties.origins: { name: '${name}-origins-${origin.name}' params: { profileName: profile.name diff --git a/modules/Microsoft.CDN/profiles/endpoints/origins/readme.md b/modules/Microsoft.CDN/profiles/endpoints/origins/readme.md index c3f8a81640..397fda0772 100644 --- a/modules/Microsoft.CDN/profiles/endpoints/origins/readme.md +++ b/modules/Microsoft.CDN/profiles/endpoints/origins/readme.md @@ -13,7 +13,7 @@ This module deploys CDN Profiles Endpoint Origins. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints/origins) | +| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | ## Parameters diff --git a/modules/Microsoft.CDN/profiles/endpoints/readme.md b/modules/Microsoft.CDN/profiles/endpoints/readme.md index 92c24809fb..af3b3a44fa 100644 --- a/modules/Microsoft.CDN/profiles/endpoints/readme.md +++ b/modules/Microsoft.CDN/profiles/endpoints/readme.md @@ -13,8 +13,8 @@ This module deploys CDN Profiles Endpoint. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Cdn/profiles/endpoints` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints) | -| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints/origins) | +| `Microsoft.Cdn/profiles/endpoints` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | +| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | ## Parameters @@ -22,8 +22,8 @@ This module deploys CDN Profiles Endpoint. | Parameter Name | Type | Description | | :-- | :-- | :-- | -| `endpointProperties` | object | Endpoint properties (see https://learn.microsoft.com/en-us/azure/templates/microsoft.cdn/profiles/endpoints?pivots=deployment-language-bicep#endpointproperties for details). | | `name` | string | Name of the endpoint under the profile which is unique globally. | +| `properties` | object | Endpoint properties (see https://learn.microsoft.com/en-us/azure/templates/microsoft.cdn/profiles/endpoints?pivots=deployment-language-bicep#endpointproperties for details). | **Conditional parameters** diff --git a/modules/Microsoft.CDN/profiles/readme.md b/modules/Microsoft.CDN/profiles/readme.md index 84c4c8f9f3..a13ce1291e 100644 --- a/modules/Microsoft.CDN/profiles/readme.md +++ b/modules/Microsoft.CDN/profiles/readme.md @@ -14,11 +14,11 @@ This module deploys CDN Profiles. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | -| `Microsoft.Cdn/profiles` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles) | -| `Microsoft.Cdn/profiles/endpoints` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints) | -| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints/origins) | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Cdn/profiles` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Cdn/profiles/endpoints` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | +| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | ## Parameters diff --git a/modules/Microsoft.Compute/galleries/applications/deploy.bicep b/modules/Microsoft.Compute/galleries/applications/deploy.bicep index 7cde02ecc0..70c1853d76 100644 --- a/modules/Microsoft.Compute/galleries/applications/deploy.bicep +++ b/modules/Microsoft.Compute/galleries/applications/deploy.bicep @@ -1,45 +1,45 @@ -@description('Required. Name of the application definition.') +@sys.description('Required. Name of the application definition.') param name string -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. Location for all resources.') +@sys.description('Optional. Location for all resources.') param location string = resourceGroup().location -@description('Conditional. The name of the parent Azure Compute Gallery. Required if the template is used in a standalone deployment.') +@sys.description('Conditional. The name of the parent Azure Compute Gallery. Required if the template is used in a standalone deployment.') @minLength(1) param galleryName string -@description('Optional. The description of this gallery Application Definition resource. This property is updatable.') -param applicationDefinitionDescription string = '' +@sys.description('Optional. The description of this gallery Application Definition resource. This property is updatable.') +param description string = '' -@description('Optional. The Eula agreement for the gallery Application Definition. Has to be a valid URL.') +@sys.description('Optional. The Eula agreement for the gallery Application Definition. Has to be a valid URL.') param eula string = '' -@description('Optional. The privacy statement uri. Has to be a valid URL.') +@sys.description('Optional. The privacy statement uri. Has to be a valid URL.') param privacyStatementUri string = '' -@description('Optional. The release note uri. Has to be a valid URL.') +@sys.description('Optional. The release note uri. Has to be a valid URL.') param releaseNoteUri string = '' -@description('Optional. This property allows you to specify the supported type of the OS that application is built for.') +@sys.description('Optional. This property allows you to specify the supported type of the OS that application is built for.') @allowed([ 'Windows' 'Linux' ]) param supportedOSType string = 'Windows' -@description('Optional. The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z.') +@sys.description('Optional. The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z.') param endOfLifeDate string = '' -@description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') +@sys.description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') param roleAssignments array = [] -@description('Optional. Tags for all resources.') +@sys.description('Optional. Tags for all resources.') param tags object = {} -@description('Optional. A list of custom actions that can be performed with all of the Gallery Application Versions within this Gallery Application.') +@sys.description('Optional. A list of custom actions that can be performed with all of the Gallery Application Versions within this Gallery Application.') param customActions array = [] resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { @@ -65,7 +65,7 @@ resource application 'Microsoft.Compute/galleries/applications@2022-03-03' = { tags: tags properties: { customActions: !empty(customActions) ? customActions : null - description: applicationDefinitionDescription + description: description endOfLifeDate: endOfLifeDate eula: eula privacyStatementUri: privacyStatementUri @@ -87,14 +87,14 @@ module galleryApplication_roleAssignments '.bicep/nested_roleAssignments.bicep' } }] -@description('The resource group the image was deployed into.') +@sys.description('The resource group the image was deployed into.') output resourceGroupName string = resourceGroup().name -@description('The resource ID of the image.') +@sys.description('The resource ID of the image.') output resourceId string = application.id -@description('The name of the image.') +@sys.description('The name of the image.') output name string = application.name -@description('The location the resource was deployed into.') +@sys.description('The location the resource was deployed into.') output location string = application.location diff --git a/modules/Microsoft.Compute/galleries/applications/readme.md b/modules/Microsoft.Compute/galleries/applications/readme.md index 7c5cae7e98..9fb1da34cc 100644 --- a/modules/Microsoft.Compute/galleries/applications/readme.md +++ b/modules/Microsoft.Compute/galleries/applications/readme.md @@ -13,8 +13,8 @@ This module deploys an Application in a Azure Compute Gallery. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | -| `Microsoft.Compute/galleries/applications` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/applications) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Compute/galleries/applications` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/galleries) | ## Parameters @@ -34,8 +34,8 @@ This module deploys an Application in a Azure Compute Gallery. | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | -| `applicationDefinitionDescription` | string | `''` | | The description of this gallery Application Definition resource. This property is updatable. | | `customActions` | array | `[]` | | A list of custom actions that can be performed with all of the Gallery Application Versions within this Gallery Application. | +| `description` | string | `''` | | The description of this gallery Application Definition resource. This property is updatable. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | | `endOfLifeDate` | string | `''` | | The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z. | | `eula` | string | `''` | | The Eula agreement for the gallery Application Definition. Has to be a valid URL. | diff --git a/modules/Microsoft.Compute/galleries/deploy.bicep b/modules/Microsoft.Compute/galleries/deploy.bicep index 4c29dbbf3b..55b99f623d 100644 --- a/modules/Microsoft.Compute/galleries/deploy.bicep +++ b/modules/Microsoft.Compute/galleries/deploy.bicep @@ -1,17 +1,17 @@ @minLength(1) -@description('Required. Name of the Azure Compute Gallery.') +@sys.description('Required. Name of the Azure Compute Gallery.') param name string -@description('Optional. Location for all resources.') +@sys.description('Optional. Location for all resources.') param location string = resourceGroup().location -@description('Optional. Description of the Azure Shared Image Gallery.') -param galleryDescription string = '' +@sys.description('Optional. Description of the Azure Shared Image Gallery.') +param description string = '' -@description('Optional. Applications to create.') +@sys.description('Optional. Applications to create.') param applications array = [] -@description('Optional. Images to create.') +@sys.description('Optional. Images to create.') param images array = [] @allowed([ @@ -19,16 +19,16 @@ param images array = [] 'CanNotDelete' 'ReadOnly' ]) -@description('Optional. Specify the type of lock.') +@sys.description('Optional. Specify the type of lock.') param lock string = '' -@description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') +@sys.description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') param roleAssignments array = [] -@description('Optional. Tags for all resources.') +@sys.description('Optional. Tags for all resources.') param tags object = {} -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true var enableReferencedModulesTelemetry = false @@ -50,7 +50,7 @@ resource gallery 'Microsoft.Compute/galleries@2022-03-03' = { location: location tags: tags properties: { - description: galleryDescription + description: description identifier: {} } } @@ -84,7 +84,7 @@ module galleries_applications 'applications/deploy.bicep' = [for (application, i name: application.name galleryName: gallery.name supportedOSType: contains(application, 'supportOSType') ? application.supportedOSType : 'Windows' - applicationDefinitionDescription: contains(application, 'applicationDefinitionDescription') ? application.applicationDefinitionDescription : '' + description: contains(application, 'description') ? application.description : '' eula: contains(application, 'eula') ? application.eula : '' privacyStatementUri: contains(application, 'privacyStatementUri') ? application.privacyStatementUri : '' releaseNoteUri: contains(application, 'releaseNoteUri') ? application.releaseNoteUri : '' @@ -113,7 +113,7 @@ module galleries_images 'images/deploy.bicep' = [for (image, index) in images: { maxRecommendedMemory: contains(image, 'maxRecommendedMemory') ? image.maxRecommendedMemory : 16 hyperVGeneration: contains(image, 'hyperVGeneration') ? image.hyperVGeneration : 'V1' securityType: contains(image, 'securityType') ? image.securityType : 'Standard' - imageDefinitionDescription: contains(image, 'imageDefinitionDescription') ? image.imageDefinitionDescription : '' + description: contains(image, 'description') ? image.description : '' eula: contains(image, 'eula') ? image.eula : '' privacyStatementUri: contains(image, 'privacyStatementUri') ? image.privacyStatementUri : '' releaseNoteUri: contains(image, 'releaseNoteUri') ? image.releaseNoteUri : '' @@ -128,14 +128,14 @@ module galleries_images 'images/deploy.bicep' = [for (image, index) in images: { } }] -@description('The resource ID of the deployed image gallery.') +@sys.description('The resource ID of the deployed image gallery.') output resourceId string = gallery.id -@description('The resource group of the deployed image gallery.') +@sys.description('The resource group of the deployed image gallery.') output resourceGroupName string = resourceGroup().name -@description('The name of the deployed image gallery.') +@sys.description('The name of the deployed image gallery.') output name string = gallery.name -@description('The location the resource was deployed into.') +@sys.description('The location the resource was deployed into.') output location string = gallery.location diff --git a/modules/Microsoft.Compute/galleries/images/deploy.bicep b/modules/Microsoft.Compute/galleries/images/deploy.bicep index c8f86ba523..54b3f75e01 100644 --- a/modules/Microsoft.Compute/galleries/images/deploy.bicep +++ b/modules/Microsoft.Compute/galleries/images/deploy.bicep @@ -1,60 +1,60 @@ -@description('Required. Name of the image definition.') +@sys.description('Required. Name of the image definition.') param name string -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. Location for all resources.') +@sys.description('Optional. Location for all resources.') param location string = resourceGroup().location -@description('Conditional. The name of the parent Azure Shared Image Gallery. Required if the template is used in a standalone deployment.') +@sys.description('Conditional. The name of the parent Azure Shared Image Gallery. Required if the template is used in a standalone deployment.') @minLength(1) param galleryName string -@description('Optional. OS type of the image to be created.') +@sys.description('Optional. OS type of the image to be created.') @allowed([ 'Windows' 'Linux' ]) param osType string = 'Windows' -@description('Optional. This property allows the user to specify whether the virtual machines created under this image are \'Generalized\' or \'Specialized\'.') +@sys.description('Optional. This property allows the user to specify whether the virtual machines created under this image are \'Generalized\' or \'Specialized\'.') @allowed([ 'Generalized' 'Specialized' ]) param osState string = 'Generalized' -@description('Optional. The name of the gallery Image Definition publisher.') +@sys.description('Optional. The name of the gallery Image Definition publisher.') param publisher string = 'MicrosoftWindowsServer' -@description('Optional. The name of the gallery Image Definition offer.') +@sys.description('Optional. The name of the gallery Image Definition offer.') param offer string = 'WindowsServer' -@description('Optional. The name of the gallery Image Definition SKU.') +@sys.description('Optional. The name of the gallery Image Definition SKU.') param sku string = '2019-Datacenter' -@description('Optional. The minimum number of the CPU cores recommended for this image.') +@sys.description('Optional. The minimum number of the CPU cores recommended for this image.') @minValue(1) @maxValue(128) param minRecommendedvCPUs int = 1 -@description('Optional. The maximum number of the CPU cores recommended for this image.') +@sys.description('Optional. The maximum number of the CPU cores recommended for this image.') @minValue(1) @maxValue(128) param maxRecommendedvCPUs int = 4 -@description('Optional. The minimum amount of RAM in GB recommended for this image.') +@sys.description('Optional. The minimum amount of RAM in GB recommended for this image.') @minValue(1) @maxValue(4000) param minRecommendedMemory int = 4 -@description('Optional. The maximum amount of RAM in GB recommended for this image.') +@sys.description('Optional. The maximum amount of RAM in GB recommended for this image.') @minValue(1) @maxValue(4000) param maxRecommendedMemory int = 16 -@description('''Optional. The hypervisor generation of the Virtual Machine. +@sys.description('''Optional. The hypervisor generation of the Virtual Machine. * If this value is not specified, then it is determined by the securityType parameter. * If the securityType parameter is specified, then the value of hyperVGeneration will be V2, else V1. ''') @@ -65,7 +65,7 @@ param maxRecommendedMemory int = 16 ]) param hyperVGeneration string = '' -@description('Optional. The security type of the image. Requires a hyperVGeneration V2.') +@sys.description('Optional. The security type of the image. Requires a hyperVGeneration V2.') @allowed([ 'Standard' 'TrustedLaunch' @@ -74,14 +74,14 @@ param hyperVGeneration string = '' ]) param securityType string = 'Standard' -@description('Optional. The image will support hibernation.') +@sys.description('Optional. The image will support hibernation.') @allowed([ 'true' 'false' ]) param isHibernateSupported string = 'false' -@description('''Optional. The image supports accelerated networking. +@sys.description('''Optional. The image supports accelerated networking. Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, greatly improving its networking performance. This high-performance path bypasses the host from the data path, which reduces latency, jitter, and CPU utilization for the most demanding network workloads on supported VM types. @@ -92,37 +92,37 @@ most demanding network workloads on supported VM types. ]) param isAcceleratedNetworkSupported string = 'false' -@description('Optional. The description of this gallery Image Definition resource. This property is updatable.') -param imageDefinitionDescription string = '' +@sys.description('Optional. The description of this gallery Image Definition resource. This property is updatable.') +param description string = '' -@description('Optional. The Eula agreement for the gallery Image Definition. Has to be a valid URL.') +@sys.description('Optional. The Eula agreement for the gallery Image Definition. Has to be a valid URL.') param eula string = '' -@description('Optional. The privacy statement uri. Has to be a valid URL.') +@sys.description('Optional. The privacy statement uri. Has to be a valid URL.') param privacyStatementUri string = '' -@description('Optional. The release note uri. Has to be a valid URL.') +@sys.description('Optional. The release note uri. Has to be a valid URL.') param releaseNoteUri string = '' -@description('Optional. The product ID.') +@sys.description('Optional. The product ID.') param productName string = '' -@description('Optional. The plan ID.') +@sys.description('Optional. The plan ID.') param planName string = '' -@description('Optional. The publisher ID.') +@sys.description('Optional. The publisher ID.') param planPublisherName string = '' -@description('Optional. The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z.') +@sys.description('Optional. The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z.') param endOfLife string = '' -@description('Optional. List of the excluded disk types. E.g. Standard_LRS.') +@sys.description('Optional. List of the excluded disk types. E.g. Standard_LRS.') param excludedDiskTypes array = [] -@description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') +@sys.description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') param roleAssignments array = [] -@description('Optional. Tags for all resources.') +@sys.description('Optional. Tags for all resources.') param tags object = {} resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { @@ -188,7 +188,7 @@ resource image 'Microsoft.Compute/galleries/images@2022-03-03' = { value: isHibernateSupported } ] - description: imageDefinitionDescription + description: description eula: eula privacyStatementUri: privacyStatementUri releaseNoteUri: releaseNoteUri @@ -217,14 +217,14 @@ module galleryImage_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for } }] -@description('The resource group the image was deployed into.') +@sys.description('The resource group the image was deployed into.') output resourceGroupName string = resourceGroup().name -@description('The resource ID of the image.') +@sys.description('The resource ID of the image.') output resourceId string = image.id -@description('The name of the image.') +@sys.description('The name of the image.') output name string = image.name -@description('The location the resource was deployed into.') +@sys.description('The location the resource was deployed into.') output location string = image.location diff --git a/modules/Microsoft.Compute/galleries/images/readme.md b/modules/Microsoft.Compute/galleries/images/readme.md index 914b3fe7c1..cbd6a89d84 100644 --- a/modules/Microsoft.Compute/galleries/images/readme.md +++ b/modules/Microsoft.Compute/galleries/images/readme.md @@ -13,8 +13,8 @@ This module deploys an Image Definition in a Shared Image Gallery. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | -| `Microsoft.Compute/galleries/images` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/images) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Compute/galleries/images` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/galleries) | ## Parameters @@ -34,12 +34,12 @@ This module deploys an Image Definition in a Shared Image Gallery. | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | +| `description` | string | `''` | | The description of this gallery Image Definition resource. This property is updatable. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | | `endOfLife` | string | `''` | | The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z. | | `eula` | string | `''` | | The Eula agreement for the gallery Image Definition. Has to be a valid URL. | | `excludedDiskTypes` | array | `[]` | | List of the excluded disk types. E.g. Standard_LRS. | | `hyperVGeneration` | string | `''` | `['', V1, V2]` | The hypervisor generation of the Virtual Machine.

* If this value is not specified, then it is determined by the securityType parameter.

* If the securityType parameter is specified, then the value of hyperVGeneration will be V2, else V1.

| -| `imageDefinitionDescription` | string | `''` | | The description of this gallery Image Definition resource. This property is updatable. | | `isAcceleratedNetworkSupported` | string | `'false'` | `[false, true]` | The image supports accelerated networking.

Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, greatly improving its networking performance.

This high-performance path bypasses the host from the data path, which reduces latency, jitter, and CPU utilization for the

most demanding network workloads on supported VM types.

| | `isHibernateSupported` | string | `'false'` | `[false, true]` | The image will support hibernation. | | `location` | string | `[resourceGroup().location]` | | Location for all resources. | diff --git a/modules/Microsoft.Compute/galleries/readme.md b/modules/Microsoft.Compute/galleries/readme.md index 3e2105c116..bbccf964dd 100644 --- a/modules/Microsoft.Compute/galleries/readme.md +++ b/modules/Microsoft.Compute/galleries/readme.md @@ -14,11 +14,11 @@ This module deploys an Azure compute gallery (formerly known as shared image gal | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | -| `Microsoft.Compute/galleries` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries) | -| `Microsoft.Compute/galleries/applications` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/applications) | -| `Microsoft.Compute/galleries/images` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/images) | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Compute/galleries` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Compute/galleries/applications` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/galleries) | +| `Microsoft.Compute/galleries/images` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/galleries) | ## Parameters @@ -33,8 +33,8 @@ This module deploys an Azure compute gallery (formerly known as shared image gal | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | | `applications` | _[applications](applications/readme.md)_ array | `[]` | | Applications to create. | +| `description` | string | `''` | | Description of the Azure Shared Image Gallery. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | -| `galleryDescription` | string | `''` | | Description of the Azure Shared Image Gallery. | | `images` | _[images](images/readme.md)_ array | `[]` | | Images to create. | | `location` | string | `[resourceGroup().location]` | | Location for all resources. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | diff --git a/modules/Microsoft.Compute/proximityPlacementGroups/.test/common/deploy.test.bicep b/modules/Microsoft.Compute/proximityPlacementGroups/.test/common/deploy.test.bicep index da20117980..4e69618c52 100644 --- a/modules/Microsoft.Compute/proximityPlacementGroups/.test/common/deploy.test.bicep +++ b/modules/Microsoft.Compute/proximityPlacementGroups/.test/common/deploy.test.bicep @@ -59,7 +59,7 @@ module testDeployment '../../deploy.bicep' = { zones: [ '1' ] - proximityPlacementGroupType: 'Standard' + type: 'Standard' tags: { TagA: 'Would you kindly...' TagB: 'Tags for sale' diff --git a/modules/Microsoft.Compute/proximityPlacementGroups/deploy.bicep b/modules/Microsoft.Compute/proximityPlacementGroups/deploy.bicep index 024f7a97ab..874b221518 100644 --- a/modules/Microsoft.Compute/proximityPlacementGroups/deploy.bicep +++ b/modules/Microsoft.Compute/proximityPlacementGroups/deploy.bicep @@ -6,7 +6,7 @@ param name string 'Standard' 'Ultra' ]) -param proximityPlacementGroupType string = 'Standard' +param type string = 'Standard' @description('Optional. Resource location.') param location string = resourceGroup().location @@ -55,7 +55,7 @@ resource proximityPlacementGroup 'Microsoft.Compute/proximityPlacementGroups@202 tags: tags zones: zones properties: { - proximityPlacementGroupType: proximityPlacementGroupType + proximityPlacementGroupType: type colocationStatus: colocationStatus intent: !empty(intent) ? intent : null } diff --git a/modules/Microsoft.Compute/proximityPlacementGroups/readme.md b/modules/Microsoft.Compute/proximityPlacementGroups/readme.md index ffb00d0997..074e7463e7 100644 --- a/modules/Microsoft.Compute/proximityPlacementGroups/readme.md +++ b/modules/Microsoft.Compute/proximityPlacementGroups/readme.md @@ -14,9 +14,9 @@ This template deploys a proximity placement group. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | -| `Microsoft.Compute/proximityPlacementGroups` | [2022-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-08-01/proximityPlacementGroups) | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Compute/proximityPlacementGroups` | [2022-08-01](https://docs.microsoft.com/en-us/azure/templates) | ## Parameters @@ -35,9 +35,9 @@ This template deploys a proximity placement group. | `intent` | object | `{object}` | | Specifies the user intent of the proximity placement group. | | `location` | string | `[resourceGroup().location]` | | Resource location. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `proximityPlacementGroupType` | string | `'Standard'` | `[Standard, Ultra]` | Specifies the type of the proximity placement group. | | `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | | `tags` | object | `{object}` | | Tags of the proximity placement group resource. | +| `type` | string | `'Standard'` | `[Standard, Ultra]` | Specifies the type of the proximity placement group. | | `zones` | array | `[]` | | Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. | @@ -188,7 +188,6 @@ module proximityPlacementGroups './Microsoft.Compute/proximityPlacementGroups/de ] } lock: 'CanNotDelete' - proximityPlacementGroupType: 'Standard' roleAssignments: [ { principalIds: [ @@ -202,6 +201,7 @@ module proximityPlacementGroups './Microsoft.Compute/proximityPlacementGroups/de TagA: 'Would you kindly...' TagB: 'Tags for sale' } + type: 'Standard' zones: [ '1' ] @@ -248,9 +248,6 @@ module proximityPlacementGroups './Microsoft.Compute/proximityPlacementGroups/de "lock": { "value": "CanNotDelete" }, - "proximityPlacementGroupType": { - "value": "Standard" - }, "roleAssignments": { "value": [ { @@ -268,6 +265,9 @@ module proximityPlacementGroups './Microsoft.Compute/proximityPlacementGroups/de "TagB": "Tags for sale" } }, + "type": { + "value": "Standard" + }, "zones": { "value": [ "1" From ac07bb41400ac8f5afeaaf7feabb533339a63bc0 Mon Sep 17 00:00:00 2001 From: AlexanderSehr Date: Sun, 12 Feb 2023 13:22:30 +0100 Subject: [PATCH 4/8] Updated docs --- .../Microsoft.CDN/profiles/endpoints/origins/readme.md | 2 +- modules/Microsoft.CDN/profiles/endpoints/readme.md | 4 ++-- modules/Microsoft.CDN/profiles/readme.md | 10 +++++----- .../Microsoft.Compute/galleries/applications/readme.md | 4 ++-- modules/Microsoft.Compute/galleries/images/readme.md | 4 ++-- modules/Microsoft.Compute/galleries/readme.md | 10 +++++----- .../proximityPlacementGroups/readme.md | 6 +++--- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/modules/Microsoft.CDN/profiles/endpoints/origins/readme.md b/modules/Microsoft.CDN/profiles/endpoints/origins/readme.md index 397fda0772..c3f8a81640 100644 --- a/modules/Microsoft.CDN/profiles/endpoints/origins/readme.md +++ b/modules/Microsoft.CDN/profiles/endpoints/origins/readme.md @@ -13,7 +13,7 @@ This module deploys CDN Profiles Endpoint Origins. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | +| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints/origins) | ## Parameters diff --git a/modules/Microsoft.CDN/profiles/endpoints/readme.md b/modules/Microsoft.CDN/profiles/endpoints/readme.md index af3b3a44fa..de0a318b57 100644 --- a/modules/Microsoft.CDN/profiles/endpoints/readme.md +++ b/modules/Microsoft.CDN/profiles/endpoints/readme.md @@ -13,8 +13,8 @@ This module deploys CDN Profiles Endpoint. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Cdn/profiles/endpoints` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | -| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | +| `Microsoft.Cdn/profiles/endpoints` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints) | +| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints/origins) | ## Parameters diff --git a/modules/Microsoft.CDN/profiles/readme.md b/modules/Microsoft.CDN/profiles/readme.md index a13ce1291e..84c4c8f9f3 100644 --- a/modules/Microsoft.CDN/profiles/readme.md +++ b/modules/Microsoft.CDN/profiles/readme.md @@ -14,11 +14,11 @@ This module deploys CDN Profiles. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Cdn/profiles` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Cdn/profiles/endpoints` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | -| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/profiles) | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | +| `Microsoft.Cdn/profiles` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles) | +| `Microsoft.Cdn/profiles/endpoints` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints) | +| `Microsoft.Cdn/profiles/endpoints/origins` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Cdn/2021-06-01/profiles/endpoints/origins) | ## Parameters diff --git a/modules/Microsoft.Compute/galleries/applications/readme.md b/modules/Microsoft.Compute/galleries/applications/readme.md index 9fb1da34cc..a9756bf65c 100644 --- a/modules/Microsoft.Compute/galleries/applications/readme.md +++ b/modules/Microsoft.Compute/galleries/applications/readme.md @@ -13,8 +13,8 @@ This module deploys an Application in a Azure Compute Gallery. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Compute/galleries/applications` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/galleries) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | +| `Microsoft.Compute/galleries/applications` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/applications) | ## Parameters diff --git a/modules/Microsoft.Compute/galleries/images/readme.md b/modules/Microsoft.Compute/galleries/images/readme.md index cbd6a89d84..d7cef8bcd2 100644 --- a/modules/Microsoft.Compute/galleries/images/readme.md +++ b/modules/Microsoft.Compute/galleries/images/readme.md @@ -13,8 +13,8 @@ This module deploys an Image Definition in a Shared Image Gallery. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Compute/galleries/images` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/galleries) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | +| `Microsoft.Compute/galleries/images` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/images) | ## Parameters diff --git a/modules/Microsoft.Compute/galleries/readme.md b/modules/Microsoft.Compute/galleries/readme.md index bbccf964dd..e207b640a7 100644 --- a/modules/Microsoft.Compute/galleries/readme.md +++ b/modules/Microsoft.Compute/galleries/readme.md @@ -14,11 +14,11 @@ This module deploys an Azure compute gallery (formerly known as shared image gal | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Compute/galleries` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Compute/galleries/applications` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/galleries) | -| `Microsoft.Compute/galleries/images` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/galleries) | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | +| `Microsoft.Compute/galleries` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries) | +| `Microsoft.Compute/galleries/applications` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/applications) | +| `Microsoft.Compute/galleries/images` | [2022-03-03](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/images) | ## Parameters diff --git a/modules/Microsoft.Compute/proximityPlacementGroups/readme.md b/modules/Microsoft.Compute/proximityPlacementGroups/readme.md index 074e7463e7..0e27b9d4ec 100644 --- a/modules/Microsoft.Compute/proximityPlacementGroups/readme.md +++ b/modules/Microsoft.Compute/proximityPlacementGroups/readme.md @@ -14,9 +14,9 @@ This template deploys a proximity placement group. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates) | -| `Microsoft.Compute/proximityPlacementGroups` | [2022-08-01](https://docs.microsoft.com/en-us/azure/templates) | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | +| `Microsoft.Compute/proximityPlacementGroups` | [2022-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-08-01/proximityPlacementGroups) | ## Parameters From bbcf2322b3d1e2b79e5538c951aeeb4d534a903b Mon Sep 17 00:00:00 2001 From: AlexanderSehr Date: Sun, 12 Feb 2023 13:40:31 +0100 Subject: [PATCH 5/8] Updated Databricks & Desktop Virtualization --- .../workspaces/deploy.bicep | 4 +- .../Microsoft.Databricks/workspaces/readme.md | 2 +- .../hostpools/.test/common/deploy.test.bicep | 6 +- .../hostpools/deploy.bicep | 74 +++++++++---------- .../.test/common/deploy.test.bicep | 2 +- .../scalingplans/deploy.bicep | 48 ++++++------ .../workspaces/.test/common/deploy.test.bicep | 4 +- .../workspaces/deploy.bicep | 48 ++++++------ 8 files changed, 94 insertions(+), 94 deletions(-) diff --git a/modules/Microsoft.Databricks/workspaces/deploy.bicep b/modules/Microsoft.Databricks/workspaces/deploy.bicep index b02ab7fefe..fc7c83d9bc 100644 --- a/modules/Microsoft.Databricks/workspaces/deploy.bicep +++ b/modules/Microsoft.Databricks/workspaces/deploy.bicep @@ -19,7 +19,7 @@ param location string = resourceGroup().location param roleAssignments array = [] @description('Optional. The workspace\'s custom parameters.') -param workspaceParameters object = {} +param parameters object = {} @description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') @minValue(0) @@ -117,7 +117,7 @@ resource workspace 'Microsoft.Databricks/workspaces@2018-04-01' = { } properties: { managedResourceGroupId: (empty(managedResourceGroupId) ? managedResourceGroupIdVar : managedResourceGroupId) - parameters: workspaceParameters + parameters: parameters } } diff --git a/modules/Microsoft.Databricks/workspaces/readme.md b/modules/Microsoft.Databricks/workspaces/readme.md index 9b0b0a68e7..66a935040a 100644 --- a/modules/Microsoft.Databricks/workspaces/readme.md +++ b/modules/Microsoft.Databricks/workspaces/readme.md @@ -40,10 +40,10 @@ | `location` | string | `[resourceGroup().location]` | | Location for all Resources. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | | `managedResourceGroupId` | string | `''` | | The managed resource group ID. | +| `parameters` | object | `{object}` | | The workspace's custom parameters. | | `pricingTier` | string | `'premium'` | `[premium, standard, trial]` | The pricing tier of workspace. | | `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | | `tags` | object | `{object}` | | Tags of the resource. | -| `workspaceParameters` | object | `{object}` | | The workspace's custom parameters. | ### Parameter Usage: `roleAssignments` diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/.test/common/deploy.test.bicep b/modules/Microsoft.DesktopVirtualization/hostpools/.test/common/deploy.test.bicep index 668ee3dd72..2beccd2ea9 100644 --- a/modules/Microsoft.DesktopVirtualization/hostpools/.test/common/deploy.test.bicep +++ b/modules/Microsoft.DesktopVirtualization/hostpools/.test/common/deploy.test.bicep @@ -66,9 +66,9 @@ module testDeployment '../../deploy.bicep' = { diagnosticWorkspaceId: diagnosticDependencies.outputs.logAnalyticsWorkspaceResourceId diagnosticEventHubAuthorizationRuleId: diagnosticDependencies.outputs.eventHubAuthorizationRuleId diagnosticEventHubName: diagnosticDependencies.outputs.eventHubNamespaceEventHubName - hostpoolDescription: 'My first AVD Host Pool' - hostpoolFriendlyName: 'AVDv2' - hostpoolType: 'Pooled' + description: 'My first AVD Host Pool' + friendlyName: 'AVDv2' + type: 'Pooled' loadBalancerType: 'BreadthFirst' location: location lock: 'CanNotDelete' diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep b/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep index 6172cf9867..6b700475d5 100644 --- a/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep +++ b/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep @@ -1,24 +1,24 @@ -@description('Required. Name of the Host Pool.') +@sys.description('Required. Name of the Host Pool.') @minLength(1) param name string -@description('Optional. Location for all resources.') +@sys.description('Optional. Location for all resources.') param location string = resourceGroup().location -@description('Optional. The friendly name of the Host Pool to be created.') -param hostpoolFriendlyName string = '' +@sys.description('Optional. The friendly name of the Host Pool to be created.') +param friendlyName string = '' -@description('Optional. The description of the Host Pool to be created.') -param hostpoolDescription string = '' +@sys.description('Optional. The description of the Host Pool to be created.') +param description string = '' -@description('Optional. Set this parameter to Personal if you would like to enable Persistent Desktop experience. Defaults to Pooled.') +@sys.description('Optional. Set this parameter to Personal if you would like to enable Persistent Desktop experience. Defaults to Pooled.') @allowed([ 'Personal' 'Pooled' ]) -param hostpoolType string = 'Pooled' +param type string = 'Pooled' -@description('Optional. Set the type of assignment for a Personal Host Pool type.') +@sys.description('Optional. Set the type of assignment for a Personal Host Pool type.') @allowed([ 'Automatic' 'Direct' @@ -26,7 +26,7 @@ param hostpoolType string = 'Pooled' ]) param personalDesktopAssignmentType string = '' -@description('Optional. Type of load balancer algorithm.') +@sys.description('Optional. Type of load balancer algorithm.') @allowed([ 'BreadthFirst' 'DepthFirst' @@ -34,39 +34,39 @@ param personalDesktopAssignmentType string = '' ]) param loadBalancerType string = 'BreadthFirst' -@description('Optional. Maximum number of sessions.') +@sys.description('Optional. Maximum number of sessions.') param maxSessionLimit int = 99999 -@description('Optional. Host Pool RDP properties.') +@sys.description('Optional. Host Pool RDP properties.') param customRdpProperty string = 'audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode id:i:2;' -@description('Optional. Validation host pools allows you to test service changes before they are deployed to production. When set to true, the Host Pool will be deployed in a validation \'ring\' (environment) that receives all the new features (might be less stable). Defaults to false that stands for the stable, production-ready environment.') +@sys.description('Optional. Validation host pools allows you to test service changes before they are deployed to production. When set to true, the Host Pool will be deployed in a validation \'ring\' (environment) that receives all the new features (might be less stable). Defaults to false that stands for the stable, production-ready environment.') param validationEnvironment bool = false -@description('Optional. The necessary information for adding more VMs to this Host Pool.') +@sys.description('Optional. The necessary information for adding more VMs to this Host Pool.') param vmTemplate object = {} -@description('Optional. Host Pool token validity length. Usage: \'PT8H\' - valid for 8 hours; \'P5D\' - valid for 5 days; \'P1Y\' - valid for 1 year. When not provided, the token will be valid for 8 hours.') +@sys.description('Optional. Host Pool token validity length. Usage: \'PT8H\' - valid for 8 hours; \'P5D\' - valid for 5 days; \'P1Y\' - valid for 1 year. When not provided, the token will be valid for 8 hours.') param tokenValidityLength string = 'PT8H' -@description('Generated. Do not provide a value! This date value is used to generate a registration token.') +@sys.description('Generated. Do not provide a value! This date value is used to generate a registration token.') param baseTime string = utcNow('u') -@description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') +@sys.description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') @minValue(0) @maxValue(365) param diagnosticLogsRetentionInDays int = 365 -@description('Optional. Resource ID of the diagnostic storage account.') +@sys.description('Optional. Resource ID of the diagnostic storage account.') param diagnosticStorageAccountId string = '' -@description('Optional. Resource ID of the diagnostic log analytics workspace.') +@sys.description('Optional. Resource ID of the diagnostic log analytics workspace.') param diagnosticWorkspaceId string = '' -@description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') +@sys.description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') param diagnosticEventHubAuthorizationRuleId string = '' -@description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.') +@sys.description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.') param diagnosticEventHubName string = '' @allowed([ @@ -74,16 +74,16 @@ param diagnosticEventHubName string = '' 'CanNotDelete' 'ReadOnly' ]) -@description('Optional. Specify the type of lock.') +@sys.description('Optional. Specify the type of lock.') param lock string = '' -@description('Optional. Tags of the resource.') +@sys.description('Optional. Tags of the resource.') param tags object = {} -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. The type of preferred application group type, default to Desktop Application Group.') +@sys.description('Optional. The type of preferred application group type, default to Desktop Application Group.') @allowed([ 'Desktop' 'None' @@ -91,13 +91,13 @@ param enableDefaultTelemetry bool = true ]) param preferredAppGroupType string = 'Desktop' -@description('Optional. Enable Start VM on connect to allow users to start the virtual machine from a deallocated state. Important: Custom RBAC role required to power manage VMs.') +@sys.description('Optional. Enable Start VM on connect to allow users to start the virtual machine from a deallocated state. Important: Custom RBAC role required to power manage VMs.') param startVMOnConnect bool = false -@description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalIds\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') +@sys.description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalIds\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') param roleAssignments array = [] -@description('Optional. The name of logs that will be streamed. "allLogs" includes all possible logs for the resource.') +@sys.description('Optional. The name of logs that will be streamed. "allLogs" includes all possible logs for the resource.') @allowed([ 'allLogs' 'Checkpoint' @@ -111,7 +111,7 @@ param diagnosticLogCategoriesToEnable array = [ 'allLogs' ] -@description('Optional. The name of the diagnostic setting, if deployed.') +@sys.description('Optional. The name of the diagnostic setting, if deployed.') param diagnosticSettingsName string = '${name}-diagnosticSettings' var diagnosticsLogsSpecified = [for category in filter(diagnosticLogCategoriesToEnable, item => item != 'allLogs'): { @@ -153,9 +153,9 @@ resource hostPool 'Microsoft.DesktopVirtualization/hostpools@2021-07-12' = { location: location tags: tags properties: { - friendlyName: hostpoolFriendlyName - description: hostpoolDescription - hostPoolType: hostpoolType + friendlyName: friendlyName + description: description + hostPoolType: type customRdpProperty: customRdpProperty personalDesktopAssignmentType: any(personalDesktopAssignmentType) preferredAppGroupType: preferredAppGroupType @@ -206,17 +206,17 @@ module hostPool_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (ro } }] -@description('The resource ID of the AVD host pool.') +@sys.description('The resource ID of the AVD host pool.') output resourceId string = hostPool.id -@description('The resource group the AVD host pool was deployed into.') +@sys.description('The resource group the AVD host pool was deployed into.') output resourceGroupName string = resourceGroup().name -@description('The name of the AVD host pool.') +@sys.description('The name of the AVD host pool.') output name string = hostPool.name -@description('The expiration time for the registration token.') +@sys.description('The expiration time for the registration token.') output tokenExpirationTime string = dateTimeAdd(baseTime, tokenValidityLength) -@description('The location the resource was deployed into.') +@sys.description('The location the resource was deployed into.') output location string = hostPool.location diff --git a/modules/Microsoft.DesktopVirtualization/scalingplans/.test/common/deploy.test.bicep b/modules/Microsoft.DesktopVirtualization/scalingplans/.test/common/deploy.test.bicep index 90a3f62950..0521abe4e2 100644 --- a/modules/Microsoft.DesktopVirtualization/scalingplans/.test/common/deploy.test.bicep +++ b/modules/Microsoft.DesktopVirtualization/scalingplans/.test/common/deploy.test.bicep @@ -80,6 +80,6 @@ module testDeployment '../../deploy.bicep' = { } hostPoolType: 'Pooled' friendlyName: 'My Scaling Plan' - scalingplanDescription: 'My Scaling Plan Description' + description: 'My Scaling Plan Description' } } diff --git a/modules/Microsoft.DesktopVirtualization/scalingplans/deploy.bicep b/modules/Microsoft.DesktopVirtualization/scalingplans/deploy.bicep index 189c00bda0..2eb719bd03 100644 --- a/modules/Microsoft.DesktopVirtualization/scalingplans/deploy.bicep +++ b/modules/Microsoft.DesktopVirtualization/scalingplans/deploy.bicep @@ -1,29 +1,29 @@ -@description('Required. Name of the scaling plan.') +@sys.description('Required. Name of the scaling plan.') @minLength(1) param name string -@description('Optional. Location for all resources.') +@sys.description('Optional. Location for all resources.') param location string = resourceGroup().location -@description('Optional. Friendly Name of the scaling plan.') +@sys.description('Optional. Friendly Name of the scaling plan.') param friendlyName string = name -@description('Optional. Description of the scaling plan.') -param scalingplanDescription string = name +@sys.description('Optional. Description of the scaling plan.') +param description string = name -@description('Optional. Timezone to be used for the scaling plan.') +@sys.description('Optional. Timezone to be used for the scaling plan.') param timeZone string = 'W. Europe Standard Time' @allowed([ 'Pooled' ]) -@description('Optional. The type of hostpool where this scaling plan should be applied.') +@sys.description('Optional. The type of hostpool where this scaling plan should be applied.') param hostPoolType string = 'Pooled' -@description('Optional. Provide a tag to be used for hosts that should not be affected by the scaling plan.') +@sys.description('Optional. Provide a tag to be used for hosts that should not be affected by the scaling plan.') param exclusionTag string = '' -@description('Optional. The schedules related to this scaling plan. If no value is provided a default schedule will be provided.') +@sys.description('Optional. The schedules related to this scaling plan. If no value is provided a default schedule will be provided.') param schedules array = [ { rampUpStartTime: { @@ -65,36 +65,36 @@ param schedules array = [ } ] -@description('Optional. An array of references to hostpools.') +@sys.description('Optional. An array of references to hostpools.') param hostPoolReferences array = [] -@description('Optional. Tags of the resource.') +@sys.description('Optional. Tags of the resource.') param tags object = {} -@description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') +@sys.description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') @minValue(0) @maxValue(365) param diagnosticLogsRetentionInDays int = 365 -@description('Optional. Resource ID of the diagnostic storage account.') +@sys.description('Optional. Resource ID of the diagnostic storage account.') param diagnosticStorageAccountId string = '' -@description('Optional. Resource ID of the diagnostic log analytics workspace.') +@sys.description('Optional. Resource ID of the diagnostic log analytics workspace.') param diagnosticWorkspaceId string = '' -@description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') +@sys.description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') param diagnosticEventHubAuthorizationRuleId string = '' -@description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.') +@sys.description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.') param diagnosticEventHubName string = '' -@description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalIds\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') +@sys.description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalIds\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') param roleAssignments array = [] -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. The name of logs that will be streamed. "allLogs" includes all possible logs for the resource.') +@sys.description('Optional. The name of logs that will be streamed. "allLogs" includes all possible logs for the resource.') @allowed([ 'allLogs' 'Autoscale' @@ -146,7 +146,7 @@ resource scalingPlan 'Microsoft.DesktopVirtualization/scalingPlans@2022-04-01-pr exclusionTag: exclusionTag schedules: schedules hostPoolReferences: hostPoolReferences - description: scalingplanDescription + description: description } } @@ -175,14 +175,14 @@ module scalingplan_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for } }] -@description('The resource ID of the AVD scaling plan.') +@sys.description('The resource ID of the AVD scaling plan.') output resourceId string = scalingPlan.id -@description('The resource group the AVD scaling plan was deployed into.') +@sys.description('The resource group the AVD scaling plan was deployed into.') output resourceGroupName string = resourceGroup().name -@description('The name of the AVD scaling plan.') +@sys.description('The name of the AVD scaling plan.') output name string = scalingPlan.name -@description('The location the resource was deployed into.') +@sys.description('The location the resource was deployed into.') output location string = scalingPlan.location diff --git a/modules/Microsoft.DesktopVirtualization/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.DesktopVirtualization/workspaces/.test/common/deploy.test.bicep index e869261d9f..665b7e0852 100644 --- a/modules/Microsoft.DesktopVirtualization/workspaces/.test/common/deploy.test.bicep +++ b/modules/Microsoft.DesktopVirtualization/workspaces/.test/common/deploy.test.bicep @@ -81,7 +81,7 @@ module testDeployment '../../deploy.bicep' = { principalType: 'ServicePrincipal' } ] - workspaceDescription: 'This is my first AVD Workspace' - workspaceFriendlyName: 'My first AVD Workspace' + description: 'This is my first AVD Workspace' + friendlyName: 'My first AVD Workspace' } } diff --git a/modules/Microsoft.DesktopVirtualization/workspaces/deploy.bicep b/modules/Microsoft.DesktopVirtualization/workspaces/deploy.bicep index 4aa94210f1..13aa065c21 100644 --- a/modules/Microsoft.DesktopVirtualization/workspaces/deploy.bicep +++ b/modules/Microsoft.DesktopVirtualization/workspaces/deploy.bicep @@ -1,33 +1,33 @@ -@description('Required. The name of the workspace to be attach to new Application Group.') +@sys.description('Required. The name of the workspace to be attach to new Application Group.') param name string -@description('Optional. Location for all resources.') +@sys.description('Optional. Location for all resources.') param location string = resourceGroup().location -@description('Optional. Resource IDs for the existing Application groups this workspace will group together.') +@sys.description('Optional. Resource IDs for the existing Application groups this workspace will group together.') param appGroupResourceIds array = [] -@description('Optional. The friendly name of the Workspace to be created.') -param workspaceFriendlyName string = '' +@sys.description('Optional. The friendly name of the Workspace to be created.') +param friendlyName string = '' -@description('Optional. The description of the Workspace to be created.') -param workspaceDescription string = '' +@sys.description('Optional. The description of the Workspace to be created.') +param description string = '' -@description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') +@sys.description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') @minValue(0) @maxValue(365) param diagnosticLogsRetentionInDays int = 365 -@description('Optional. Resource ID of the diagnostic storage account.') +@sys.description('Optional. Resource ID of the diagnostic storage account.') param diagnosticStorageAccountId string = '' -@description('Optional. Resource ID of the diagnostic log analytics workspace.') +@sys.description('Optional. Resource ID of the diagnostic log analytics workspace.') param diagnosticWorkspaceId string = '' -@description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') +@sys.description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') param diagnosticEventHubAuthorizationRuleId string = '' -@description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.') +@sys.description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.') param diagnosticEventHubName string = '' @allowed([ @@ -35,19 +35,19 @@ param diagnosticEventHubName string = '' 'CanNotDelete' 'ReadOnly' ]) -@description('Optional. Specify the type of lock.') +@sys.description('Optional. Specify the type of lock.') param lock string = '' -@description('Optional. Tags of the resource.') +@sys.description('Optional. Tags of the resource.') param tags object = {} -@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +@sys.description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalIds\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') +@sys.description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalIds\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') param roleAssignments array = [] -@description('Optional. The name of logs that will be streamed. "allLogs" includes all possible logs for the resource.') +@sys.description('Optional. The name of logs that will be streamed. "allLogs" includes all possible logs for the resource.') @allowed([ 'allLogs' 'Checkpoint' @@ -59,7 +59,7 @@ param diagnosticLogCategoriesToEnable array = [ 'allLogs' ] -@description('Optional. The name of the diagnostic setting, if deployed.') +@sys.description('Optional. The name of the diagnostic setting, if deployed.') param diagnosticSettingsName string = '${name}-diagnosticSettings' var diagnosticsLogsSpecified = [for category in filter(diagnosticLogCategoriesToEnable, item => item != 'allLogs'): { @@ -100,8 +100,8 @@ resource workspace 'Microsoft.DesktopVirtualization/workspaces@2021-07-12' = { tags: tags properties: { applicationGroupReferences: appGroupResourceIds - description: workspaceDescription - friendlyName: workspaceFriendlyName + description: description + friendlyName: friendlyName } } @@ -139,14 +139,14 @@ module workspace_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (r } }] -@description('The resource ID of the AVD workspace.') +@sys.description('The resource ID of the AVD workspace.') output resourceId string = workspace.id -@description('The resource group the AVD workspace was deployed into.') +@sys.description('The resource group the AVD workspace was deployed into.') output resourceGroupName string = resourceGroup().name -@description('The name of the AVD workspace.') +@sys.description('The name of the AVD workspace.') output name string = workspace.name -@description('The location the resource was deployed into.') +@sys.description('The location the resource was deployed into.') output location string = workspace.location From 3bc6a976f2dfff2e05ebd4b7eb6a9235c4e69abe Mon Sep 17 00:00:00 2001 From: AlexanderSehr Date: Sun, 12 Feb 2023 13:42:05 +0100 Subject: [PATCH 6/8] Updated ReadMes --- .../hostpools/readme.md | 26 +++++++++---------- .../scalingplans/readme.md | 10 +++---- .../workspaces/readme.md | 20 +++++++------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/readme.md b/modules/Microsoft.DesktopVirtualization/hostpools/readme.md index 1535227cc4..815fc4d41f 100644 --- a/modules/Microsoft.DesktopVirtualization/hostpools/readme.md +++ b/modules/Microsoft.DesktopVirtualization/hostpools/readme.md @@ -32,6 +32,7 @@ This module deploys an Azure virtual desktop host pool. | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | | `customRdpProperty` | string | `'audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode id:i:2;'` | | Host Pool RDP properties. | +| `description` | string | `''` | | The description of the Host Pool to be created. | | `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | | `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | | `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `[AgentHealthStatus, allLogs, Checkpoint, Connection, Error, HostRegistration, Management]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. | @@ -40,9 +41,7 @@ This module deploys an Azure virtual desktop host pool. | `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. | | `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | -| `hostpoolDescription` | string | `''` | | The description of the Host Pool to be created. | -| `hostpoolFriendlyName` | string | `''` | | The friendly name of the Host Pool to be created. | -| `hostpoolType` | string | `'Pooled'` | `[Personal, Pooled]` | Set this parameter to Personal if you would like to enable Persistent Desktop experience. Defaults to Pooled. | +| `friendlyName` | string | `''` | | The friendly name of the Host Pool to be created. | | `loadBalancerType` | string | `'BreadthFirst'` | `[BreadthFirst, DepthFirst, Persistent]` | Type of load balancer algorithm. | | `location` | string | `[resourceGroup().location]` | | Location for all resources. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | @@ -53,6 +52,7 @@ This module deploys an Azure virtual desktop host pool. | `startVMOnConnect` | bool | `False` | | Enable Start VM on connect to allow users to start the virtual machine from a deallocated state. Important: Custom RBAC role required to power manage VMs. | | `tags` | object | `{object}` | | Tags of the resource. | | `tokenValidityLength` | string | `'PT8H'` | | Host Pool token validity length. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the token will be valid for 8 hours. | +| `type` | string | `'Pooled'` | `[Personal, Pooled]` | Set this parameter to Personal if you would like to enable Persistent Desktop experience. Defaults to Pooled. | | `validationEnvironment` | bool | `False` | | Validation host pools allows you to test service changes before they are deployed to production. When set to true, the Host Pool will be deployed in a validation 'ring' (environment) that receives all the new features (might be less stable). Defaults to false that stands for the stable, production-ready environment. | | `vmTemplate` | object | `{object}` | | The necessary information for adding more VMs to this Host Pool. | @@ -282,15 +282,14 @@ module hostpools './Microsoft.DesktopVirtualization/hostpools/deploy.bicep' = { name: '<>dvhpcom001' // Non-required parameters customRdpProperty: 'audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode id:i:2;' + description: 'My first AVD Host Pool' diagnosticEventHubAuthorizationRuleId: '' diagnosticEventHubName: '' diagnosticLogsRetentionInDays: 7 diagnosticStorageAccountId: '' diagnosticWorkspaceId: '' enableDefaultTelemetry: '' - hostpoolDescription: 'My first AVD Host Pool' - hostpoolFriendlyName: 'AVDv2' - hostpoolType: 'Pooled' + friendlyName: 'AVDv2' loadBalancerType: 'BreadthFirst' location: '' lock: 'CanNotDelete' @@ -305,6 +304,7 @@ module hostpools './Microsoft.DesktopVirtualization/hostpools/deploy.bicep' = { roleDefinitionIdOrName: 'Reader' } ] + type: 'Pooled' vmTemplate: { customImageId: '' domain: 'domainname.onmicrosoft.com' @@ -346,6 +346,9 @@ module hostpools './Microsoft.DesktopVirtualization/hostpools/deploy.bicep' = { "customRdpProperty": { "value": "audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode id:i:2;" }, + "description": { + "value": "My first AVD Host Pool" + }, "diagnosticEventHubAuthorizationRuleId": { "value": "" }, @@ -364,15 +367,9 @@ module hostpools './Microsoft.DesktopVirtualization/hostpools/deploy.bicep' = { "enableDefaultTelemetry": { "value": "" }, - "hostpoolDescription": { - "value": "My first AVD Host Pool" - }, - "hostpoolFriendlyName": { + "friendlyName": { "value": "AVDv2" }, - "hostpoolType": { - "value": "Pooled" - }, "loadBalancerType": { "value": "BreadthFirst" }, @@ -399,6 +396,9 @@ module hostpools './Microsoft.DesktopVirtualization/hostpools/deploy.bicep' = { } ] }, + "type": { + "value": "Pooled" + }, "vmTemplate": { "value": { "customImageId": "", diff --git a/modules/Microsoft.DesktopVirtualization/scalingplans/readme.md b/modules/Microsoft.DesktopVirtualization/scalingplans/readme.md index 289d804a69..ecad920e18 100644 --- a/modules/Microsoft.DesktopVirtualization/scalingplans/readme.md +++ b/modules/Microsoft.DesktopVirtualization/scalingplans/readme.md @@ -30,6 +30,7 @@ This module deploys an AVD Scaling Plan. | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | +| `description` | string | `[parameters('name')]` | | Description of the scaling plan. | | `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | | `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | | `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `[allLogs, Autoscale]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. | @@ -43,7 +44,6 @@ This module deploys an AVD Scaling Plan. | `hostPoolType` | string | `'Pooled'` | `[Pooled]` | The type of hostpool where this scaling plan should be applied. | | `location` | string | `[resourceGroup().location]` | | Location for all resources. | | `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `scalingplanDescription` | string | `[parameters('name')]` | | Description of the scaling plan. | | `schedules` | array | `[System.Management.Automation.OrderedHashtable]` | | The schedules related to this scaling plan. If no value is provided a default schedule will be provided. | | `tags` | object | `{object}` | | Tags of the resource. | | `timeZone` | string | `'W. Europe Standard Time'` | | Timezone to be used for the scaling plan. | @@ -283,6 +283,7 @@ module scalingplans './Microsoft.DesktopVirtualization/scalingplans/deploy.bicep // Required parameters name: '<>dvspcom001' // Non-required parameters + description: 'My Scaling Plan Description' diagnosticEventHubAuthorizationRuleId: '' diagnosticEventHubName: '' diagnosticLogsRetentionInDays: 7 @@ -300,7 +301,6 @@ module scalingplans './Microsoft.DesktopVirtualization/scalingplans/deploy.bicep roleDefinitionIdOrName: 'Reader' } ] - scalingplanDescription: 'My Scaling Plan Description' tags: { Company: 'Contoso' Environment: 'Non-Prod' @@ -326,6 +326,9 @@ module scalingplans './Microsoft.DesktopVirtualization/scalingplans/deploy.bicep "value": "<>dvspcom001" }, // Non-required parameters + "description": { + "value": "My Scaling Plan Description" + }, "diagnosticEventHubAuthorizationRuleId": { "value": "" }, @@ -361,9 +364,6 @@ module scalingplans './Microsoft.DesktopVirtualization/scalingplans/deploy.bicep } ] }, - "scalingplanDescription": { - "value": "My Scaling Plan Description" - }, "tags": { "value": { "Company": "Contoso", diff --git a/modules/Microsoft.DesktopVirtualization/workspaces/readme.md b/modules/Microsoft.DesktopVirtualization/workspaces/readme.md index 32043bde8e..35190df679 100644 --- a/modules/Microsoft.DesktopVirtualization/workspaces/readme.md +++ b/modules/Microsoft.DesktopVirtualization/workspaces/readme.md @@ -32,6 +32,7 @@ This module deploys an Azure virtual desktop workspace. | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | | `appGroupResourceIds` | array | `[]` | | Resource IDs for the existing Application groups this workspace will group together. | +| `description` | string | `''` | | The description of the Workspace to be created. | | `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | | `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | | `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `[allLogs, Checkpoint, Error, Feed, Management]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. | @@ -40,12 +41,11 @@ This module deploys an Azure virtual desktop workspace. | `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. | | `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | +| `friendlyName` | string | `''` | | The friendly name of the Workspace to be created. | | `location` | string | `[resourceGroup().location]` | | Location for all resources. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | | `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | | `tags` | object | `{object}` | | Tags of the resource. | -| `workspaceDescription` | string | `''` | | The description of the Workspace to be created. | -| `workspaceFriendlyName` | string | `''` | | The friendly name of the Workspace to be created. | ### Parameter Usage: `roleAssignments` @@ -184,12 +184,14 @@ module workspaces './Microsoft.DesktopVirtualization/workspaces/deploy.bicep' = appGroupResourceIds: [ '' ] + description: 'This is my first AVD Workspace' diagnosticEventHubAuthorizationRuleId: '' diagnosticEventHubName: '' diagnosticLogsRetentionInDays: 7 diagnosticStorageAccountId: '' diagnosticWorkspaceId: '' enableDefaultTelemetry: '' + friendlyName: 'My first AVD Workspace' location: '' lock: 'CanNotDelete' roleAssignments: [ @@ -201,8 +203,6 @@ module workspaces './Microsoft.DesktopVirtualization/workspaces/deploy.bicep' = roleDefinitionIdOrName: 'Reader' } ] - workspaceDescription: 'This is my first AVD Workspace' - workspaceFriendlyName: 'My first AVD Workspace' } } ``` @@ -229,6 +229,9 @@ module workspaces './Microsoft.DesktopVirtualization/workspaces/deploy.bicep' = "" ] }, + "description": { + "value": "This is my first AVD Workspace" + }, "diagnosticEventHubAuthorizationRuleId": { "value": "" }, @@ -247,6 +250,9 @@ module workspaces './Microsoft.DesktopVirtualization/workspaces/deploy.bicep' = "enableDefaultTelemetry": { "value": "" }, + "friendlyName": { + "value": "My first AVD Workspace" + }, "location": { "value": "" }, @@ -263,12 +269,6 @@ module workspaces './Microsoft.DesktopVirtualization/workspaces/deploy.bicep' = "roleDefinitionIdOrName": "Reader" } ] - }, - "workspaceDescription": { - "value": "This is my first AVD Workspace" - }, - "workspaceFriendlyName": { - "value": "My first AVD Workspace" } } } From defcfe5034a2e237f3a2ed05aab262b6be4b8ae5 Mon Sep 17 00:00:00 2001 From: AlexanderSehr Date: Sun, 12 Feb 2023 13:59:03 +0100 Subject: [PATCH 7/8] Updated API versions --- .../.bicep/nested_roleAssignments.bicep | 4 +-- .../hostpools/deploy.bicep | 35 ++++++++++++++++++- .../hostpools/readme.md | 8 ++++- .../.bicep/nested_roleAssignments.bicep | 4 +-- .../workspaces/deploy.bicep | 2 +- .../workspaces/readme.md | 2 +- 6 files changed, 47 insertions(+), 8 deletions(-) diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.DesktopVirtualization/hostpools/.bicep/nested_roleAssignments.bicep index 89981ba620..26992c24af 100644 --- a/modules/Microsoft.DesktopVirtualization/hostpools/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.DesktopVirtualization/hostpools/.bicep/nested_roleAssignments.bicep @@ -63,8 +63,8 @@ var builtInRoleNames = { 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') } -resource hostPool 'Microsoft.DesktopVirtualization/hostpools@2021-07-12' existing = { - name: last(split(resourceId, '/')) +resource hostPool 'Microsoft.DesktopVirtualization/hostPools@2022-09-09' existing = { + name: last(split(resourceId, '/'))! } resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep b/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep index 6b700475d5..a3c09319ff 100644 --- a/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep +++ b/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep @@ -97,6 +97,33 @@ param startVMOnConnect bool = false @sys.description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalIds\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') param roleAssignments array = [] +@sys.description('Optional. The session host configuration for updating agent, monitoring agent, and stack component.') +param agentUpdate object = {} + +@sys.description('Optional. The ring number of HostPool.') +param ring int = -1 + +@sys.description('Optional. URL to customer ADFS server for signing WVD SSO certificates.') +param ssoadfsAuthority string = '' + +@sys.description('Optional. ClientId for the registered Relying Party used to issue WVD SSO certificates.') +param ssoClientId string = '' + +@sys.description('Optional. Path to Azure KeyVault storing the secret used for communication to ADFS.') +#disable-next-line secure-secrets-in-params +param ssoClientSecretKeyVaultPath string = '' + +@sys.description('Optional. The type of single sign on Secret Type.') +@allowed([ + '' + 'Certificate' + 'CertificateInKeyVault' + 'SharedKey' + 'SharedKeyInKeyVault' +]) +#disable-next-line secure-secrets-in-params +param ssoSecretType string = '' + @sys.description('Optional. The name of logs that will be streamed. "allLogs" includes all possible logs for the resource.') @allowed([ 'allLogs' @@ -148,7 +175,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource hostPool 'Microsoft.DesktopVirtualization/hostpools@2021-07-12' = { +resource hostPool 'Microsoft.DesktopVirtualization/hostPools@2022-09-09' = { name: name location: location tags: tags @@ -169,6 +196,12 @@ resource hostPool 'Microsoft.DesktopVirtualization/hostpools@2021-07-12' = { registrationTokenOperation: 'Update' } vmTemplate: ((!empty(vmTemplate)) ? null : string(vmTemplate)) + agentUpdate: agentUpdate + ring: ring != -1 ? ring : null + ssoadfsAuthority: ssoadfsAuthority + ssoClientId: ssoClientId + ssoClientSecretKeyVaultPath: ssoClientSecretKeyVaultPath + ssoSecretType: !empty(ssoSecretType) ? ssoSecretType : null } } diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/readme.md b/modules/Microsoft.DesktopVirtualization/hostpools/readme.md index 815fc4d41f..1caccf906e 100644 --- a/modules/Microsoft.DesktopVirtualization/hostpools/readme.md +++ b/modules/Microsoft.DesktopVirtualization/hostpools/readme.md @@ -16,7 +16,7 @@ This module deploys an Azure virtual desktop host pool. | :-- | :-- | | `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | | `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | -| `Microsoft.DesktopVirtualization/hostPools` | [2021-07-12](https://docs.microsoft.com/en-us/azure/templates/Microsoft.DesktopVirtualization/2021-07-12/hostPools) | +| `Microsoft.DesktopVirtualization/hostPools` | [2022-09-09](https://docs.microsoft.com/en-us/azure/templates/Microsoft.DesktopVirtualization/2022-09-09/hostPools) | | `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | ## Parameters @@ -31,6 +31,7 @@ This module deploys an Azure virtual desktop host pool. | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | +| `agentUpdate` | object | `{object}` | | The session host configuration for updating agent, monitoring agent, and stack component. | | `customRdpProperty` | string | `'audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode id:i:2;'` | | Host Pool RDP properties. | | `description` | string | `''` | | The description of the Host Pool to be created. | | `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | @@ -48,7 +49,12 @@ This module deploys an Azure virtual desktop host pool. | `maxSessionLimit` | int | `99999` | | Maximum number of sessions. | | `personalDesktopAssignmentType` | string | `''` | `['', Automatic, Direct]` | Set the type of assignment for a Personal Host Pool type. | | `preferredAppGroupType` | string | `'Desktop'` | `[Desktop, None, RailApplications]` | The type of preferred application group type, default to Desktop Application Group. | +| `ring` | int | `-1` | | The ring number of HostPool. | | `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | +| `ssoadfsAuthority` | string | `''` | | URL to customer ADFS server for signing WVD SSO certificates. | +| `ssoClientId` | string | `''` | | ClientId for the registered Relying Party used to issue WVD SSO certificates. | +| `ssoClientSecretKeyVaultPath` | string | `''` | | Path to Azure KeyVault storing the secret used for communication to ADFS. | +| `ssoSecretType` | string | `''` | `['', Certificate, CertificateInKeyVault, SharedKey, SharedKeyInKeyVault]` | The type of single sign on Secret Type. | | `startVMOnConnect` | bool | `False` | | Enable Start VM on connect to allow users to start the virtual machine from a deallocated state. Important: Custom RBAC role required to power manage VMs. | | `tags` | object | `{object}` | | Tags of the resource. | | `tokenValidityLength` | string | `'PT8H'` | | Host Pool token validity length. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the token will be valid for 8 hours. | diff --git a/modules/Microsoft.DesktopVirtualization/workspaces/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.DesktopVirtualization/workspaces/.bicep/nested_roleAssignments.bicep index 165c26cf77..7e2b4e3804 100644 --- a/modules/Microsoft.DesktopVirtualization/workspaces/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.DesktopVirtualization/workspaces/.bicep/nested_roleAssignments.bicep @@ -63,8 +63,8 @@ var builtInRoleNames = { 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') } -resource workspace 'Microsoft.DesktopVirtualization/workspaces@2021-07-12' existing = { - name: last(split(resourceId, '/')) +resource workspace 'Microsoft.DesktopVirtualization/workspaces@2022-09-09' existing = { + name: last(split(resourceId, '/'))! } resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { diff --git a/modules/Microsoft.DesktopVirtualization/workspaces/deploy.bicep b/modules/Microsoft.DesktopVirtualization/workspaces/deploy.bicep index 13aa065c21..6398c51ffd 100644 --- a/modules/Microsoft.DesktopVirtualization/workspaces/deploy.bicep +++ b/modules/Microsoft.DesktopVirtualization/workspaces/deploy.bicep @@ -94,7 +94,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource workspace 'Microsoft.DesktopVirtualization/workspaces@2021-07-12' = { +resource workspace 'Microsoft.DesktopVirtualization/workspaces@2022-09-09' = { name: name location: location tags: tags diff --git a/modules/Microsoft.DesktopVirtualization/workspaces/readme.md b/modules/Microsoft.DesktopVirtualization/workspaces/readme.md index 35190df679..98e96766d1 100644 --- a/modules/Microsoft.DesktopVirtualization/workspaces/readme.md +++ b/modules/Microsoft.DesktopVirtualization/workspaces/readme.md @@ -16,7 +16,7 @@ This module deploys an Azure virtual desktop workspace. | :-- | :-- | | `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | | `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | -| `Microsoft.DesktopVirtualization/workspaces` | [2021-07-12](https://docs.microsoft.com/en-us/azure/templates/Microsoft.DesktopVirtualization/2021-07-12/workspaces) | +| `Microsoft.DesktopVirtualization/workspaces` | [2022-09-09](https://docs.microsoft.com/en-us/azure/templates/Microsoft.DesktopVirtualization/2022-09-09/workspaces) | | `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | ## Parameters From 2ada2819c65bbb224763b42d13331c91df1e08c4 Mon Sep 17 00:00:00 2001 From: AlexanderSehr Date: Sun, 12 Feb 2023 17:53:25 +0100 Subject: [PATCH 8/8] Added min test & updated default --- .../hostpools/.test/common/deploy.test.bicep | 15 ++++ .../hostpools/.test/min/deploy.test.bicep | 42 ++++++++++ .../hostpools/deploy.bicep | 4 +- .../hostpools/readme.md | 77 +++++++++++++++++++ 4 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 modules/Microsoft.DesktopVirtualization/hostpools/.test/min/deploy.test.bicep diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/.test/common/deploy.test.bicep b/modules/Microsoft.DesktopVirtualization/hostpools/.test/common/deploy.test.bicep index 2beccd2ea9..59c0636f75 100644 --- a/modules/Microsoft.DesktopVirtualization/hostpools/.test/common/deploy.test.bicep +++ b/modules/Microsoft.DesktopVirtualization/hostpools/.test/common/deploy.test.bicep @@ -100,5 +100,20 @@ module testDeployment '../../deploy.bicep' = { ram: 8 } } + agentUpdate: { + type: 'Scheduled' + useSessionHostLocalTime: false + maintenanceWindowTimeZone: 'Alaskan Standard Time' + maintenanceWindows: [ + { + hour: 7 + dayOfWeek: 'Friday' + } + { + hour: 8 + dayOfWeek: 'Saturday' + } + ] + } } } diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/.test/min/deploy.test.bicep b/modules/Microsoft.DesktopVirtualization/hostpools/.test/min/deploy.test.bicep new file mode 100644 index 0000000000..4c9a96927a --- /dev/null +++ b/modules/Microsoft.DesktopVirtualization/hostpools/.test/min/deploy.test.bicep @@ -0,0 +1,42 @@ +targetScope = 'subscription' + +// ========== // +// Parameters // +// ========== // + +@description('Optional. The name of the resource group to deploy for testing purposes.') +@maxLength(90) +param resourceGroupName string = 'ms.desktopvirtualization.hostpools-${serviceShort}-rg' + +@description('Optional. The location to deploy resources to.') +param location string = deployment().location + +@description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') +param serviceShort string = 'dvhpmin' + +@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +param enableDefaultTelemetry bool = true + +// ============ // +// Dependencies // +// ============ // + +// General resources +// ================= +resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = { + name: resourceGroupName + location: location +} + +// ============== // +// Test Execution // +// ============== // + +module testDeployment '../../deploy.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name, location)}-test-${serviceShort}' + params: { + enableDefaultTelemetry: enableDefaultTelemetry + name: '<>${serviceShort}001' + } +} diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep b/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep index a3c09319ff..0c05c3ce96 100644 --- a/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep +++ b/modules/Microsoft.DesktopVirtualization/hostpools/deploy.bicep @@ -98,7 +98,9 @@ param startVMOnConnect bool = false param roleAssignments array = [] @sys.description('Optional. The session host configuration for updating agent, monitoring agent, and stack component.') -param agentUpdate object = {} +param agentUpdate object = { + useSessionHostLocalTime: true +} @sys.description('Optional. The ring number of HostPool.') param ring int = -1 diff --git a/modules/Microsoft.DesktopVirtualization/hostpools/readme.md b/modules/Microsoft.DesktopVirtualization/hostpools/readme.md index 1caccf906e..f049902b68 100644 --- a/modules/Microsoft.DesktopVirtualization/hostpools/readme.md +++ b/modules/Microsoft.DesktopVirtualization/hostpools/readme.md @@ -287,6 +287,21 @@ module hostpools './Microsoft.DesktopVirtualization/hostpools/deploy.bicep' = { // Required parameters name: '<>dvhpcom001' // Non-required parameters + agentUpdate: { + maintenanceWindows: [ + { + dayOfWeek: 'Friday' + hour: 7 + } + { + dayOfWeek: 'Saturday' + hour: 8 + } + ] + maintenanceWindowTimeZone: 'Alaskan Standard Time' + type: 'Scheduled' + useSessionHostLocalTime: false + } customRdpProperty: 'audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode id:i:2;' description: 'My first AVD Host Pool' diagnosticEventHubAuthorizationRuleId: '' @@ -349,6 +364,23 @@ module hostpools './Microsoft.DesktopVirtualization/hostpools/deploy.bicep' = { "value": "<>dvhpcom001" }, // Non-required parameters + "agentUpdate": { + "value": { + "maintenanceWindows": [ + { + "dayOfWeek": "Friday", + "hour": 7 + }, + { + "dayOfWeek": "Saturday", + "hour": 8 + } + ], + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "type": "Scheduled", + "useSessionHostLocalTime": false + } + }, "customRdpProperty": { "value": "audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode id:i:2;" }, @@ -430,3 +462,48 @@ module hostpools './Microsoft.DesktopVirtualization/hostpools/deploy.bicep' = {

+ +

Example 2: Min

+ +
+ +via Bicep module + +```bicep +module hostpools './Microsoft.DesktopVirtualization/hostpools/deploy.bicep' = { + name: '${uniqueString(deployment().name, location)}-test-dvhpmin' + params: { + // Required parameters + name: '<>dvhpmin001' + // Non-required parameters + enableDefaultTelemetry: '' + } +} +``` + +
+

+ +

+ +via JSON Parameter file + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + // Required parameters + "name": { + "value": "<>dvhpmin001" + }, + // Non-required parameters + "enableDefaultTelemetry": { + "value": "" + } + } +} +``` + +
+