Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release-v1.0.7 #151

Merged
merged 1 commit into from
Nov 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading