Skip to content

Commit

Permalink
release v0.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
zhuolun-citrix committed Feb 27, 2024
1 parent 77b8651 commit 91f71e8
Show file tree
Hide file tree
Showing 155 changed files with 7,995 additions and 3,354 deletions.
42 changes: 34 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,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)
- [Frequently Asked Questions](#frequently-asked-questions)
- [What resource is supported for different connection types?](#what-resource-is-supported-for-different-connection-types)
- [What provisioning types are supported for machine catalog?](#what-provisioning-types-are-supported-for-machine-catalog)
- [Attributions](#attributions)
- [License](#license)

Expand Down Expand Up @@ -88,10 +90,10 @@ Below is a table to show the difference between on-premises and Cloud provider c

Resources.tf can be used to configure the desired state of the resources that you want to create and manage in your Citrix Services. The example below shows how you can configure a Citrix DaaS Zone in Citrix DaaS service in resource.tf.

**`citrix_daas_zone`**
**`citrix_zone`**

```hcl
resource "citrix_daas_zone" "example-zone" {
resource "citrix_zone" "example-zone" {
name = "example-zone"
description = "zone example"
metadata = [
Expand All @@ -103,7 +105,7 @@ resource "citrix_daas_zone" "example-zone" {
}
```

Please refer the Plugin for Terraform Provider for Citrix DaaS™ documentation such as [docs/resources/daas_zone.md](docs/resources/daas_zone.md) to find out the configurable properties of each type of resources, understand what they do, and what option values are supported.
Please refer the Plugin for Terraform Provider for Citrix DaaS™ documentation such as [docs/resources/zone.md](docs/resources/zone.md) to find out the configurable properties of each type of resources, understand what they do, and what option values are supported.

---------

Expand All @@ -127,25 +129,49 @@ To find all the Citrix DaaS resources manageable via Terraform, understand all t

### Create a Zone in Citrix DaaS as the first step

Refer the [DaaS Zone documentation](docs/resources/daas_zone.md) to configure a zone via terraform.
Refer the [DaaS Zone documentation](docs/resources/zone.md) to configure a zone via terraform.

### Create a Hypervisor

Hypervisor is needed to use your preferred public cloud provider with Citrix DaaS. Refer the [DaaS Hypervisor documentation](docs/resources/daas_azure_hypervisor.md) to configure an Azure hypervisor in a zone via terraform.
Hypervisor is needed to use your preferred public cloud provider with Citrix DaaS. Refer the [DaaS Hypervisor documentation](docs/resources/azure_hypervisor.md) to configure an Azure hypervisor in a zone via terraform.

### Create a Hypervisor Resource Pool

The hypervisor resource pool defines the network configuration for a hypervisor connection. Refer the [DaaS Hypervisor Resource Pool documentaion](docs/resources/daas_hypervisor_resource_pool.md) to configure a hypervisr resource pool via terraform.
The hypervisor resource pool defines the network configuration for a hypervisor connection. Refer the [DaaS Hypervisor Resource Pool documentaion](docs/resources/hypervisor_resource_pool.md) to configure a hypervisr resource pool via terraform.

### Create a Machine Catalog

A machine catalog is a collection of machines managed as a single entity. Refer the [DaaS Machine Catalog documentation](docs/resources/daas_machine_catalog.md) to configure a machine catalog via terraform.
A machine catalog is a collection of machines managed as a single entity. Refer the [DaaS Machine Catalog documentation](docs/resources/machine_catalog.md) to configure a machine catalog via terraform.

### Create a Delivery Group
A delivery group is a collection of machines selected from one or more machine catalogs. The delivery group can also specify which users can use those machines, plus the applications and desktops available to those users. Refer the [DaaS Delivery Group documentation](docs/resources/daas_delivery_group.md) to configure a delivery group via terraform.
A delivery group is a collection of machines selected from one or more machine catalogs. The delivery group can also specify which users can use those machines, plus the applications and desktops available to those users. Refer the [DaaS Delivery Group documentation](docs/resources/delivery_group.md) to configure a delivery group via terraform.

## Frequently Asked Questions

#### What resource is supported for different connection types?

| Connection Type | Hypervisor | Resource Pool | Machine Catalog |
|-----------------|------------------|------------------|---------------------|
| AzureRM |:heavy_check_mark:|:heavy_check_mark:| MCS / Power Managed |
| AWS EC2 |:heavy_check_mark:|:heavy_check_mark:| in progress |
| GCP |:heavy_check_mark:|:heavy_check_mark:| MCS / Power Managed |
| Vsphere |:heavy_check_mark:| in progress | Power Managed |
| XenServer |:heavy_check_mark:|:heavy_check_mark:| Power Managed |
| Nutanix |:heavy_check_mark:| in progress | Power Managed |


#### What provisioning types are supported for machine catalog?
- MCS provisioning
- Azure
- GCP
- Manual Power Managed
- Azure
- GCP
- AWS EC2
- Vsphere
- XenServer
- Nutanix
- Manual / Remote PC

## Attributions
The code in this repository makes use of the following packages:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_daas_admin_scope Data Source - citrix"
page_title: "citrix_admin_scope Data Source - citrix"
subcategory: ""
description: |-
Data source to get details regarding a specific Administrator scope.
---

# citrix_daas_admin_scope (Data Source)
# citrix_admin_scope (Data Source)

Data source to get details regarding a specific Administrator scope.

## Example Usage

```terraform
# Get Admin Scope resource by name
data "citrix_daas_admin_scope" "test_scope_by_name" {
data "citrix_admin_scope" "test_scope_by_name" {
name = "All"
}
# Get Admin Scope resource by id
data "citrix_daas_admin_scope" "test_scope_by_id" {
data "citrix_admin_scope" "test_scope_by_id" {
id = "00000000-0000-0000-0000-000000000000"
}
```
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_daas_application_folder_details Data Source - citrix"
page_title: "citrix_application_folder_details Data Source - citrix"
subcategory: ""
description: |-
Data source for retrieving details of applications belonging to a specific folder.
---

# citrix_daas_application_folder_details (Data Source)
# citrix_application_folder_details (Data Source)

Data source for retrieving details of applications belonging to a specific folder.

Expand Down
8 changes: 4 additions & 4 deletions docs/data-sources/daas_vda.md → docs/data-sources/vda.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_daas_vda Data Source - citrix"
page_title: "citrix_vda Data Source - citrix"
subcategory: ""
description: |-
Data source for the list of VDAs that belong to either a machine catalog or a delivery group. Machine catalog and delivery group cannot be specified at the same time.
---

# citrix_daas_vda (Data Source)
# citrix_vda (Data Source)

Data source for the list of VDAs that belong to either a machine catalog or a delivery group. Machine catalog and delivery group cannot be specified at the same time.

## Example Usage

```terraform
# Get VDA resource by machine catalog Name or Id
data "citrix_daas_vda" "vda_by_machine_catalog" {
data "citrix_vda" "vda_by_machine_catalog" {
machine_catalog = "{MachineCatalog Name or Id}"
}
# Get VDA resource by delivery group Name or Id
data "citrix_daas_vda" "vda_by_delivery_group" {
data "citrix_vda" "vda_by_delivery_group" {
delivery_group = "{DeliveryGroup Name or Id}"
}
```
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_daas_admin_role Resource - citrix"
page_title: "citrix_admin_role Resource - citrix"
subcategory: ""
description: |-
Manages an Administrator role.
---

# citrix_daas_admin_role (Resource)
# citrix_admin_role (Resource)

Manages an Administrator role.

## Example Usage

```terraform
resource "citrix_daas_admin_role" "on_prem_example_role" {
resource "citrix_admin_role" "on_prem_example_role" {
name = "on_prem_admin_role"
description = "Example admin role for citrix onprem"
permissions = ["AppGroupApplications_ChangeTags"]
}
resource "citrix_daas_admin_role" "cloud_example_role" {
resource "citrix_admin_role" "cloud_example_role" {
name = "cloud_admin_role"
can_launch_manage = false
can_launch_monitor = true
Expand Down Expand Up @@ -57,5 +57,5 @@ Import is supported using the following syntax:

```shell
# Admin Role can be imported by specifying the GUID
terraform import citrix_daas_admin_role.example-admin-role 00000000-0000-0000-0000-000000000000
terraform import citrix_admin_role.example-admin-role 00000000-0000-0000-0000-000000000000
```
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_daas_admin_scope Resource - citrix"
page_title: "citrix_admin_scope Resource - citrix"
subcategory: ""
description: |-
Manages an Administrator scope.
---

# citrix_daas_admin_scope (Resource)
# citrix_admin_scope (Resource)

Manages an Administrator scope.

## Example Usage

```terraform
resource "citrix_daas_admin_scope" "example-admin-scope" {
resource "citrix_admin_scope" "example-admin-scope" {
name = "example-admin-scope"
description = "Example admin scope for delivery group and machine catalog"
scoped_objects = [
Expand Down Expand Up @@ -59,5 +59,5 @@ Import is supported using the following syntax:

```shell
# Admin Scope can be imported by specifying the GUID
terraform import citrix_daas_admin_scope.example-admin-scope 00000000-0000-0000-0000-000000000000
terraform import citrix_admin_scope.example-admin-scope 00000000-0000-0000-0000-000000000000
```
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_daas_application Resource - citrix"
page_title: "citrix_application Resource - citrix"
subcategory: ""
description: |-
Resource for creating and managing applications.
---

# citrix_daas_application (Resource)
# citrix_application (Resource)

Resource for creating and managing applications.

## Example Usage

```terraform
resource "citrix_daas_application" "example-application" {
resource "citrix_application" "example-application" {
name = "example-name"
description = "example-description"
published_name = "example-published-name"
application_folder_path = citrix_daas_application_folder.example-application-folder-1.path
application_folder_path = citrix_application_folder.example-application-folder-1.path
installed_app_properties = {
command_line_arguments = "<Command line arguments for the executable>"
command_line_executable = "<Command line executable path>"
working_directory = "<Working directory path for the executable>"
}
delivery_groups = [citrix_daas_delivery_group.example-delivery-group.id]
delivery_groups = [citrix_delivery_group.example-delivery-group.id]
}
```

Expand Down Expand Up @@ -64,5 +64,5 @@ Import is supported using the following syntax:

```shell
# Application can be imported by specifying the GUID
terraform import citrix_daas_application.example-application b620d505-0d0d-43b1-8c94-5cb21c5ab40d
terraform import citrix_application.example-application b620d505-0d0d-43b1-8c94-5cb21c5ab40d
```
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_daas_application_folder Resource - citrix"
page_title: "citrix_application_folder Resource - citrix"
subcategory: ""
description: |-
Manages an application folder.
---

# citrix_daas_application_folder (Resource)
# citrix_application_folder (Resource)

Manages an application folder.

## Example Usage

```terraform
resource "citrix_daas_application_folder" "example-application-folder-1" {
resource "citrix_application_folder" "example-application-folder-1" {
name = "example-application-folder-1"
}
resource "citrix_daas_application_folder" "example-application-folder-2" {
resource "citrix_application_folder" "example-application-folder-2" {
name = "example-application-folder-2"
parent_path = citrix_daas_application_folder.example-application-folder-1.path
parent_path = citrix_application_folder.example-application-folder-1.path
}
```

Expand All @@ -45,5 +45,5 @@ Import is supported using the following syntax:

```shell
# Application Folder can be imported by specifying the GUID
terraform import citrix_daas_application_folder.example-application-folder-1 cd0a00da-dda8-4ba6-a686-936f2c7a3adf
terraform import citrix_application_folder.example-application-folder-1 cd0a00da-dda8-4ba6-a686-936f2c7a3adf
```
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_daas_aws_hypervisor Resource - citrix"
page_title: "citrix_aws_hypervisor Resource - citrix"
subcategory: ""
description: |-
Manages an AWS hypervisor.
---

# citrix_daas_aws_hypervisor (Resource)
# citrix_aws_hypervisor (Resource)

Manages an AWS hypervisor.

## Example Usage

```terraform
# AWS Hypervisor
resource "citrix_daas_aws_hypervisor" "example-aws-hypervisor" {
resource "citrix_aws_hypervisor" "example-aws-hypervisor" {
name = "example-aws-hypervisor"
zone = "<Zone Id>"
api_key = "<AWS account Access Key>"
Expand Down Expand Up @@ -44,5 +44,5 @@ Import is supported using the following syntax:

```shell
# AWS Hypervisor can be imported by specifying the GUID
terraform import citrix_daas_aws_hypervisor.example-aws-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
terraform import citrix_aws_hypervisor.example-aws-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
```
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "citrix_daas_aws_hypervisor_resource_pool Resource - citrix"
page_title: "citrix_aws_hypervisor_resource_pool Resource - citrix"
subcategory: ""
description: |-
Manages a hypervisor resource pool.
---

# citrix_daas_aws_hypervisor_resource_pool (Resource)
# citrix_aws_hypervisor_resource_pool (Resource)

Manages a hypervisor resource pool.

## Example Usage

```terraform
resource "citrix_daas_aws_hypervisor_resource_pool" "example-aws-hypervisor-resource-pool" {
resource "citrix_aws_hypervisor_resource_pool" "example-aws-hypervisor-resource-pool" {
name = "example-aws-hypervisor-resource-pool"
hypervisor = citrix_daas_aws_hypervisor.example-aws-hypervisor.id
hypervisor = citrix_aws_hypervisor.example-aws-hypervisor.id
subnets = [
"10.0.1.0/24",
]
Expand Down Expand Up @@ -45,5 +45,5 @@ Import is supported using the following syntax:

```shell
# Hypervisor Resource Pool can be imported with the format HypervisorId,HypervisorResourcePoolId
terraform import citrix_daas_aws_hypervisor_resource_pool.example-aws-hypervisor-resource-pool sbf0dc45-5c42-45a0-a15d-a3df4ff5da8c,ce571dd9-1a46-4b85-891c-484423322c53
terraform import citrix_aws_hypervisor_resource_pool.example-aws-hypervisor-resource-pool sbf0dc45-5c42-45a0-a15d-a3df4ff5da8c,ce571dd9-1a46-4b85-891c-484423322c53
```
Loading

0 comments on commit 91f71e8

Please sign in to comment.