Skip to content
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
4 changes: 2 additions & 2 deletions .github/workflows/gotest-cloud-eu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

# Set up Go
- name: Setup Go 1.26.1
- name: Setup Go 1.26.4
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
# Semantic version range syntax or exact version of Go
go-version: '1.26.1'
go-version: '1.26.4'

# Install dependencies
- name: Install dependencies
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gotest-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

# Set up Go
- name: Setup Go 1.26.1
- name: Setup Go 1.26.4
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
# Semantic version range syntax or exact version of Go
go-version: '1.26.1'
go-version: '1.26.4'

# Install dependencies
- name: Install dependencies
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gotest-onprem.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,11 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

# Set up Go
- name: Setup Go 1.26.1
- name: Setup Go 1.26.4
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
# Semantic version range syntax or exact version of Go
go-version: '1.26.1'
go-version: '1.26.4'

# Install dependencies
- name: Install dependencies
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ Citrix has developed a custom Terraform provider for automating Citrix product d
- [Create a Machine Catalog](#create-a-machine-catalog)
- [Create a Delivery Group](#create-a-delivery-group)
- [Roadmap Proposal for a Smoother Onboarding Experience](#roadmap-proposal-for-a-smoother-onboarding-experience)
- [Import Your Existing Resources Using the Onboarding Script](#import-your-existing-resources-using-the-onboarding-script)
- [Manual Configuration](#manual-configuration)
- [Using the Plugin for Terraform Provider for other Citrix resources](#using-the-plugin-for-terraform-provider-for-other-citrix-resources)
- [Configure Global App Configuration (GAC) Settings](#configure-global-app-configuration-gac-settings)
- [Create Citrix Cloud Resource Locations](#create-citrix-cloud-resource-locations)
Expand Down Expand Up @@ -73,6 +75,7 @@ https://www.youtube.com/watch?v=c33sMLaCVjY
| Title | Details |
|-----------------------------|-------------------------------|
| [Packer Image Management Module for Citrix® Virtual Apps and Desktops](https://github.com/citrix/citrix-packer-tools) | Use Packer to create golden images with the Citrix VDA installed and using Citrix best practices. |
| [Packer Plugin for Citrix](https://github.com/citrix/packer-plugin-citrix) | Packer Plugin to manage Citrix App Layering creation and revision workflows. |
| [Citrix Ansible Tools](https://github.com/citrix/citrix-ansible-tools) | Playbooks to install Citrix components using automation such as the VDA. |
| [Site Deployment Module for Citrix® Virtual Apps and Desktops](https://github.com/citrix/citrix-cvad-site-deployment-module) | Uses PowerShell to drive Terraform files to create a fully functional CVAD site. |

Expand Down Expand Up @@ -249,7 +252,8 @@ QuickCreate service allows customers to create and manage Amazon WorkSpaces Core
| GCP |[:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/gcp_hypervisor) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/gcp_hypervisor_resource_pool) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#is_power_managed-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#gcp_machine_config-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#remote_pc_power_management_hypervisor-1) | N/A | N/A |
| vSphere |[:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/vsphere_hypervisor) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/vsphere_hypervisor_resource_pool) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#is_power_managed-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#vsphere_machine_config-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#remote_pc_power_management_hypervisor-1) | N/A | N/A |
| XenServer |[:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/xenserver_hypervisor) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/xenserver_hypervisor_resource_pool) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#is_power_managed-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#xenserver_machine_config-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#remote_pc_power_management_hypervisor-1) | N/A | N/A |
| Nutanix |[:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/nutanix_hypervisor) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/nutanix_hypervisor_resource_pool) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#is_power_managed-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#nutanix_machine_config-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#remote_pc_power_management_hypervisor-1) | N/A | N/A |
| Nutanix AHV Prism Element |[:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/nutanix_hypervisor) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/nutanix_hypervisor_resource_pool) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#is_power_managed-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#nutanix_machine_config-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#remote_pc_power_management_hypervisor-1) | N/A | N/A |
| Nutanix AHV Prism Central | :x: | :x: | :x: | :x: | :x: | N/A | N/A |
| SCVMM |[:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/scvmm_hypervisor) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/scvmm_hypervisor_resource_pool) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#is_power_managed-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#scvmm_machine_config-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#remote_pc_power_management_hypervisor-1) | N/A | N/A |
| Red Hat OpenShift |[:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/openshift_hypervisor) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/openshift_hypervisor_resource_pool) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#is_power_managed-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#openshift_machine_config-1) | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#remote_pc_power_management_hypervisor-1) | N/A | N/A |
| HPE Moonshot |[:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/hpe_moonshot_hypervisor) | N/A | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#is_power_managed-1) | N/A | [:heavy_check_mark:](https://registry.terraform.io/providers/citrix/citrix/latest/docs/resources/machine_catalog#remote_pc_power_management_hypervisor-1) | N/A | N/A |
Expand Down
2 changes: 1 addition & 1 deletion docs/data-sources/client_ip_policy_filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ data "citrix_client_ip_policy_filter" "example_filter" {

- `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
- `enabled` (Boolean) Indicate whether the filter is being enabled.
- `ip_address` (String) IP Address of the client to be filtered.
- `ip_address` (String) IP Address of the client to be filtered. Accepts a single IPv4 or IPv6 address (e.g. 12.0.0.1, 2001:db8::1), an inclusive range with both endpoints of the same IP version in ascending order (e.g. 12.0.0.1-12.0.0.70, 2001:db8::1-2001:db8::2), a CIDR block (IPv4 /0-/32, IPv6 /0-/128; e.g. 12.0.0.0/24, 2001:db8::/64), or an IPv4 address with trailing-octet wildcards (e.g. 12.0.*.*).
- `policy_id` (String) Id of the policy to which the filter belongs.
2 changes: 1 addition & 1 deletion docs/data-sources/policy_filters.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ Read-Only:

- `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
- `enabled` (Boolean) Indicate whether the filter is being enabled.
- `ip_address` (String) IP Address of the client to be filtered.
- `ip_address` (String) IP Address of the client to be filtered. Accepts a single IPv4 or IPv6 address (e.g. 12.0.0.1, 2001:db8::1), an inclusive range with both endpoints of the same IP version in ascending order (e.g. 12.0.0.1-12.0.0.70, 2001:db8::1-2001:db8::2), a CIDR block (IPv4 /0-/32, IPv6 /0-/128; e.g. 12.0.0.0/24, 2001:db8::/64), or an IPv4 address with trailing-octet wildcards (e.g. 12.0.*.*).
- `policy_id` (String) Id of the policy to which the filter belongs.


Expand Down
2 changes: 1 addition & 1 deletion docs/data-sources/policy_set.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Read-Only:

- `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
- `enabled` (Boolean) Indicate whether the filter is being enabled.
- `ip_address` (String) IP Address of the client to be filtered.
- `ip_address` (String) IP Address of the client to be filtered. Accepts a single IPv4 or IPv6 address (e.g. 12.0.0.1, 2001:db8::1), an inclusive range with both endpoints of the same IP version in ascending order (e.g. 12.0.0.1-12.0.0.70, 2001:db8::1-2001:db8::2), a CIDR block (IPv4 /0-/32, IPv6 /0-/128; e.g. 12.0.0.0/24, 2001:db8::/64), or an IPv4 address with trailing-octet wildcards (e.g. 12.0.*.*).


<a id="nestedatt--policies--client_name_filters"></a>
Expand Down
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ A service principal is an API client which is not associated with an email. It c
| Title | Details |
|-----------------------------|-------------------------------|
| [Packer Image Management Module for Citrix® Virtual Apps and Desktops](https://github.com/citrix/citrix-packer-tools) | Use Packer to create golden images with the Citrix VDA installed and using Citrix best practices. |
| [Packer Plugin for Citrix](https://github.com/citrix/packer-plugin-citrix) | Packer Plugin to manage Citrix App Layering creation and revision workflows. |
| [Citrix Ansible Tools](https://github.com/citrix/citrix-ansible-tools) | Playbooks to install Citrix components using automation such as the VDA. |
| [Site Deployment Module for Citrix® Virtual Apps and Desktops](https://github.com/citrix/citrix-cvad-site-deployment-module) | Uses PowerShell to drive Terraform files to create a fully functional CVAD site. |

Expand Down
2 changes: 1 addition & 1 deletion docs/resources/client_ip_policy_filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ resource "citrix_client_ip_policy_filter" "example_client_ip_policy_filter" {

- `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
- `enabled` (Boolean) Indicate whether the filter is being enabled.
- `ip_address` (String) IP Address of the client to be filtered.
- `ip_address` (String) IP Address of the client to be filtered. Accepts a single IPv4 or IPv6 address (e.g. 12.0.0.1, 2001:db8::1), an inclusive range with both endpoints of the same IP version in ascending order (e.g. 12.0.0.1-12.0.0.70, 2001:db8::1-2001:db8::2), a CIDR block (IPv4 /0-/32, IPv6 /0-/128; e.g. 12.0.0.0/24, 2001:db8::/64), or an IPv4 address with trailing-octet wildcards (e.g. 12.0.*.*).
- `policy_id` (String) Id of the policy to which the filter belongs.

### Read-Only
Expand Down
4 changes: 2 additions & 2 deletions docs/resources/delivery_group.md
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ Required:

Required:

- `allowed_connection` (String) The behavior of the include filter. Choose between `Filtered`, `ViaAG`, and `NotViaAG`.
- `allowed_connection` (String) The behavior of the include filter. Choose between `Filtered`, `AnyViaAG`, `ViaAG`, and `NotViaAG`.
- `enable_criteria_for_exclude_connections` (Boolean) Whether to enable criteria for exclude connections.
- `enable_criteria_for_include_connections` (Boolean) Whether to enable criteria for include connections.
- `name` (String) The name of the access policy.
Expand Down Expand Up @@ -459,7 +459,7 @@ Required:

Required:

- `allowed_connection` (String) The behavior of the include filter. Choose between `Filtered`, `ViaAG`, and `NotViaAG`.
- `allowed_connection` (String) The behavior of the include filter. Choose between `Filtered`, `AnyViaAG`, `ViaAG`, and `NotViaAG`.
- `enable_criteria_for_exclude_connections` (Boolean) Whether to enable criteria for exclude connections.
- `enable_criteria_for_include_connections` (Boolean) Whether to enable criteria for include connections.
- `name` (String) The name of the access policy.
Expand Down
24 changes: 24 additions & 0 deletions docs/resources/machine_catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,13 @@ resource "citrix_machine_catalog" "example-aws-mtsession" {
use_spot_pricing_if_available = false
}
]
writeback_cache = {
wbc_disk_storage_type = "gp3"
persist_wbc = true
persist_os_disk = true
writeback_cache_disk_size_gb = 32
writeback_cache_memory_size_mb = 256
}
}
number_of_total_machines = 1
machine_account_creation_rules ={
Expand Down Expand Up @@ -958,6 +965,7 @@ Optional:

~> **Please Note** The `secondary_vm_sizes` cannot contain the value of `service_offering` (see [below for nested schema](#nestedatt--provisioning_scheme--aws_machine_config--secondary_vm_sizes))
- `security_groups` (List of String) Security groups to associate with the machine. If omitted, the VPC's default security group is used.<br />Do not specify this value if a machine_profile is provided, as the security groups will be derived from the machine profile instead.
- `writeback_cache` (Attributes) Write-back Cache config. Leave this empty to disable Write-back Cache. Write-back Cache requires Machine image with Write-back Cache plugin installed. (see [below for nested schema](#nestedatt--provisioning_scheme--aws_machine_config--writeback_cache))

<a id="nestedatt--provisioning_scheme--aws_machine_config--image_update_reboot_options"></a>
### Nested Schema for `provisioning_scheme.aws_machine_config.image_update_reboot_options`
Expand Down Expand Up @@ -1007,6 +1015,21 @@ Optional:
- `use_spot_pricing_if_available` (Boolean) The cloud provider supports two types of VMs: regular and spot. Regular VMs are standard VMs with pay-as-you-go prices. Spot is offered at a discounted rate, utilizing unused cloud provider capacity. Set this to `true` to use spot pricing if it's available for the specified VM SKU.


<a id="nestedatt--provisioning_scheme--aws_machine_config--writeback_cache"></a>
### Nested Schema for `provisioning_scheme.aws_machine_config.writeback_cache`

Required:

- `wbc_disk_storage_type` (String) Type of the storage for the Write-back Cache disk. Choose between `gp2`, `gp3`, `io1`, and `io2`. For `gp3`, optional IOPS and throughput may be appended as `gp3:<iops>` or `gp3:<iops>:<throughput>` (e.g. `gp3:3000:125`). `io1`/`io2` may specify IOPS as `io1:<iops>`.
- `writeback_cache_disk_size_gb` (Number) The size in GB of any temporary storage disk used by the write back cache.

Optional:

- `persist_os_disk` (Boolean) Persist the OS disk when power cycling the non-persistent provisioned virtual machine.
- `persist_wbc` (Boolean) Persist Write-back Cache.
- `writeback_cache_memory_size_mb` (Number) The size of the in-memory write back cache in MB.



<a id="nestedatt--provisioning_scheme--azure_machine_config"></a>
### Nested Schema for `provisioning_scheme.azure_machine_config`
Expand Down Expand Up @@ -1177,6 +1200,7 @@ Required:

Optional:

- `crypto_key_id` (String) The Cloud KMS customer-managed encryption key (CMEK) used to encrypt the provisioned virtual machine disks. When omitted, the default Google-managed encryption is used.
- `image_update_reboot_options` (Attributes) The options for how rebooting is performed for image update. When omitted, image update on the VDAs will be performed on next shutdown. (see [below for nested schema](#nestedatt--provisioning_scheme--gcp_machine_config--image_update_reboot_options))
- `machine_profile` (String) The name of the virtual machine template that will be used to identify the default value for the tags, virtual machine size, boot diagnostics, host cache property of OS disk, accelerated networking and availability zone. If not specified, the VM specified in master_image will be used as template.
- `machine_snapshot` (String) The name of the virtual machine snapshot of a GCP VM that will be used as master image.
Expand Down
4 changes: 2 additions & 2 deletions docs/resources/nutanix_hypervisor.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
page_title: "citrix_nutanix_hypervisor Resource - citrix"
subcategory: "CVAD"
description: |-
Manages a Nutanix AHV hypervisor.
Manages a Nutanix AHV Prism Element hypervisor.
---

# citrix_nutanix_hypervisor (Resource)

Manages a Nutanix AHV hypervisor.
Manages a Nutanix AHV Prism Element hypervisor.

## Example Usage

Expand Down
4 changes: 2 additions & 2 deletions docs/resources/nutanix_hypervisor_resource_pool.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
page_title: "citrix_nutanix_hypervisor_resource_pool Resource - citrix"
subcategory: "CVAD"
description: |-
Manages a Nutanix AHV hypervisor resource pool.
Manages a Nutanix AHV Prism Element hypervisor resource pool.
---

# citrix_nutanix_hypervisor_resource_pool (Resource)

Manages a Nutanix AHV hypervisor resource pool.
Manages a Nutanix AHV Prism Element hypervisor resource pool.

## Example Usage

Expand Down
2 changes: 1 addition & 1 deletion docs/resources/policy_set.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ Required:

- `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
- `enabled` (Boolean) Indicate whether the filter is being enabled.
- `ip_address` (String) IP Address of the client to be filtered.
- `ip_address` (String) IP Address of the client to be filtered. Accepts a single IPv4 or IPv6 address (e.g. 12.0.0.1, 2001:db8::1), an inclusive range with both endpoints of the same IP version in ascending order (e.g. 12.0.0.1-12.0.0.70, 2001:db8::1-2001:db8::2), a CIDR block (IPv4 /0-/32, IPv6 /0-/128; e.g. 12.0.0.0/24, 2001:db8::/64), or an IPv4 address with trailing-octet wildcards (e.g. 12.0.*.*).


<a id="nestedatt--policies--client_name_filters"></a>
Expand Down
4 changes: 2 additions & 2 deletions docs/resources/wem_directory_object.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ page_title: "citrix_wem_directory_object Resource - citrix"
subcategory: "WEM"
description: |-
Manages machine-level AD objects within a WEM deployment.
~> Disclaimer This feature is supported for Citrix Cloud customers, and will be made available for On-Premises soon.
~> Disclaimer This feature is supported for Citrix Cloud customers.
~> Warning Having more than one Directory Object with the same Catalog ID is not allowed.
---

# citrix_wem_directory_object (Resource)

Manages machine-level AD objects within a WEM deployment.

~> **Disclaimer** This feature is supported for Citrix Cloud customers, and will be made available for On-Premises soon.
~> **Disclaimer** This feature is supported for Citrix Cloud customers.

~> **Warning** Having more than one Directory Object with the same Catalog ID is not allowed.

Expand Down
Loading
Loading