Skip to content

Commit

Permalink
release-v1.0.7
Browse files Browse the repository at this point in the history
  • Loading branch information
yashwanthjammi committed Nov 14, 2024
1 parent bf4e1d2 commit 7d10bd2
Show file tree
Hide file tree
Showing 170 changed files with 5,395 additions and 1,010 deletions.
151 changes: 151 additions & 0 deletions .github/workflows/gotest-cloud-eu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
# This is a Go Test workflow that is manually triggered

name: Go Test - Cloud - EU

# Controls when the action will run. Workflow runs when manually triggered using the UI
# or API.
on:
pull_request:
branches:
- main
paths:
- 'internal/**'
- '**.go'
types: [opened, reopened, synchronize]
workflow_dispatch:
# Inputs the workflow accepts.
inputs:
version:
# Friendly description to be shown in the UI
description: 'Release version that is tested against.'
# Default value if no value is explicitly provided
default: 'Latest'
# Input has to be provided for the workflow to run
required: false
# The data type of the input
type: string

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a job for preparing test env, and a job for running go tests
gotest-prep:
# GitHub environment for the job
environment: Go Test - Cloud - EU
# The type of runner that the job will run on
runs-on: ubuntu-latest

steps:
# Checkout repo
- name: Checkout Repo
uses: actions/checkout@v4

- name: Run Azure PowerShell inline script
uses: azure/powershell@v2
with:
inlineScript: |
./scripts/test-env-power-management/azure_env.ps1 `
-ClientId ${{secrets.CLIENT_ID}} `
-ClientSecret ${{secrets.CLIENT_SECRET}} `
-DomainFqdn ${{secrets.DOMAIN_FQDN}} `
-Hostname ${{secrets.HOSTNAME}} `
-AzureClientId ${{secrets.AZURE_CLIENT_ID}} `
-AzureClientSecret ${{secrets.AZURE_CLIENT_SECRET}} `
-AzureTenantId ${{secrets.AZURE_TENANT_ID}} `
-AzureSubscriptionId ${{secrets.AZURE_SUBSCRIPTION_ID}} `
-AzureResourceGroupName ${{secrets.AZURE_RESOURCE_GROUP_NAME}} `
-AzureAdVmName ${{secrets.AZURE_AD_VM_NAME}} `
-AzureConnectorVm1Name ${{secrets.AZURE_CONNECTOR_VM1_NAME}} `
-AzureConnectorVm2Name ${{secrets.AZURE_CONNECTOR_VM2_NAME}} `
-OnPremises $false
azPSVersion: "latest"

gotest-cloud-eu:
needs: gotest-prep
# GitHub environment for the job
environment: Go Test - Cloud - EU
# The type of runner that the job will run on
runs-on: ubuntu-latest

steps:
# Checkout repo
- name: Checkout Repo
uses: actions/checkout@v4

# Set up Go
- name: Setup Go 1.21.x
uses: actions/setup-go@v5
with:
# Semantic version range syntax or exact version of Go
go-version: '1.21.x'

# Install dependencies
- name: Install dependencies
run: |
go get .
# Set env
- name: Set env
run: |
echo "TF_ACC=1" >> $GITHUB_ENV
echo "GOTEST_CONTEXT=${{vars.GOTEST_CONTEXT}}" >> $GITHUB_ENV
echo "CITRIX_CUSTOMER_ID=${{secrets.CITRIX_CUSTOMER_ID}}" >> $GITHUB_ENV
echo "CITRIX_CLIENT_ID=${{secrets.CITRIX_CLIENT_ID}}" >> $GITHUB_ENV
echo "CITRIX_CLIENT_SECRET=${{secrets.CITRIX_CLIENT_SECRET}}" >> $GITHUB_ENV
echo "CITRIX_HOSTNAME=${{secrets.CITRIX_HOSTNAME}}" >> $GITHUB_ENV
echo "CITRIX_ENVIRONMENT=${{secrets.CITRIX_ENVIRONMENT}}" >> $GITHUB_ENV
echo "TEST_ZONE_INPUT_AZURE=${{secrets.TEST_ZONE_INPUT_AZURE}}" >> $GITHUB_ENV
echo "TEST_ZONE_DESCRIPTION=${{vars.TEST_ZONE_DESCRIPTION}}" >> $GITHUB_ENV
echo "TEST_RESOURCE_LOCATION_NAME=${{vars.TEST_RESOURCE_LOCATION_NAME}}" >> $GITHUB_ENV
echo "TEST_HYPERV_NAME_AZURE=${{vars.TEST_HYPERV_NAME_AZURE}}" >> $GITHUB_ENV
echo "TEST_HYPERV_AD_ID=${{secrets.TEST_HYPERV_AD_ID}}" >> $GITHUB_ENV
echo "TEST_HYPERV_SUBSCRIPTION_ID=${{secrets.TEST_HYPERV_SUBSCRIPTION_ID}}" >> $GITHUB_ENV
echo "TEST_HYPERV_APPLICATION_ID=${{secrets.TEST_HYPERV_APPLICATION_ID}}" >> $GITHUB_ENV
echo "TEST_HYPERV_APPLICATION_SECRET=${{secrets.TEST_HYPERV_APPLICATION_SECRET}}" >> $GITHUB_ENV
echo "TEST_HYPERV_RP_NAME=${{vars.TEST_HYPERV_RP_NAME}}" >> $GITHUB_ENV
echo "TEST_HYPERV_RP_REGION=${{secrets.TEST_HYPERV_RP_REGION}}" >> $GITHUB_ENV
echo "TEST_HYPERV_RP_VIRTUAL_NETWORK_RESOURCE_GROUP=${{secrets.TEST_HYPERV_RP_VIRTUAL_NETWORK_RESOURCE_GROUP}}" >> $GITHUB_ENV
echo "TEST_HYPERV_RP_VIRTUAL_NETWORK=${{secrets.TEST_HYPERV_RP_VIRTUAL_NETWORK}}" >> $GITHUB_ENV
echo "Test_HYPERV_RP_SUBNETS=${{secrets.Test_HYPERV_RP_SUBNETS}}" >> $GITHUB_ENV
echo "TEST_MC_NAME=${{vars.TEST_MC_NAME}}" >> $GITHUB_ENV
echo "TEST_MC_SERVICE_ACCOUNT=${{secrets.TEST_MC_SERVICE_ACCOUNT}}" >> $GITHUB_ENV
echo "TEST_MC_SERVICE_ACCOUNT_PASS=${{secrets.TEST_MC_SERVICE_ACCOUNT_PASS}}" >> $GITHUB_ENV
echo "TEST_MC_SERVICE_OFFERING=${{secrets.TEST_MC_SERVICE_OFFERING}}" >> $GITHUB_ENV
echo "TEST_MC_MASTER_IMAGE=${{secrets.TEST_MC_MASTER_IMAGE}}" >> $GITHUB_ENV
echo "TEST_MC_MASTER_IMAGE_UPDATED=${{secrets.TEST_MC_MASTER_IMAGE_UPDATED}}" >> $GITHUB_ENV
echo "TEST_MC_IMAGE_RESOURCE_GROUP=${{secrets.TEST_MC_IMAGE_RESOURCE_GROUP}}" >> $GITHUB_ENV
echo "TEST_MC_IMAGE_STORAGE_ACCOUNT=${{secrets.TEST_MC_IMAGE_STORAGE_ACCOUNT}}" >> $GITHUB_ENV
echo "TEST_MC_IMAGE_CONTAINER=${{secrets.TEST_MC_IMAGE_CONTAINER}}" >> $GITHUB_ENV
echo "TEST_MC_SUBNET=${{secrets.TEST_MC_SUBNET}}" >> $GITHUB_ENV
echo "TEST_MC_DOMAIN=${{secrets.TEST_MC_DOMAIN}}" >> $GITHUB_ENV
echo "TEST_MC_NAME_MANUAL=${{vars.TEST_MC_NAME_MANUAL}}" >> $GITHUB_ENV
echo "TEST_MC_ALLOCATION_TYPE_MANUAL_POWER_MANAGED=${{vars.TEST_MC_ALLOCATION_TYPE_MANUAL_POWER_MANAGED}}" >> $GITHUB_ENV
echo "TEST_MC_SESSION_SUPPORT_MANUAL_POWER_MANAGED=${{vars.TEST_MC_SESSION_SUPPORT_MANUAL_POWER_MANAGED}}" >> $GITHUB_ENV
echo "TEST_MC_REGION_MANUAL_POWER_MANAGED=${{secrets.TEST_MC_REGION_MANUAL_POWER_MANAGED}}" >> $GITHUB_ENV
echo "TEST_MC_RESOURCE_GROUP_MANUAL_POWER_MANAGED=${{secrets.TEST_MC_RESOURCE_GROUP_MANUAL_POWER_MANAGED}}" >> $GITHUB_ENV
echo "TEST_MC_MACHINE_NAME_MANUAL_AZURE=${{secrets.TEST_MC_MACHINE_NAME_MANUAL_AZURE}}" >> $GITHUB_ENV
echo "TEST_MC_MACHINE_ACCOUNT_MANUAL_AZURE=${{secrets.TEST_MC_MACHINE_ACCOUNT_MANUAL_AZURE}}" >> $GITHUB_ENV
echo "TEST_MC_MACHINE_PROFILE_VM_NAME=${{secrets.TEST_MC_MACHINE_PROFILE_VM_NAME}}" >> $GITHUB_ENV
echo "TEST_MC_MACHINE_PROFILE_RESOURCE_GROUP=${{secrets.TEST_MC_MACHINE_PROFILE_RESOURCE_GROUP}}" >> $GITHUB_ENV
echo "TEST_DESKTOP_ICON_RAW_DATA=${{secrets.TEST_DESKTOP_ICON_RAW_DATA}}" >> $GITHUB_ENV
echo "TEST_DG_NAME=${{vars.TEST_DG_NAME}}" >> $GITHUB_ENV
echo "TEST_POLICY_SET_WITHOUT_DG_NAME=${{vars.TEST_POLICY_SET_WITHOUT_DG_NAME}}" >> $GITHUB_ENV
echo "TEST_POLICY_SET_NAME=${{vars.TEST_POLICY_SET_NAME}}" >> $GITHUB_ENV
echo "TEST_APP_NAME=${{vars.TEST_APP_NAME}}" >> $GITHUB_ENV
echo "TEST_ADMIN_FOLDER_NAME=${{vars.TEST_ADMIN_FOLDER_NAME}}" >> $GITHUB_ENV
echo "TEST_ROLE_NAME=${{vars.TEST_ROLE_NAME}}" >> $GITHUB_ENV
echo "TEST_ADMIN_SCOPE_NAME=${{vars.TEST_ADMIN_SCOPE_NAME}}" >> $GITHUB_ENV
echo "TEST_ADMIN_USER_NAME=${{secrets.TEST_ADMIN_USER_NAME}}" >> $GITHUB_ENV
echo "TEST_ADMIN_USER_DOMAIN=${{secrets.TEST_ADMIN_USER_DOMAIN}}" >> $GITHUB_ENV
# Test PreCheck
- name: Test Precheck
run: go test -v ./internal/test -run "^TestAzureMcsSuitePreCheck$"

# Test
- name: Test
run: go test -v ./internal/test -run "^TestAzureMcs$" -timeout 1h

# Sweep
- name: Sweep
if: always()
run: go test -v ./internal/test -run "^TestAzureMcs$" -timeout 1h -sweep-run "citrix_zone,citrix_zone,citrix_admin_folder,citrix_admin_role,citrix_admin_scope" -sweep="azure"
1 change: 1 addition & 0 deletions .github/workflows/gotest-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ jobs:
echo "TEST_MC_MACHINE_ACCOUNT_MANUAL_AZURE=${{secrets.TEST_MC_MACHINE_ACCOUNT_MANUAL_AZURE}}" >> $GITHUB_ENV
echo "TEST_MC_MACHINE_PROFILE_VM_NAME=${{secrets.TEST_MC_MACHINE_PROFILE_VM_NAME}}" >> $GITHUB_ENV
echo "TEST_MC_MACHINE_PROFILE_RESOURCE_GROUP=${{secrets.TEST_MC_MACHINE_PROFILE_RESOURCE_GROUP}}" >> $GITHUB_ENV
echo "TEST_DESKTOP_ICON_RAW_DATA=${{secrets.TEST_DESKTOP_ICON_RAW_DATA}}" >> $GITHUB_ENV
echo "TEST_DG_NAME=${{vars.TEST_DG_NAME}}" >> $GITHUB_ENV
echo "TEST_POLICY_SET_WITHOUT_DG_NAME=${{vars.TEST_POLICY_SET_WITHOUT_DG_NAME}}" >> $GITHUB_ENV
echo "TEST_POLICY_SET_NAME=${{vars.TEST_POLICY_SET_NAME}}" >> $GITHUB_ENV
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/gotest-onprem.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ jobs:
echo "TEST_MC_RESOURCE_GROUP_MANUAL_POWER_MANAGED=${{secrets.TEST_MC_RESOURCE_GROUP_MANUAL_POWER_MANAGED}}" >> $GITHUB_ENV
echo "TEST_MC_MACHINE_NAME_MANUAL_AZURE=${{secrets.TEST_MC_MACHINE_NAME_MANUAL_AZURE}}" >> $GITHUB_ENV
echo "TEST_MC_MACHINE_ACCOUNT_MANUAL_AZURE=${{secrets.TEST_MC_MACHINE_ACCOUNT_MANUAL_AZURE}}" >> $GITHUB_ENV
echo "TEST_DESKTOP_ICON_RAW_DATA=${{secrets.TEST_DESKTOP_ICON_RAW_DATA}}" >> $GITHUB_ENV
echo "TEST_DG_NAME=${{vars.TEST_DG_NAME}}" >> $GITHUB_ENV
echo "TEST_POLICY_SET_WITHOUT_DG_NAME=${{vars.TEST_POLICY_SET_WITHOUT_DG_NAME}}" >> $GITHUB_ENV
echo "TEST_POLICY_SET_NAME=${{vars.TEST_POLICY_SET_NAME}}" >> $GITHUB_ENV
Expand Down
19 changes: 11 additions & 8 deletions DEVELOPER.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,18 +104,21 @@ In order to reduce errors this project has introduced a system to convert betwee

| From | To | Function | Notes |
|------|----|----------|-------|
| `types.Object` | `T` | `ObjectValueToTypedObject` | `T` must implement `ModelWithAttributes` |
| `T` | `types.Object` | `TypedObjectToObjectValue` | `T` must implement `ModelWithAttributes` |
| `types.List` | `T[]` | `ObjectListToTypedArray[T]` | `T` must implement `ModelWithAttributes`. For a list of nested objects |
| `T[]` | `types.List` | `TypedArrayToObjectList[T]` | `T` must implement `ModelWithAttributes`. For a list of nested objects |
| `types.Set` | `T[]` | `ObjectSetToTypedArray[T]` | `T` must implement `ModelWithAttributes`. For a set of nested objects |
| `T[]` | `types.Set` | `TypedArrayToObjectSet[T]` | `T` must implement `ModelWithAttributes`. For a set of nested objects |
| `types.Object` | `T` | `ObjectValueToTypedObject` | `T` must implement `ResourceModelWithAttributes` or `DataSourceModelWithAttributes` |
| `T` | `types.Object` | `TypedObjectToObjectValue` | `T` must implement `ResourceModelWithAttributes` |
| `T` | `types.Object` | `DataSourceTypedObjectToObjectValue` | `T` must implement `DataSourceModelWithAttributes` |
| `types.List` | `T[]` | `ObjectListToTypedArray[T]` | `T` must implement `ResourceModelWithAttributes` or `DataSourceModelWithAttributes`. For a list of nested objects |
| `T[]` | `types.List` | `TypedArrayToObjectList[T]` | `T` must implement `ResourceModelWithAttributes`. For a list of nested resource objects |
| `T[]` | `types.List` | `DataSourceTypedArrayToObjectSet[T]` | `T` must implement `DataSourceModelWithAttributes`. For a list of nested data source objects |
| `types.Set` | `T[]` | `ObjectSetToTypedArray[T]` | `T` must implement `ResourceModelWithAttributes`. For a set of nested objects |
| `T[]` | `types.Set` | `TypedArrayToObjectSet[T]` | `T` must implement `ResourceModelWithAttributes`. For a set of nested resource objects |
| `T[]` | `types.Set` | `DataSourceTypedArrayToObjectSet[T]` | `T` must implement `DataSourceModelWithAttributes`. For a set of nested data source objects |
| `types.List` | `string[]` | `StringListToStringArray` | For a list of strings |
| `string[]` | `types.List` | `StringArrayToStringList` | For a list of strings |
| `types.Set` | `string[]` | `StringSetToStringArray` | For a set of strings |
| `string[]` | `types.Set` | `StringArrayToStringSet` | For a set of strings |

In order to use the first 6 of these methods, the struct `T` needs to implement the [ModelWithAttributes](internal/util/types.go) interface which is ultimately populated from the attribute's Schema. This gives the Terraform type system the necessary information to populate a `types.Object` or `types.List` with a nested object.
In order to use the first 9 of these methods, the struct `T` needs to implement the [ResourceModelWithAttributes](internal/util/types.go) or [DataSourceModelWithAttributes](internal/util/types.go) interface which is ultimately populated from the attribute's Schema. This gives the Terraform type system the necessary information to populate a `types.Object` or `types.List` with a nested object.

### Initalizing Terraform types
When dealing with a struct that contains nested `types.List/Set/Object`, it is important to never work with an empty struct, but instead start with one that has all of the nested objects initialized to Terraform's `ListNull/SetNull/ObjectNull`. There are helpers to assist with this:
Expand All @@ -126,7 +129,7 @@ tfObject := ComplexTerraformObject{}
tfObject ComplexTerraformObject
// Instead:
if attributesMap, err := util.AttributeMapFromObject(ComplexTerraformObject{}); err == nil {
if attributesMap, err := util.ResourceAttributeMapFromObject(ComplexTerraformObject{}); err == nil {
tfObject := types.ObjectNull(attributesMap)
} else {
diagnostics.AddWarning("Error when creating null ComplexTerraformObject", err.Error())
Expand Down
47 changes: 47 additions & 0 deletions docs/data-sources/admin_role.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_admin_role Data Source - citrix"
subcategory: "CVAD"
description: |-
Data source of an administrator role.
---

# citrix_admin_role (Data Source)

Data source of an administrator role.

## Example Usage

```terraform
# Get Admin Scope resource by name
data "citrix_admin_role" "example_admin_role" {
name = "ExampleAdminRole"
}
# Get Admin Scope resource by id
data "citrix_admin_role" "example_admin_role" {
id = "00000000-0000-0000-0000-000000000000"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `id` (String) ID of the admin role.
- `name` (String) Name of the admin role.

### Read-Only

- `can_launch_manage` (Boolean) Flag to determine if the user will have access to the Manage tab on the console. Defaults to `true`.

~> **Please Note** This field is only applicable for cloud admins. For on-premise admins, the only acceptable value is `true`.
- `can_launch_monitor` (Boolean) Flag to determine if the user will have access to the Monitor tab on the console. Defaults to `true`.

~> **Please Note** This field is only applicable for cloud admins. For on-premise admins, the only acceptable value is `true`.
- `description` (String) Description of the admin role.
- `is_built_in` (Boolean) Flag to determine if the role was built-in or user defined
- `permissions` (Set of String) Permissions to be associated with the admin role.

-> **Note** To get a list of supported permissions, please refer to [Admin Predefined Permissions for Cloud](https://developer-docs.citrix.com/en-us/citrix-daas-service-apis/citrix-daas-rest-apis/apis/#/Admin-APIs/Admin-GetPredefinedPermissions) and [Admin Predefined Permissions for On-Premise](https://developer-docs.citrix.com/en-us/citrix-virtual-apps-desktops/citrix-cvad-rest-apis/apis/#/Admin-APIs/Admin-GetPredefinedPermissions).
42 changes: 42 additions & 0 deletions docs/data-sources/admin_user.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_admin_user Data Source - citrix"
subcategory: "CVAD"
description: |-
Data source of an administrator user for on-premise environment.
---

# citrix_admin_user (Data Source)

Data source of an administrator user for on-premise environment.

## Example Usage

```terraform
# Get Admin Scope resource by id
data "citrix_admin_user" "example_admin_user" {
id = "00000000-0000-0000-0000-000000000000"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `id` (String) ID of the admin user.

### Read-Only

- `domain_name` (String) Name of the domain that the user is a part of. For example, if the domain is `example.com`, then provide the value `example` for this field.
- `is_enabled` (Boolean) Flag to determine if the administrator is to be enabled or not.
- `name` (String) Name of an existing user in the active directory.
- `rights` (Attributes List) Rights to be associated with the admin user. (see [below for nested schema](#nestedatt--rights))

<a id="nestedatt--rights"></a>
### Nested Schema for `rights`

Read-Only:

- `role` (String) Name of the role to be associated with the admin user.
- `scope` (String) Name of the scope to be associated with the admin user.
3 changes: 3 additions & 0 deletions docs/data-sources/cloud_okta_identity_provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,7 @@ data "citrix_cloud_okta_identity_provider" "example_okta_identity_provider" {

### Read-Only

- `okta_api_token` (String) Okta API token for configuring Okta Identity Provider.
- `okta_client_id` (String) ID of the Okta client for configuring Okta Identity Provider.
- `okta_client_secret` (String) Secret of the Okta client for configuring Okta Identity Provider.
- `okta_domain` (String) Okta domain name for configuring Okta Identity Provider.
4 changes: 3 additions & 1 deletion docs/data-sources/cloud_resource_location.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,6 @@ data "citrix_cloud_resource_location" "example-resource-location" {

### Read-Only

- `id` (String) ID of the resource location.
- `id` (String) ID of the resource location.
- `internal_only` (Boolean) Flag to determine if the resource location can only be used internally. Defaults to `false`.
- `time_zone` (String) Timezone associated with the resource location. Please refer to the `Timezone` column in the following [table](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11#time-zones) for allowed values.
1 change: 1 addition & 0 deletions docs/data-sources/cloud_saml_identity_provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ data "citrix_cloud_saml_identity_provider" "example_saml_identity_provider" {
- `authentication_context_comparison` (String) The authentication context comparison type.
- `cert_common_name` (String) The common name of the SAML certificate.
- `cert_expiration` (String) The expiration date time of the SAML certificate.
- `cert_file_path` (String) The file path of the certificate.
- `entity_id` (String) The entity ID of the SAML 2.0 Identity Provider.
- `logout_binding` (String) The binding of the logout service.
- `logout_url` (String) The URL of the logout service.
Expand Down
15 changes: 10 additions & 5 deletions docs/data-sources/delivery_group.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,29 @@ Read data of an existing delivery group.
## Example Usage

```terraform
# Get Citrix Delivery Group data source by name
data "citrix_delivery_group" "example_delivery_group" {
name = "exampleDeliveryGroupName"
}
# Get Citrix Delivery Group data source by ID
data "citrix_delivery_group" "example_delivery_group" {
id = "00000000-0000-0000-0000-000000000000"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `name` (String) Name of the delivery group.

### Optional

- `delivery_group_folder_path` (String) The path to the folder in which the delivery group is located.
- `id` (String) GUID identifier of the delivery group.
- `name` (String) Name of the delivery group.

### Read-Only

- `id` (String) GUID identifier of the delivery group.
- `delivery_type` (String) The delivery type of the delivery group.
- `tags` (Set of String) A set of identifiers of tags to associate with the delivery group.
- `tenants` (Set of String) A set of identifiers of tenants to associate with the delivery group.
- `vdas` (Attributes List) The VDAs associated with the delivery group. (see [below for nested schema](#nestedatt--vdas))
Expand All @@ -44,4 +48,5 @@ Read-Only:
- `associated_delivery_group` (String) Delivery group which the VDA is associated with.
- `associated_machine_catalog` (String) Machine catalog which the VDA is associated with.
- `hosted_machine_id` (String) Machine ID within the hypervisor hosting unit.
- `id` (String) Id of the VDA.
- `machine_name` (String) Machine name of the VDA.
Loading

0 comments on commit 7d10bd2

Please sign in to comment.