Skip to content

Commit

Permalink
release-v1.0.8
Browse files Browse the repository at this point in the history
  • Loading branch information
yashbhokare-citrix committed Dec 6, 2024
1 parent 00f95f1 commit 26cd2f4
Show file tree
Hide file tree
Showing 86 changed files with 5,546 additions and 1,248 deletions.
1 change: 0 additions & 1 deletion .github/workflows/gotest-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@ jobs:
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
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/gotest-onprem.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,6 @@ jobs:
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
echo "TEST_APP_NAME=${{vars.TEST_APP_NAME}}" >> $GITHUB_ENV
echo "TEST_ADMIN_FOLDER_NAME=${{vars.TEST_APP_FOLDER_NAME}}" >> $GITHUB_ENV
Expand Down
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Citrix has developed a custom Terraform provider for automating Citrix product d
- [Contacting the Maintainers](#contacting-the-maintainers)
- [Examples](#examples)
- [Deployment guides](#deployment-guides)
- [Demo video](#demo-video)
- [Plugin for Terraform Provider for Citrix® Documentation](#plugin-for-terraform-provider-for-citrix-documentation)
- [Navigating the repository](#navigating-the-repository)
- [Provider Configuration](#provider-configuration)
Expand Down Expand Up @@ -39,15 +40,21 @@ This project uses GitHub to track all issues. See [CONTRIBUTING.md](CONTRIBUTING
Basic example templates for getting started can be found in the repository at [examples/](/examples/README.md)

### Deployment guides
Complete steps from start to finsh for a variety of senarios from [Citrix Tech Zone](https://community.citrix.com/tech-zone/automation/):
Please refer to [Citrix Tech Zone](https://community.citrix.com/tech-zone/automation/) to find detailed guides on how to deploy and manage resources using the Citrix provider:
- [Installing and configuring the provider](https://community.citrix.com/tech-zone/automation/terraform-install-and-config/)
- [Daily administrative operations](https://community.citrix.com/tech-zone/automation/terraform-daily-administration/)
- [AWS EC2](https://community.citrix.com/tech-zone/build/deployment-guides/terraform-daas-aws/) via MCS
- [Azure](https://community.citrix.com/tech-zone/build/deployment-guides/citrix-daas-terraform-azure/) via MCS
- [GCP](https://community.citrix.com/tech-zone/build/deployment-guides/terraform-daas-gcp/) via MCS
- [vSphere](https://community.citrix.com/tech-zone/build/deployment-guides/terraform-daas-vsphere8/) via MCS
- [XenServer](https://community.citrix.com/tech-zone/automation/citrix-terraform-xenserver) via MCS
- [Citrix policies](https://community.citrix.com/tech-zone/automation/cvad-terraform-policies/)

### Demo video
[![alt text](images/techzone-youtube-thumbnail.png)](https://www.youtube.com/watch?v=c33sMLaCVjY)

https://www.youtube.com/watch?v=c33sMLaCVjY

## Plugin for Terraform Provider for Citrix® Documentation

### Navigating the repository
Expand Down
2 changes: 1 addition & 1 deletion docs/data-sources/admin_scope.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ data "citrix_admin_scope" "test_scope_by_id" {
### Optional

- `id` (String) ID of the Admin Scope.
- `name` (String) Name of the Admin Scope.
- `name` (String) Name of the Admin Scope. For `tenant` scope please use `tenant customer Id` for this field.

### Read-Only

Expand Down
51 changes: 51 additions & 0 deletions docs/data-sources/image_definition.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_image_definition Data Source - citrix"
subcategory: "CVAD"
description: |-
Data source of an image definition. Note that this feature is in Tech Preview.
---

# citrix_image_definition (Data Source)

Data source of an image definition. **Note that this feature is in Tech Preview.**

## Example Usage

```terraform
# Define Image Definition data source by id
data "citrix_image_definition" "example_image_definition_by_id" {
id = "00000000-0000-0000-0000-000000000000"
}
# Define Image Definition data source by name
data "citrix_image_definition" "example_image_definition_by_name" {
name = "Example Image Definition"
}
```

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

### Optional

- `id` (String) The GUID identifier of the image definition.
- `name` (String) Name of the image definition.

### Read-Only

- `azure_image_definition` (Attributes) Details of the Azure Image Definition. (see [below for nested schema](#nestedatt--azure_image_definition))
- `description` (String) Description of the image definition.
- `hypervisor` (String) ID of the hypervisor connection to be used for image definition.
- `latest_version` (Number) Latest version of the image definition.
- `os_type` (String) Operating system type of the image definition.
- `session_support` (String) Session support of the image definition.

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

Read-Only:

- `image_gallery_name` (String) Name of the existing image gallery. If not specified and `use_image_gallery` is `true`, a new image gallery will be created.
- `resource_group` (String) Existing resource group to store the image definition. If not specified, a new resource group will be created.
- `use_image_gallery` (Boolean) Whether image gallery is used to store the image definition. Defaults to `false`.
15 changes: 12 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
page_title: "Citrix Provider"
subcategory: ""
description: |-
Manage and deploy Citrix resources easily using the Citrix Terraform provider. The provider currently supports both Citrix Virtual Apps & Desktops(CVAD) and Citrix Desktop as a Service (DaaS) solutions. You can automate creation of site setup including host connections, machine catalogs and delivery groups etc for both CVAD and Citrix DaaS. You can deploy resources in Citrix supported hypervisors and public clouds. Currently, we support deployments in Nutanix, VMware vSphere, XenServer, Microsoft Azure, AWS EC2 and Google Cloud Compute. Additionally, you can also use Manual provisioning or RemotePC to add workloads. The provider is developed and maintained by Citrix.
Manage and deploy Citrix resources easily using the Citrix Terraform provider. The provider currently supports both Citrix Virtual Apps & Desktops (CVAD 2311+) and Citrix Desktop as a Service (DaaS) solutions. You can automate creation of site setup including host connections, machine catalogs and delivery groups etc for both CVAD and Citrix DaaS. You can deploy resources in Citrix supported hypervisors and public clouds. Currently, we support deployments in Nutanix, VMware vSphere, XenServer, Microsoft Azure, AWS EC2 and Google Cloud Compute. Additionally, you can also use Manual provisioning or RemotePC to add workloads. The provider is developed and maintained by Citrix.
---

# Citrix Provider

Manage and deploy Citrix resources easily using the Citrix Terraform provider. The provider currently supports both Citrix Virtual Apps & Desktops(CVAD) and Citrix Desktop as a Service (DaaS) solutions. You can automate creation of site setup including host connections, machine catalogs and delivery groups etc for both CVAD and Citrix DaaS. You can deploy resources in Citrix supported hypervisors and public clouds. Currently, we support deployments in Nutanix, VMware vSphere, XenServer, Microsoft Azure, AWS EC2 and Google Cloud Compute. Additionally, you can also use Manual provisioning or RemotePC to add workloads. The provider is developed and maintained by Citrix.
Manage and deploy Citrix resources easily using the Citrix Terraform provider. The provider currently supports both Citrix Virtual Apps & Desktops (CVAD 2311+) and Citrix Desktop as a Service (DaaS) solutions. You can automate creation of site setup including host connections, machine catalogs and delivery groups etc for both CVAD and Citrix DaaS. You can deploy resources in Citrix supported hypervisors and public clouds. Currently, we support deployments in Nutanix, VMware vSphere, XenServer, Microsoft Azure, AWS EC2 and Google Cloud Compute. Additionally, you can also use Manual provisioning or RemotePC to add workloads. The provider is developed and maintained by Citrix.

Documentation regarding the [Data Sources](https://developer.hashicorp.com/terraform/language/data-sources) and [Resources](https://developer.hashicorp.com/terraform/language/resources) supported by the Citrix Provider can be found in the navigation to the left.

Expand All @@ -25,14 +25,23 @@ Experience the immediate benefits of Terraform by importing your Citrix resource
### Creating Citrix resources via Terraform

Please refer to [Citrix Tech Zone](https://community.citrix.com/tech-zone/automation/) to find detailed guides on how to deploy and manage resources using the Citrix provider:
- [Installing and configuring the Citrix provider](https://community.citrix.com/tech-zone/automation/terraform-install-and-config/)
- [Installing and configuring the provider](https://community.citrix.com/tech-zone/automation/terraform-install-and-config/)
- [Daily administrative operations](https://community.citrix.com/tech-zone/automation/terraform-daily-administration/)
- [AWS EC2](https://community.citrix.com/tech-zone/build/deployment-guides/terraform-daas-aws/) via MCS
- [Azure](https://community.citrix.com/tech-zone/build/deployment-guides/citrix-daas-terraform-azure/) via MCS
- [GCP](https://community.citrix.com/tech-zone/build/deployment-guides/terraform-daas-gcp/) via MCS
- [vSphere](https://community.citrix.com/tech-zone/build/deployment-guides/terraform-daas-vsphere8/) via MCS
- [XenServer](https://community.citrix.com/tech-zone/automation/citrix-terraform-xenserver) via MCS
- [Citrix policies](https://community.citrix.com/tech-zone/automation/cvad-terraform-policies/)

### Demo video
[![alt text](../images/techzone-youtube-thumbnail.png)](https://www.youtube.com/watch?v=c33sMLaCVjY)
https://www.youtube.com/watch?v=c33sMLaCVjY

### (On-Premises Only) Enable Web Studio

For on-premises sites with version >= 2311 are supported. Web Studio needs to be [installed and configured](https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/install-configure/install-core/install-web-studio.html#install-web-studio-1) for the provider to work.

## Frequently Asked Questions

### What resource is supported for different connection types?
Expand Down
1 change: 1 addition & 0 deletions docs/resources/application_group.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ resource "citrix_application_group" "example-application-group" {

- `application_group_folder_path` (String) The path of the folder in which the application group is located.
- `description` (String) Description of the application group.
- `enabled` (Boolean) Whether the application group is enabled or not. Defaults to `true`.
- `included_users` (Set of String) Users who can use this application group.

-> **Note** User must be in `Domain\UserOrGroupName` or `[email protected]` format
Expand Down
12 changes: 10 additions & 2 deletions docs/resources/delivery_group.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,6 @@ resource "citrix_delivery_group" "example-delivery-group" {
}
}
]
policy_set_id = citrix_policy_set.example-policy-set.id
minimum_functional_level = "L7_20"
app_protection = {
# apply_contextually = [
Expand Down Expand Up @@ -206,14 +205,14 @@ resource "citrix_delivery_group" "example-delivery-group" {
- `delivery_type` (String) Delivery type of the delivery group. Available values are `DesktopsOnly`, `AppsOnly`, and `DesktopsAndApps`. Defaults to `DesktopsOnly` for Delivery Groups with associated Machine Catalogs that have `allocation_type` set to `Static` and for Delivery Groups that have `sharing_kind` set to `private`. Otherwise defaults to `DesktopsAndApps
- `description` (String) Description of the delivery group.
- `desktops` (Attributes List) A list of Desktop resources to publish on the delivery group. Only 1 desktop can be added to a Remote PC Delivery Group. (see [below for nested schema](#nestedatt--desktops))
- `enabled` (Boolean) Whether the delivery group is enabled or not. Defaults to `true`.
- `make_resources_available_in_lhc` (Boolean) In the event of a service disruption or loss of connectivity, select if you want Local Host Cache to keep resources in the delivery group available to launch new sessions. Existing sessions are not impacted.

~> **Please Note** This setting only impacts Single Session OS Random (pooled) desktops which are power managed. LHC is always enabled for Single Session OS static and Multi Session OS desktops.

-> **Note** When set to `true`, machines will remain available and allow new connections and changes to the machine caused by a user might be present in subsequent sessions. When set to `false`, machines in the delivery group will be unavailable for new connections during a Local Host Cache event.
- `metadata` (Attributes List) Metadata for the Delivery Group. (see [below for nested schema](#nestedatt--metadata))
- `minimum_functional_level` (String) Specifies the minimum functional level for the VDA machines in the delivery group. Defaults to `L7_20`.
- `policy_set_id` (String) GUID identifier of the policy set.
- `reboot_schedules` (Attributes List) The reboot schedule for the delivery group. (see [below for nested schema](#nestedatt--reboot_schedules))
- `restricted_access_users` (Attributes) Restrict access to this Delivery Group by specifying users and groups in the allow and block list. If no value is specified, all authenticated users will have access to this Delivery Group. To give access to unauthenticated users, use the `allow_anonymous_access` property. (see [below for nested schema](#nestedatt--restricted_access_users))
- `scopes` (Set of String) The IDs of the scopes for the delivery group to be a part of.
Expand Down Expand Up @@ -278,12 +277,19 @@ Optional:
- `disconnect_peak_idle_session_after_seconds` (Number) Specifies the time in seconds after which an idle session belonging to the delivery group is disconnected during peak time.
- `log_off_off_peak_disconnected_session_after_seconds` (Number) Specifies the time in seconds after which a disconnected session belonging to the delivery group is terminated during off peak time.
- `log_off_peak_disconnected_session_after_seconds` (Number) Specifies the time in seconds after which a disconnected session belonging to the delivery group is terminated during peak time.
- `log_off_reminder_enabled` (Boolean) Indicates whether log off reminder is enabled. Defaults to `false`.
- `log_off_reminder_message` (String) The message to be displayed in the log off reminder.
- `log_off_reminder_title` (String) The title of the log off reminder.
- `log_off_warning_message` (String) The message to be displayed in the log off warning.
- `log_off_warning_title` (String) The title of the log off warning.
- `off_peak_buffer_size_percent` (Number) The percentage of machines in the delivery group that should be kept available in an idle state outside peak hours.
- `off_peak_disconnect_action` (String) The action to be performed after a configurable period of a user session disconnecting outside peak hours. Choose between `Nothing`, `Suspend`, and `Shutdown`. Default is `Nothing`.
- `off_peak_disconnect_timeout_minutes` (Number) The number of minutes before the configured action should be performed after a user session disconnectts outside peak hours.
- `off_peak_extended_disconnect_action` (String) The action to be performed after a second configurable period of a user session disconnecting outside peak hours. Choose between `Nothing`, `Suspend`, and `Shutdown`. Default is `Nothing`.
- `off_peak_extended_disconnect_timeout_minutes` (Number) The number of minutes before the second configured action should be performed after a user session disconnects outside peak hours.
- `off_peak_limit_seconds_to_force_log_off_user` (Number) Limit in seconds to force log off user after user logs off from their sessions during off-peak hours. Defaults to `0`.
- `off_peak_log_off_action` (String) The action to be performed after a configurable period of a user session ending outside peak hours. Choose between `Nothing`, `Suspend`, and `Shutdown`. Default is `Nothing`.
- `off_peak_log_off_reminder_interval` (Number) The interval in seconds at which the log off reminder is sent during off-peak hours. Defaults to `0`.
- `off_peak_log_off_timeout_minutes` (Number) The number of minutes before the configured action should be performed after a user session ends outside peak hours.
- `off_peak_restrict_min_idle_untagged_percent` (Number) Specifies the percentage of remaining untagged capacity to fall below to start powering on tagged machines during off peak hours.

Expand All @@ -295,7 +301,9 @@ Optional:
- `peak_disconnect_timeout_minutes` (Number) The number of minutes before the configured action should be performed after a user session disconnects in peak hours.
- `peak_extended_disconnect_action` (String) The action to be performed after a second configurable period of a user session disconnecting in peak hours. Choose between `Nothing`, `Suspend`, and `Shutdown`. Default is `Nothing`.
- `peak_extended_disconnect_timeout_minutes` (Number) The number of minutes before the second configured action should be performed after a user session disconnects in peak hours.
- `peak_limit_seconds_to_force_log_off_user` (Number) Limit in seconds to force log off user after user logs off from their sessions during peak hours. Defaults to `0`.
- `peak_log_off_action` (String) The action to be performed after a configurable period of a user session ending in peak hours. Choose between `Nothing`, `Suspend`, and `Shutdown`. Default is `Nothing`.
- `peak_log_off_reminder_interval` (Number) The interval in seconds at which the log off reminder is sent during peak hours. Defaults to `0`.
- `peak_log_off_timeout_minutes` (Number) The number of minutes before the configured action should be performed after a user session ends in peak hours.
- `peak_restrict_min_idle_untagged_percent` (Number) Specifies the percentage of remaining untagged capacity to fall below to start powering on tagged machines during peak hours.

Expand Down
Loading

0 comments on commit 26cd2f4

Please sign in to comment.