├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── workflows
│ ├── gotest-cloud-eu.yml
│ ├── gotest-cloud.yml
│ ├── gotest-onprem.yml
│ └── release.yml
├── .gitignore
├── .golangci.yml
├── .goreleaser.yml
├── CONTRIBUTING.md
├── DEVELOPER.md
├── LICENSE
├── README.md
├── StoreFront.md
├── ctx_metadata.yaml
├── docs
├── data-sources
│ ├── access_control_policy_filter.md
│ ├── admin_folder.md
│ ├── admin_permissions.md
│ ├── admin_role.md
│ ├── admin_scope.md
│ ├── admin_user.md
│ ├── application_folder_details.md
│ ├── bearer_token.md
│ ├── branch_repeater_policy_filter.md
│ ├── client_ip_policy_filter.md
│ ├── client_name_policy_filter.md
│ ├── client_platform_policy_filter.md
│ ├── cloud_google_identity_provider.md
│ ├── cloud_okta_identity_provider.md
│ ├── cloud_resource_location.md
│ ├── cloud_saml_identity_provider.md
│ ├── delivery_group.md
│ ├── delivery_group_policy_filter.md
│ ├── delivery_group_type_policy_filter.md
│ ├── hypervisor.md
│ ├── hypervisor_resource_pool.md
│ ├── image_definition.md
│ ├── image_version.md
│ ├── machine_catalog.md
│ ├── ou_policy_filter.md
│ ├── policy.md
│ ├── policy_filters.md
│ ├── policy_priority.md
│ ├── policy_set.md
│ ├── policy_set_v2.md
│ ├── policy_setting.md
│ ├── pvs.md
│ ├── quickcreate_aws_workspaces_account.md
│ ├── quickcreate_aws_workspaces_cloudformation_template.md
│ ├── quickcreate_aws_workspaces_deployment.md
│ ├── quickcreate_aws_workspaces_directory_connection.md
│ ├── quickcreate_aws_workspaces_image.md
│ ├── quickdeploy_template_image.md
│ ├── service_account.md
│ ├── site.md
│ ├── site_settings.md
│ ├── stf_roaming_service.md
│ ├── storefront_server.md
│ ├── tag.md
│ ├── tag_policy_filter.md
│ ├── user_policy_filter.md
│ ├── vda.md
│ ├── wem_configuration_set.md
│ └── zone.md
├── index.md
└── resources
│ ├── access_control_policy_filter.md
│ ├── admin_folder.md
│ ├── admin_role.md
│ ├── admin_scope.md
│ ├── admin_user.md
│ ├── application.md
│ ├── application_group.md
│ ├── application_icon.md
│ ├── aws_hypervisor.md
│ ├── aws_hypervisor_resource_pool.md
│ ├── azure_hypervisor.md
│ ├── azure_hypervisor_resource_pool.md
│ ├── branch_repeater_policy_filter.md
│ ├── client_ip_policy_filter.md
│ ├── client_name_policy_filter.md
│ ├── client_platform_policy_filter.md
│ ├── cloud_admin_user.md
│ ├── cloud_google_identity_provider.md
│ ├── cloud_okta_identity_provider.md
│ ├── cloud_resource_location.md
│ ├── cloud_saml_identity_provider.md
│ ├── delivery_group.md
│ ├── delivery_group_policy_filter.md
│ ├── delivery_group_type_policy_filter.md
│ ├── desktop_icon.md
│ ├── gac_discovery.md
│ ├── gac_settings.md
│ ├── gcp_hypervisor.md
│ ├── gcp_hypervisor_resource_pool.md
│ ├── hpe_moonshot_hypervisor.md
│ ├── image_definition.md
│ ├── image_version.md
│ ├── machine_catalog.md
│ ├── machine_properties.md
│ ├── nutanix_hypervisor.md
│ ├── nutanix_hypervisor_resource_pool.md
│ ├── openshift_hypervisor.md
│ ├── openshift_hypervisor_resource_pool.md
│ ├── ou_policy_filter.md
│ ├── policy.md
│ ├── policy_priority.md
│ ├── policy_set.md
│ ├── policy_set_v2.md
│ ├── policy_setting.md
│ ├── quickcreate_aws_workspaces_account.md
│ ├── quickcreate_aws_workspaces_deployment.md
│ ├── quickcreate_aws_workspaces_directory_connection.md
│ ├── quickcreate_aws_workspaces_image.md
│ ├── quickdeploy_template_image.md
│ ├── remote_pc_wake_on_lan_hypervisor.md
│ ├── scvmm_hypervisor.md
│ ├── scvmm_hypervisor_resource_pool.md
│ ├── service_account.md
│ ├── site_backup_schedule.md
│ ├── site_settings.md
│ ├── stf_authentication_service.md
│ ├── stf_deployment.md
│ ├── stf_store_service.md
│ ├── stf_user_farm_mapping.md
│ ├── stf_webreceiver_service.md
│ ├── stf_xenapp_default_store.md
│ ├── storefront_server.md
│ ├── tag.md
│ ├── tag_policy_filter.md
│ ├── user_policy_filter.md
│ ├── vsphere_hypervisor.md
│ ├── vsphere_hypervisor_resource_pool.md
│ ├── wem_configuration_set.md
│ ├── wem_directory_object.md
│ ├── xenserver_hypervisor.md
│ ├── xenserver_hypervisor_resource_pool.md
│ └── zone.md
├── examples
├── README.md
├── basic_aws_mcs_vda
│ ├── citrix.tf
│ ├── delivery_groups.tf
│ ├── hypervisors.tf
│ ├── machine_catalogs.tf
│ ├── resource_pools.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ ├── variables.tf
│ └── zones.tf
├── basic_aws_workspace_core_deployment
│ ├── account.tf
│ ├── citrix.tf
│ ├── deployment.tf
│ ├── directory_connection.tf
│ ├── image.tf
│ ├── resource_location.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ └── variables.tf
├── basic_azure_mcs_vda
│ ├── citrix.tf
│ ├── delivery_groups.tf
│ ├── hypervisors.tf
│ ├── images.tf
│ ├── machine_catalogs.tf
│ ├── resource_pools.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ ├── variables.tf
│ └── zones.tf
├── basic_gcp_mcs_vda
│ ├── citrix.tf
│ ├── delivery_groups.tf
│ ├── hypervisors.tf
│ ├── machine_catalogs.tf
│ ├── resource_pools.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ ├── variables.tf
│ └── zones.tf
├── basic_nutanix_mcs_vda
│ ├── citrix.tf
│ ├── delivery_groups.tf
│ ├── hypervisors.tf
│ ├── machine_catalogs.tf
│ ├── resource_pools.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ ├── variables.tf
│ └── zones.tf
├── basic_policy_set
│ ├── citrix.tf
│ ├── policy.tf
│ ├── policy_filter.tf
│ ├── policy_priority.tf
│ ├── policy_set_v2.tf
│ ├── policy_setting.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ └── variables.tf
├── basic_scvmm_mcs_vda
│ ├── citrix.tf
│ ├── delivery_groups.tf
│ ├── hypervisors.tf
│ ├── machine_catalogs.tf
│ ├── resource_pools.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ ├── variables.tf
│ └── zones.tf
├── basic_vsphere_mcs_vda
│ ├── citrix.tf
│ ├── delivery_groups.tf
│ ├── hypervisors.tf
│ ├── images.tf
│ ├── machine_catalogs.tf
│ ├── resource_pools.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ ├── variables.tf
│ └── zones.tf
├── basic_xenserver_mcs_vda
│ ├── citrix.tf
│ ├── delivery_groups.tf
│ ├── hypervisors.tf
│ ├── machine_catalogs.tf
│ ├── resource_pools.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ ├── variables.tf
│ └── zones.tf
└── non_domain_joined_azure_mcs_vda
│ ├── citrix.tf
│ ├── delivery_groups.tf
│ ├── hypervisors.tf
│ ├── images.tf
│ ├── machine_catalogs.tf
│ ├── policy_sets.tf
│ ├── resource_location.tf
│ ├── resource_pools.tf
│ ├── terraform.template.tfvars
│ ├── terraform.tf
│ ├── variables.tf
│ └── zones.tf
├── go.mod
├── go.sum
├── images
├── go-extension.png
└── techzone-youtube-thumbnail.png
├── internal
├── citrixcloud
│ ├── admin_user
│ │ ├── admin_user_resource.go
│ │ ├── admin_user_resource_model.go
│ │ └── admin_user_utils.go
│ ├── global_app_configuration
│ │ ├── gac_discovery_resource.go
│ │ ├── gac_discovery_resource_model.go
│ │ ├── gac_settings_resource.go
│ │ ├── gac_settings_resource_model.go
│ │ └── gac_settings_util.go
│ ├── identity_providers
│ │ ├── google_identity_provider_data_source.go
│ │ ├── google_identity_provider_data_source_model.go
│ │ ├── google_identity_provider_resource.go
│ │ ├── google_identity_provider_resource_model.go
│ │ ├── identity_provider_utils.go
│ │ ├── okta_identity_provider_data_source.go
│ │ ├── okta_identity_provider_data_source_model.go
│ │ ├── okta_identity_provider_resource.go
│ │ ├── okta_identity_provider_resource_model.go
│ │ ├── saml_identity_provider_data_source.go
│ │ ├── saml_identity_provider_data_source_model.go
│ │ ├── saml_identity_provider_resource.go
│ │ └── saml_identity_provider_resource_model.go
│ └── resource_locations
│ │ ├── resource_locations_data_source.go
│ │ ├── resource_locations_data_source_model.go
│ │ ├── resource_locations_resource.go
│ │ ├── resource_locations_resource_model.go
│ │ └── resource_locations_utils.go
├── daas
│ ├── admin_folder
│ │ ├── admin_folder_data_source.go
│ │ ├── admin_folder_data_source_model.go
│ │ ├── admin_folder_resource.go
│ │ └── admin_folder_resource_model.go
│ ├── admin_role
│ │ ├── admin_permissions_data_source.go
│ │ ├── admin_permissions_data_source_model.go
│ │ ├── admin_role_data_source.go
│ │ ├── admin_role_data_source_model.go
│ │ ├── admin_role_resource.go
│ │ └── admin_role_resource_model.go
│ ├── admin_scope
│ │ ├── admin_scope_data_source.go
│ │ ├── admin_scope_data_source_model.go
│ │ ├── admin_scope_resource.go
│ │ └── admin_scope_resource_model.go
│ ├── admin_user
│ │ ├── admin_user_data_source.go
│ │ ├── admin_user_data_source_model.go
│ │ ├── admin_user_resource.go
│ │ └── admin_user_resource_model.go
│ ├── application
│ │ ├── application_folder_details_data_source.go
│ │ ├── application_folder_details_data_source_model.go
│ │ ├── application_group_resource.go
│ │ ├── application_group_resource_model.go
│ │ ├── application_icon_resource.go
│ │ ├── application_icon_resource_model.go
│ │ ├── application_resource.go
│ │ └── application_resource_model.go
│ ├── bearer_token
│ │ ├── bearer_token_data_source.go
│ │ └── bearer_token_data_source_model.go
│ ├── cvad_site
│ │ ├── site_data_source.go
│ │ ├── site_data_source_model.go
│ │ ├── site_settings_data_source.go
│ │ ├── site_settings_data_source_model.go
│ │ ├── site_settings_resource.go
│ │ └── site_settings_resource_model.go
│ ├── delivery_group
│ │ ├── delivery_group_data_source.go
│ │ ├── delivery_group_data_source_model.go
│ │ ├── delivery_group_resource.go
│ │ ├── delivery_group_resource_model.go
│ │ └── delivery_group_utils.go
│ ├── desktop_icon
│ │ ├── desktop_icon_resource.go
│ │ └── desktop_icon_resource_model.go
│ ├── hypervisor
│ │ ├── aws_hypervisor_resource.go
│ │ ├── aws_hypervisor_resource_model.go
│ │ ├── azure_hypervisor_resource.go
│ │ ├── azure_hypervisor_resource_model.go
│ │ ├── gcp_hypervisor_resource.go
│ │ ├── gcp_hypervisor_resource_model.go
│ │ ├── hpe_moonshot_hypervisor_resource.go
│ │ ├── hpe_moonshot_hypervisor_resource_model.go
│ │ ├── hypervisor_common.go
│ │ ├── hypervisor_data_source.go
│ │ ├── hypervisor_data_source_model.go
│ │ ├── nutanix_hypervisor_resource.go
│ │ ├── nutanix_hypervisor_resource_model.go
│ │ ├── openshift_hypervisor_resource.go
│ │ ├── openshift_hypervisor_resource_model.go
│ │ ├── remotepc_wake_on_lan_hypervisor_resource.go
│ │ ├── remotepc_wake_on_lan_hypervisor_resource_model.go
│ │ ├── scvmm_hypervisor_resource.go
│ │ ├── scvmm_hypervisor_resource_model.go
│ │ ├── vsphere_hypervisor_resource.go
│ │ ├── vsphere_hypervisor_resource_model.go
│ │ ├── xenserver_hypervisor_resource.go
│ │ └── xenserver_hypervisor_resource_model.go
│ ├── hypervisor_resource_pool
│ │ ├── aws_hypervisor_resource_pool_resource.go
│ │ ├── aws_hypervisor_resource_pool_resource_model.go
│ │ ├── azure_hypervisor_resource_pool_resource.go
│ │ ├── azure_hypervisor_resource_pool_resource_model.go
│ │ ├── gcp_hypervisor_resource_pool_resource.go
│ │ ├── gcp_hypervisor_resource_pool_resource_model.go
│ │ ├── hypervisor_resource_pool_common.go
│ │ ├── hypervisor_resource_pool_data_source.go
│ │ ├── hypervisor_resource_pool_data_source_model.go
│ │ ├── nutanix_hypervisor_resource_pool_resource.go
│ │ ├── nutanix_hypervisor_resource_pool_resource_model.go
│ │ ├── openshift_hypervisor_resource_pool_resource.go
│ │ ├── openshift_hypervisor_resource_pool_resource_model.go
│ │ ├── scvmm_hypervisor_resource_pool_resource.go
│ │ ├── scvmm_hypervisor_resource_pool_resource_model.go
│ │ ├── vsphere_hypervisor_resource_pool_resource.go
│ │ ├── vsphere_hypervisor_resource_pool_resource_model.go
│ │ ├── xenserver_hypervisor_resource_pool_resource.go
│ │ └── xenserver_hypervisor_resource_pool_resource_model.go
│ ├── image_definition
│ │ ├── image_definition_data_source.go
│ │ ├── image_definition_data_source_model.go
│ │ ├── image_definition_resource.go
│ │ ├── image_definition_resource_model.go
│ │ ├── image_version_data_source.go
│ │ ├── image_version_data_source_model.go
│ │ ├── image_version_resource.go
│ │ └── image_version_resource_model.go
│ ├── machine_catalog
│ │ ├── machine_catalog_common_utils.go
│ │ ├── machine_catalog_data_source.go
│ │ ├── machine_catalog_data_source_model.go
│ │ ├── machine_catalog_manual_utils.go
│ │ ├── machine_catalog_mcs_pvs_utils.go
│ │ ├── machine_catalog_prepared_image_utils.go
│ │ ├── machine_catalog_remote_pc_utils.go
│ │ ├── machine_catalog_resource.go
│ │ ├── machine_catalog_resource_model.go
│ │ ├── machine_config.go
│ │ ├── machine_properties_resource.go
│ │ ├── machine_properties_resource_model.go
│ │ ├── pvs_data_source.go
│ │ └── pvs_data_source_model.go
│ ├── policies
│ │ ├── policy_filter_data_source_model.go
│ │ ├── policy_filter_model.go
│ │ ├── policy_set_data_source.go
│ │ ├── policy_set_data_source_model.go
│ │ ├── policy_set_resource.go
│ │ ├── policy_set_resource.md
│ │ ├── policy_set_resource_model.go
│ │ └── policy_set_utils.go
│ ├── policy_filters
│ │ ├── access_control_policy_filter_data_source.go
│ │ ├── access_control_policy_filter_data_source_model.go
│ │ ├── access_control_policy_filter_resource.go
│ │ ├── access_control_policy_filter_resource_model.go
│ │ ├── branch_repeater_policy_filter_data_source.go
│ │ ├── branch_repeater_policy_filter_data_source_model.go
│ │ ├── branch_repeater_policy_filter_resource.go
│ │ ├── branch_repeater_policy_filter_resource_model.go
│ │ ├── client_ip_policy_filter_data_source.go
│ │ ├── client_ip_policy_filter_data_source_model.go
│ │ ├── client_ip_policy_filter_resource.go
│ │ ├── client_ip_policy_filter_resource_model.go
│ │ ├── client_name_policy_filter_data_source.go
│ │ ├── client_name_policy_filter_data_source_model.go
│ │ ├── client_name_policy_filter_resource.go
│ │ ├── client_name_policy_filter_resource_model.go
│ │ ├── client_platform_policy_filter_data_source.go
│ │ ├── client_platform_policy_filter_data_source_model.go
│ │ ├── client_platform_policy_filter_resource.go
│ │ ├── client_platform_policy_filter_resource_model.go
│ │ ├── delivery_group_policy_filter_data_source.go
│ │ ├── delivery_group_policy_filter_data_source_model.go
│ │ ├── delivery_group_policy_filter_resource.go
│ │ ├── delivery_group_policy_filter_resource_model.go
│ │ ├── delivery_group_type_policy_filter_data_source.go
│ │ ├── delivery_group_type_policy_filter_data_source_model.go
│ │ ├── delivery_group_type_policy_filter_resource.go
│ │ ├── delivery_group_type_policy_filter_resource_model.go
│ │ ├── ou_policy_filter_data_source.go
│ │ ├── ou_policy_filter_data_source_model.go
│ │ ├── ou_policy_filter_resource.go
│ │ ├── ou_policy_filter_resource_model.go
│ │ ├── policy_filter_common.go
│ │ ├── policy_filters_data_source.go
│ │ ├── policy_filters_data_source_model.go
│ │ ├── tag_policy_filter_data_source.go
│ │ ├── tag_policy_filter_data_source_model.go
│ │ ├── tag_policy_filter_resource.go
│ │ ├── tag_policy_filter_resource_model.go
│ │ ├── user_policy_filter_data_source.go
│ │ ├── user_policy_filter_data_source_model.go
│ │ ├── user_policy_filter_resource.go
│ │ └── user_policy_filter_resource_model.go
│ ├── policy_priority
│ │ ├── policy_priority_data_source.go
│ │ ├── policy_priority_data_source_model.go
│ │ ├── policy_priority_resource.go
│ │ └── policy_priority_resource_model.go
│ ├── policy_resource
│ │ ├── policy_data_source.go
│ │ ├── policy_data_source_model.go
│ │ ├── policy_resource.go
│ │ └── policy_resource_model.go
│ ├── policy_set_resource
│ │ ├── policy_set_data_source_model_v2.go
│ │ ├── policy_set_data_source_v2.go
│ │ ├── policy_set_resource_model_v2.go
│ │ ├── policy_set_resource_v2.go
│ │ └── policy_set_v2_utils.go
│ ├── policy_setting
│ │ ├── policy_setting_data_source.go
│ │ ├── policy_setting_data_source_model.go
│ │ ├── policy_setting_resource.go
│ │ └── policy_setting_resource_model.go
│ ├── service_account
│ │ ├── service_account_common.go
│ │ ├── service_account_data_source.go
│ │ ├── service_account_data_source_model.go
│ │ ├── service_account_resource.go
│ │ └── service_account_resource_model.go
│ ├── site_backup_schedule
│ │ ├── site_backup_schedule_resource.go
│ │ └── site_backup_schedule_resource_model.go
│ ├── storefront_server
│ │ ├── storefront_server_data_source.go
│ │ ├── storefront_server_data_source_model.go
│ │ ├── storefront_server_resource.go
│ │ └── storefront_server_resource_model.go
│ ├── tags
│ │ ├── tag_data_source.go
│ │ ├── tag_data_source_model.go
│ │ ├── tag_resource.go
│ │ └── tag_resource_model.go
│ ├── vda
│ │ ├── vda_data_source.go
│ │ └── vda_data_source_model.go
│ └── zone
│ │ ├── zone_data_source.go
│ │ ├── zone_data_source_model.go
│ │ ├── zone_resource.go
│ │ └── zone_resource_model.go
├── examples
│ ├── data-sources
│ │ ├── citrix_access_control_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_admin_folder
│ │ │ └── data-source.tf
│ │ ├── citrix_admin_permissions
│ │ │ └── data-source.tf
│ │ ├── citrix_admin_role
│ │ │ └── data-source.tf
│ │ ├── citrix_admin_scope
│ │ │ └── data-source.tf
│ │ ├── citrix_admin_user
│ │ │ └── data-source.tf
│ │ ├── citrix_application_folder_details
│ │ │ └── data-source.tf
│ │ ├── citrix_bearer_token
│ │ │ └── data-source.tf
│ │ ├── citrix_branch_repeater_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_client_ip_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_client_name_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_client_platform_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_cloud_google_identity_provider
│ │ │ └── data-source.tf
│ │ ├── citrix_cloud_okta_identity_provider
│ │ │ └── data-source.tf
│ │ ├── citrix_cloud_resource_location
│ │ │ └── data-source.tf
│ │ ├── citrix_cloud_saml_identity_provider
│ │ │ └── data-source.tf
│ │ ├── citrix_delivery_group
│ │ │ └── data-source.tf
│ │ ├── citrix_delivery_group_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_delivery_group_type_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_hypervisor
│ │ │ └── data-source.tf
│ │ ├── citrix_hypervisor_resource_pool
│ │ │ └── data-source.tf
│ │ ├── citrix_image_definition
│ │ │ └── data-source.tf
│ │ ├── citrix_image_version
│ │ │ └── data-source.tf
│ │ ├── citrix_machine_catalog
│ │ │ └── data-source.tf
│ │ ├── citrix_ou_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_policy
│ │ │ └── data-source.tf
│ │ ├── citrix_policy_filters
│ │ │ └── data-source.tf
│ │ ├── citrix_policy_priority
│ │ │ └── data-source.tf
│ │ ├── citrix_policy_set
│ │ │ └── data-source.tf
│ │ ├── citrix_policy_set_v2
│ │ │ └── data-source.tf
│ │ ├── citrix_policy_setting
│ │ │ └── data-source.tf
│ │ ├── citrix_pvs
│ │ │ └── data-source.tf
│ │ ├── citrix_quickcreate_aws_workspaces_account
│ │ │ └── data-source.tf
│ │ ├── citrix_quickcreate_aws_workspaces_cloudformation_template
│ │ │ └── data-source.tf
│ │ ├── citrix_quickcreate_aws_workspaces_deployment
│ │ │ └── data-source.tf
│ │ ├── citrix_quickcreate_aws_workspaces_directory_connection
│ │ │ └── data-source.tf
│ │ ├── citrix_quickcreate_aws_workspaces_image
│ │ │ └── data-source.tf
│ │ ├── citrix_quickdeploy_template_image
│ │ │ └── data-source.tf
│ │ ├── citrix_service_account
│ │ │ └── data-source.tf
│ │ ├── citrix_site
│ │ │ └── data-source.tf
│ │ ├── citrix_site_settings
│ │ │ └── data-source.tf
│ │ ├── citrix_stf_roaming_service
│ │ │ └── data-source.tf
│ │ ├── citrix_storefront_server
│ │ │ └── data-source.tf
│ │ ├── citrix_tag
│ │ │ └── data-source.tf
│ │ ├── citrix_tag_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_user_policy_filter
│ │ │ └── data-source.tf
│ │ ├── citrix_vda
│ │ │ └── data-source.tf
│ │ ├── citrix_wem_configuration_set
│ │ │ └── data-source.tf
│ │ └── citrix_zone
│ │ │ └── data-source.tf
│ ├── provider
│ │ └── provider.tf
│ └── resources
│ │ ├── citrix_access_control_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_admin_folder
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_admin_role
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_admin_scope
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_admin_user
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_application
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_application_group
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_application_icon
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_aws_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_aws_hypervisor_resource_pool
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_azure_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_azure_hypervisor_resource_pool
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_branch_repeater_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_client_ip_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_client_name_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_client_platform_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_cloud_admin_user
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_cloud_google_identity_provider
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_cloud_okta_identity_provider
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_cloud_resource_location
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_cloud_saml_identity_provider
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_delivery_group
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_delivery_group_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_delivery_group_type_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_desktop_icon
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_gac_discovery
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_gac_settings
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_gcp_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_gcp_hypervisor_resource_pool
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_hpe_moonshot_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_image_definition
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_image_version
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_machine_catalog
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_machine_properties
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_nutanix_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_nutanix_hypervisor_resource_pool
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_openshift_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_openshift_hypervisor_resource_pool
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_ou_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_policy
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_policy_priority
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_policy_set
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_policy_set_v2
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_policy_setting
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_quickcreate_aws_workspaces_account
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_quickcreate_aws_workspaces_deployment
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_quickcreate_aws_workspaces_directory_connection
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_quickcreate_aws_workspaces_image
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_quickdeploy_template_image
│ │ └── resource.tf
│ │ ├── citrix_remote_pc_wake_on_lan_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_scvmm_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_scvmm_hypervisor_resource_pool
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_service_account
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_site_backup_schedule
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_site_settings
│ │ └── resource.tf
│ │ ├── citrix_stf_authentication_service
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_stf_deployment
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_stf_store_service
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_stf_user_farm_mapping
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_stf_webreceiver_service
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_stf_xenapp_default_store
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_storefront_server
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_tag
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_tag_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_user_policy_filter
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_vsphere_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_vsphere_hypervisor_resource_pool
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_wem_configuration_set
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_wem_directory_object
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_xenserver_hypervisor
│ │ ├── import.sh
│ │ └── resource.tf
│ │ ├── citrix_xenserver_hypervisor_resource_pool
│ │ ├── import.sh
│ │ └── resource.tf
│ │ └── citrix_zone
│ │ ├── import.sh
│ │ └── resource.tf
├── middleware
│ └── middleware.go
├── provider
│ └── provider.go
├── quickcreate
│ ├── qcs_account
│ │ ├── aws_workspaces_account_data_source.go
│ │ ├── aws_workspaces_account_data_source_model.go
│ │ ├── aws_workspaces_account_resource.go
│ │ ├── aws_workspaces_account_resource_model.go
│ │ ├── aws_workspaces_cloudformation_data_source.go
│ │ └── aws_workspaces_cloudformation_data_source_model.go
│ ├── qcs_connection
│ │ ├── aws_workspaces_directory_connection_data_source.go
│ │ ├── aws_workspaces_directory_connection_data_source_model.go
│ │ ├── aws_workspaces_directory_connection_resource.go
│ │ └── aws_workspaces_directory_connection_resource_model.go
│ ├── qcs_deployment
│ │ ├── aws_workspace_deployment_data_source.go
│ │ ├── aws_workspace_deployment_data_source_model.go
│ │ ├── aws_workspaces_deployment_resource.go
│ │ └── aws_workspaces_deployment_resource_model.go
│ └── qcs_image
│ │ ├── aws_workspaces_image_data_source.go
│ │ ├── aws_workspaces_image_data_source_model.go
│ │ ├── aws_workspaces_image_resource.go
│ │ └── aws_workspaces_image_resource_model.go
├── quickdeploy
│ └── cma_image
│ │ ├── template_image_data_source.go
│ │ ├── template_image_data_source_model.go
│ │ ├── template_image_resource.go
│ │ └── template_image_resource_model.go
├── storefront
│ ├── stf_authentication
│ │ ├── stf_authentication_service_resource.go
│ │ └── stf_authentication_service_resource_model.go
│ ├── stf_deployment
│ │ ├── stf_deployment_resource.go
│ │ └── stf_deployment_resource_model.go
│ ├── stf_multi_site
│ │ ├── stf_user_farm_mapping_resource.go
│ │ └── stf_user_farm_mapping_resource_model.go
│ ├── stf_roaming
│ │ ├── stf_roaming_service_data_source.go
│ │ └── stf_roaming_service_data_source_model.go
│ ├── stf_store
│ │ ├── stf_store_service_resource.go
│ │ ├── stf_store_service_resource_model.go
│ │ ├── stf_xenapp_default_store_resource.go
│ │ └── stf_xenapp_default_store_resource_model.go
│ └── stf_webreceiver
│ │ ├── stf_webreceiver_resource.go
│ │ └── stf_webreceiver_resource_model.go
├── test
│ ├── admin_folder_data_source_test.go
│ ├── admin_folder_resource_test.go
│ ├── admin_permissions_data_source_test.go
│ ├── admin_role_data_source_test.go
│ ├── admin_role_resource_test.go
│ ├── admin_scope_data_source_test.go
│ ├── admin_scope_resource_test.go
│ ├── admin_user_data_source_test.go
│ ├── admin_user_resource_test.go
│ ├── application_group_resource_test.go
│ ├── application_resource_test.go
│ ├── aws_workspaces_account_data_source_test.go
│ ├── aws_workspaces_account_resource_test.go
│ ├── aws_workspaces_cloudformation_template_test.go
│ ├── aws_workspaces_deployment_data_source_test.go
│ ├── aws_workspaces_deployment_resource_test.go
│ ├── aws_workspaces_directory_connection_data_source_test.go
│ ├── aws_workspaces_directory_connection_resource_test.go
│ ├── aws_workspaces_image_data_source_test.go
│ ├── aws_workspaces_image_resource_test.go
│ ├── azure_mcs_suite_test.go
│ ├── bearer_token_data_source_test.go
│ ├── cloud_google_identity_provider_data_source_test.go
│ ├── cloud_google_identity_provider_resource_test.go
│ ├── cloud_okta_identity_provider_data_source_test.go
│ ├── cloud_okta_identity_provider_resource_test.go
│ ├── cloud_saml_identity_provider_data_source_test.go
│ ├── cloud_saml_identity_provider_resource_test.go
│ ├── common.go
│ ├── delivery_group_data_source_test.go
│ ├── delivery_group_test.go
│ ├── desktop_icon_resource_test.go
│ ├── gac_discovery_resource_test.go
│ ├── gac_settings_resource_test.go
│ ├── hypervisor_data_source_test.go
│ ├── hypervisor_resource_pool_data_source_test.go
│ ├── hypervisor_resource_pool_test.go
│ ├── hypervisor_resource_test.go
│ ├── image_definition_data_source_test.go
│ ├── image_definition_resource_test.go
│ ├── image_version_data_source_test.go
│ ├── image_version_resource_test.go
│ ├── machine_catalog_data_source_test.go
│ ├── machine_catalog_pvs_datasource_test.go
│ ├── machine_catalog_resource_pvs_test.go
│ ├── machine_catalog_resource_test.go
│ ├── machine_properties_resource_test.go
│ ├── policy_data_source_test.go
│ ├── policy_filter_data_source_test.go
│ ├── policy_filters_data_source_test.go
│ ├── policy_filters_resource_test.go
│ ├── policy_priority_data_source_test.go
│ ├── policy_priority_resource_test.go
│ ├── policy_resource_test.go
│ ├── policy_set_data_source_test.go
│ ├── policy_set_resource_test.go
│ ├── policy_set_v2_data_source_test.go
│ ├── policy_set_v2_resource_test.go
│ ├── policy_setting_data_source_test.go
│ ├── policy_setting_resource_test.go
│ ├── provider_test.go
│ ├── resource_locations_data_source_test.go
│ ├── resource_locations_resource_test.go
│ ├── service_account_resource_test.go
│ ├── site_data_source_test.go
│ ├── site_settings_data_source_test.go
│ ├── site_settings_resource_test.go
│ ├── stf_authentication_service_resource_test.go
│ ├── stf_deployment_resource_test.go
│ ├── stf_roaming_service_data_source_test.go
│ ├── stf_store_service_resource_test.go
│ ├── stf_user_farm_mapping_resource_test.go
│ ├── stf_webreceiver_service_resource_test.go
│ ├── stf_xenapp_default_store_resource_test.go
│ ├── storefront_server_data_source_test.go
│ ├── sweeper_test.go
│ ├── tag_data_source_test.go
│ ├── tag_resource_test.go
│ ├── template_image_resource_test.go
│ ├── vda_data_source_test.go
│ ├── wem_directory_object_resource_test.go
│ ├── wem_site_service_data_source_test.go
│ ├── wem_site_service_resource_test.go
│ ├── zone_data_source_test.go
│ └── zone_resource_test.go
├── util
│ ├── cma_regions.go
│ ├── common.go
│ ├── enums.go
│ ├── image.go
│ ├── name-value-string-pair.go
│ ├── policy_common.go
│ ├── resource.go
│ ├── timeouts.go
│ └── types.go
├── validators
│ ├── also_requires_on_values_validator.go
│ ├── also_requires_on_values_validator_example_test.go
│ ├── also_requires_one_of_on_values_validator.go
│ ├── also_requires_one_of_on_values_validator_example_test.go
│ ├── conflicts_with_on_values_validator.go
│ ├── conflicts_with_on_values_validator_example_test.go
│ ├── ip_filter_validator.go
│ ├── ip_filter_validator_example_test.go
│ └── ip_filter_validator_test.go
└── wem
│ ├── wem_machine_ad_object
│ ├── wem_directory_object_resource.go
│ ├── wem_directory_object_resource_model.go
│ └── wem_directory_object_utils.go
│ └── wem_site
│ ├── wem_site_service_data_source.go
│ ├── wem_site_service_data_source_model.go
│ ├── wem_site_service_resource.go
│ ├── wem_site_service_resource_model.go
│ └── wem_site_service_utils.go
├── main.go
├── scripts
├── config-drift-notifier
│ ├── README.md
│ └── config-drift.ps1
├── object-ids-helper
│ ├── README.md
│ └── cvad-object-ids.ps1
├── onboarding-helper
│ ├── README.md
│ ├── images
│ │ └── Onboarding Automation Workflow.png
│ ├── terraform-onboarding.ps1
│ └── terraform.tf
├── storefront-onboarding-helper
│ ├── README.md
│ ├── storefront-terraform-onboarding.ps1
│ └── terraform.tf
└── test-env-power-management
│ └── azure_env.ps1
├── settings.cloud.example.json
├── settings.onprem.example.json
├── templates
├── data-sources.md.tmpl
├── index.md.tmpl
├── resources.md.tmpl
└── resources
│ ├── application_icon.md.tmpl
│ ├── desktop_icon.md.tmpl
│ ├── gac_settings.md.tmpl
│ ├── policy_set.md.tmpl
│ └── zone.md.tmpl
├── terraform-registry-manifest.json
└── tools
└── tools.go
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for the Citrix Terraform Provider
4 | title: "[Feature]"
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
12 | ## Describe the feature request
13 |
14 | **Summary:**
15 |
16 | **Is this an enhancement to an existing resource or data source, if so which one?**
17 |
18 | **If this is a new resource or data source describe what it should do.**
19 |
20 | **Link to any docs that cover this feature:**
21 |
22 |
23 | **Link to any APIs that cover this feature:**
24 |
25 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | # Terraform Provider release workflow.
2 | name: Release
3 |
4 | # This GitHub action creates a release when a tag that matches the pattern
5 | # "v*" (e.g. v0.1.0) is created.
6 | on:
7 | push:
8 | tags:
9 | - 'v*'
10 |
11 | # Releases need permissions to read and write the repository contents.
12 | # GitHub considers creating releases and uploading assets as writing contents.
13 | permissions:
14 | contents: write
15 |
16 | jobs:
17 | goreleaser:
18 | runs-on: ubuntu-latest
19 | steps:
20 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
21 | with:
22 | # Allow goreleaser to access older tag information.
23 | fetch-depth: 0
24 | - uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
25 | with:
26 | go-version-file: 'go.mod'
27 | cache: true
28 | - name: Import GPG key
29 | uses: crazy-max/ghaction-import-gpg@e89d40939c28e39f97cf32126055eeae86ba74ec # v6.3.0
30 | id: import_gpg
31 | with:
32 | gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
33 | passphrase: ${{ secrets.PASSPHRASE }}
34 | - name: Run GoReleaser
35 | uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6.3.0
36 | with:
37 | args: release --clean
38 | env:
39 | # GitHub sets the GITHUB_TOKEN secret automatically.
40 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41 | GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Terraform plugin framework .gitignore
2 |
3 | *.exe
4 |
5 | # VSCode .gitignore
6 |
7 | .vscode/*
8 |
--------------------------------------------------------------------------------
/.golangci.yml:
--------------------------------------------------------------------------------
1 | version: "2"
2 | linters:
3 | default: none
4 | enable:
5 | - copyloopvar
6 | - durationcheck
7 | - errcheck
8 | - forcetypeassert
9 | - godot
10 | - ineffassign
11 | - makezero
12 | - misspell
13 | - nilerr
14 | - predeclared
15 | - staticcheck
16 | - unconvert
17 | - unparam
18 | - unused
19 | - usetesting
20 | exclusions:
21 | generated: lax
22 | presets:
23 | - comments
24 | - common-false-positives
25 | - legacy
26 | - std-error-handling
27 | paths:
28 | - third_party$
29 | - builtin$
30 | - examples$
31 | issues:
32 | max-issues-per-linter: 0
33 | max-same-issues: 0
34 | formatters:
35 | enable:
36 | - gofmt
37 | exclusions:
38 | generated: lax
39 | paths:
40 | - third_party$
41 | - builtin$
42 | - examples$
43 |
--------------------------------------------------------------------------------
/ctx_metadata.yaml:
--------------------------------------------------------------------------------
1 | owner: zhuolunl
2 | pipeline:
3 | citool: ''
4 | releaseBranch: ''
5 | sonarqube: null
6 | productionUse: CustomerCurrent
7 | repoType: Other
8 | reporting:
9 | product: CVAD
10 | teamname: cvad-team-radhe
11 |
--------------------------------------------------------------------------------
/docs/data-sources/access_control_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_access_control_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Access Control Policy Filter.
7 | ---
8 |
9 | # citrix_access_control_policy_filter (Data Source)
10 |
11 | Data source of an instance of the Access Control Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_access_control_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the access control policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `condition` (String) Gateway condition for the policy filter.
32 | - `connection_type` (String) Gateway connection for the policy filter.
33 | - `enabled` (Boolean) Indicate whether the filter is being enabled.
34 | - `gateway` (String) Gateway for the policy filter.
35 | - `policy_id` (String) Id of the policy to which the filter belongs.
--------------------------------------------------------------------------------
/docs/data-sources/admin_folder.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_admin_folder Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source to get details regarding a specific admin folder.
7 | ---
8 |
9 | # citrix_admin_folder (Data Source)
10 |
11 | Data source to get details regarding a specific admin folder.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Admin Folder resource by id
17 | data "citrix_admin_folder" "test_admin_folder_data_source_with_id" {
18 | id = "0"
19 | }
20 |
21 | # Get Admin Folder resource by path
22 | data "citrix_admin_folder" "test_admin_folder_data_source_with_path" {
23 | path = "test123\\"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) Identifier of the admin folder.
33 | - `path` (String) Path to the admin folder.
34 |
35 | ### Read-Only
36 |
37 | - `name` (String) Name of the admin folder.
38 | - `parent_path` (String) Path of the parent admin folder.
39 | - `total_application_groups` (Number) Number of application groups contained in the admin folder.
40 | - `total_applications` (Number) Number of applications contained in the admin folder.
41 | - `total_delivery_groups` (Number) Number of delivery groups contained in the admin folder.
42 | - `total_machine_catalogs` (Number) Number of machine catalogs contained in the admin folder.
43 | - `type` (Set of String) Set of types of the admin folder.
--------------------------------------------------------------------------------
/docs/data-sources/admin_scope.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_admin_scope Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source to get details regarding a specific Administrator scope.
7 | ---
8 |
9 | # citrix_admin_scope (Data Source)
10 |
11 | Data source to get details regarding a specific Administrator scope.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Admin Scope resource by name
17 | data "citrix_admin_scope" "test_scope_by_name" {
18 | name = "All"
19 | }
20 |
21 | # Get Admin Scope resource by id
22 | data "citrix_admin_scope" "test_scope_by_id" {
23 | id = "00000000-0000-0000-0000-000000000000"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) ID of the Admin Scope.
33 | - `name` (String) Name of the Admin Scope. For `tenant` scope please use `tenant customer Id` for this field.
34 |
35 | ### Read-Only
36 |
37 | - `description` (String) Description of the Admin Scope.
38 | - `is_all_scope` (Boolean) Indicates whether the Admin Scope is all scope or not.
39 | - `is_built_in` (Boolean) Indicates whether the Admin Scope is built-in or not.
40 | - `is_tenant_scope` (Boolean) Indicates whether the Admin Scope is tenant scope or not.
41 | - `tenant_id` (String) ID of the tenant to which the Admin Scope belongs.
42 | - `tenant_name` (String) Name of the tenant to which the Admin Scope belongs.
--------------------------------------------------------------------------------
/docs/data-sources/admin_user.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_admin_user Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an administrator user for on-premise environment.
7 | ---
8 |
9 | # citrix_admin_user (Data Source)
10 |
11 | Data source of an administrator user for on-premise environment.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Admin Scope resource by id
17 | data "citrix_admin_user" "example_admin_user" {
18 | id = "00000000-0000-0000-0000-000000000000"
19 | }
20 | ```
21 |
22 |
23 | ## Schema
24 |
25 | ### Required
26 |
27 | - `id` (String) ID of the admin user.
28 |
29 | ### Read-Only
30 |
31 | - `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.
32 | - `is_enabled` (Boolean) Flag to determine if the administrator is to be enabled or not.
33 | - `name` (String) Name of an existing user in the active directory.
34 | - `rights` (Attributes List) Rights to be associated with the admin user. (see [below for nested schema](#nestedatt--rights))
35 |
36 |
37 | ### Nested Schema for `rights`
38 |
39 | Read-Only:
40 |
41 | - `role` (String) Name of the role to be associated with the admin user.
42 | - `scope` (String) Name of the scope to be associated with the admin user.
--------------------------------------------------------------------------------
/docs/data-sources/bearer_token.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_bearer_token Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source to get bearer token.
7 | ---
8 |
9 | # citrix_bearer_token (Data Source)
10 |
11 | Data source to get bearer token.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Bearer token can be fetched with the citrix_bearer_token data source.
17 | data "citrix_bearer_token" "example_bearer_token" {}
18 |
19 | # The bearer token can then be output with terraform. `sensitive = true` is required for outputing sensitive data.
20 | output "example_bearer_token_output" {
21 | value = data.citrix_bearer_token.example_bearer_token.bearer_token
22 | sensitive = true
23 | }
24 | ```
25 |
26 |
27 | ## Schema
28 |
29 | ### Read-Only
30 |
31 | - `bearer_token` (String, Sensitive) Value of the bearer token.
--------------------------------------------------------------------------------
/docs/data-sources/branch_repeater_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_branch_repeater_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Branch Repeater Policy Filter.
7 | ---
8 |
9 | # citrix_branch_repeater_policy_filter (Data Source)
10 |
11 | Data source of an instance of the Branch Repeater Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_branch_repeater_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the branch repeater policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `policy_id` (String) Id of the policy to which the filter belongs.
--------------------------------------------------------------------------------
/docs/data-sources/client_ip_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_client_ip_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Client IP Policy Filter.
7 | ---
8 |
9 | # citrix_client_ip_policy_filter (Data Source)
10 |
11 | Data source of an instance of the Client IP Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_client_ip_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the client ip policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `enabled` (Boolean) Indicate whether the filter is being enabled.
32 | - `ip_address` (String) IP Address of the client to be filtered.
33 | - `policy_id` (String) Id of the policy to which the filter belongs.
--------------------------------------------------------------------------------
/docs/data-sources/client_name_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_client_name_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Client Name Policy Filter.
7 | ---
8 |
9 | # citrix_client_name_policy_filter (Data Source)
10 |
11 | Data source of an instance of the Client Name Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_client_name_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the client name policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `client_name` (String) Name of the client to be filtered.
32 | - `enabled` (Boolean) Indicate whether the filter is being enabled.
33 | - `policy_id` (String) Id of the policy to which the filter belongs.
--------------------------------------------------------------------------------
/docs/data-sources/client_platform_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_client_platform_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Client Platform Policy Filter.
7 | ---
8 |
9 | # citrix_client_platform_policy_filter (Data Source)
10 |
11 | Data source of an instance of the Client Platform Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_client_platform_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the client platform policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `enabled` (Boolean) Indicate whether the filter is being enabled.
32 | - `platform` (String) Name of the client platform to be filtered. Available values are `Windows`, `Linux`, `Mac`, `Ios`, `Android`, and `Html5`.
33 | - `policy_id` (String) Id of the policy to which the filter belongs.
--------------------------------------------------------------------------------
/docs/data-sources/cloud_google_identity_provider.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_cloud_google_identity_provider Data Source - citrix"
4 | subcategory: "Citrix Cloud"
5 | description: |-
6 | Data Source of a Citrix Cloud Google Cloud Identity Provider instance. Note that this feature is in Tech Preview.
7 | ---
8 |
9 | # citrix_cloud_google_identity_provider (Data Source)
10 |
11 | Data Source of a Citrix Cloud Google Cloud Identity Provider instance. Note that this feature is in Tech Preview.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Citrix Cloud Google Identity Provider data source by ID
17 | data "citrix_cloud_google_identity_provider" "example_google_identity_provider" {
18 | id = "00000000-0000-0000-0000-000000000000"
19 | }
20 |
21 | # Get Citrix Cloud Google Identity Provider data source by name
22 | data "citrix_cloud_google_identity_provider" "example_google_identity_provider" {
23 | name = "exampleGoogleIdentityProvider"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) ID of the Citrix Cloud Google Cloud Identity Provider instance.
33 | - `name` (String) Name of the Citrix Cloud Google Cloud Identity Provider instance.
34 |
35 | ### Read-Only
36 |
37 | - `auth_domain_name` (String) User authentication domain name for Google Cloud Identity Provider.
38 | - `google_customer_id` (String) Customer ID of the configured Google Cloud Identity Provider.
39 | - `google_domain` (String) Domain of the configured Google Cloud Identity Provider.
--------------------------------------------------------------------------------
/docs/data-sources/cloud_okta_identity_provider.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_cloud_okta_identity_provider Data Source - citrix"
4 | subcategory: "Citrix Cloud"
5 | description: |-
6 | Data source of a Citrix Cloud Okta Identity Provider instance. Note that this feature is in Tech Preview.
7 | ---
8 |
9 | # citrix_cloud_okta_identity_provider (Data Source)
10 |
11 | Data source of a Citrix Cloud Okta Identity Provider instance. Note that this feature is in Tech Preview.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Citrix Cloud Identity Provider data source by ID
17 | data "citrix_cloud_okta_identity_provider" "example_okta_identity_provider" {
18 | id = "00000000-0000-0000-0000-000000000000"
19 | }
20 |
21 | # Get Citrix Cloud Identity Provider data source by name
22 | data "citrix_cloud_okta_identity_provider" "example_okta_identity_provider" {
23 | name = "exampleOktaIdentityProvider"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) ID of the Citrix Cloud Identity Provider instance.
33 | - `name` (String) Name of the Citrix Cloud Identity Provider instance.
34 |
35 | ### Read-Only
36 |
37 | - `okta_api_token` (String) Okta API token for configuring Okta Identity Provider.
38 | - `okta_client_id` (String) ID of the Okta client for configuring Okta Identity Provider.
39 | - `okta_client_secret` (String) Secret of the Okta client for configuring Okta Identity Provider.
40 | - `okta_domain` (String) Okta domain name for configuring Okta Identity Provider.
--------------------------------------------------------------------------------
/docs/data-sources/cloud_resource_location.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_cloud_resource_location Data Source - citrix"
4 | subcategory: "Citrix Cloud"
5 | description: |-
6 | Read data of an existing resource location.
7 | ---
8 |
9 | # citrix_cloud_resource_location (Data Source)
10 |
11 | Read data of an existing resource location.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Resource Location resource by name
17 | data "citrix_cloud_resource_location" "example-resource-location" {
18 | name = "example-resource-location"
19 | }
20 | ```
21 |
22 |
23 | ## Schema
24 |
25 | ### Required
26 |
27 | - `name` (String) Name of the resource location.
28 |
29 | ### Read-Only
30 |
31 | - `id` (String) ID of the resource location.
32 | - `internal_only` (Boolean) Flag to determine if the resource location can only be used internally. Defaults to `false`.
33 | - `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.
--------------------------------------------------------------------------------
/docs/data-sources/delivery_group_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_delivery_group_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Delivery Group Policy Filter.
7 | ---
8 |
9 | # citrix_delivery_group_policy_filter (Data Source)
10 |
11 | Data source of an instance of the Delivery Group Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_delivery_group_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the delivery group policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `delivery_group_id` (String) Id of the delivery group to be filtered.
32 | - `enabled` (Boolean) Indicate whether the filter is being enabled.
33 | - `policy_id` (String) Id of the policy to which the filter belongs.
--------------------------------------------------------------------------------
/docs/data-sources/delivery_group_type_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_delivery_group_type_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Delivery Group Type Policy Filter.
7 | ---
8 |
9 | # citrix_delivery_group_type_policy_filter (Data Source)
10 |
11 | Data source of an instance of the Delivery Group Type Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_delivery_group_type_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the delivery group type policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `delivery_group_type` (String) Id of the delivery group to be filtered.
32 | - `enabled` (Boolean) Indicate whether the filter is being enabled.
33 | - `policy_id` (String) Id of the policy to which the filter belongs.
--------------------------------------------------------------------------------
/docs/data-sources/hypervisor.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_hypervisor Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Read data of an existing hypervisor.
7 | ---
8 |
9 | # citrix_hypervisor (Data Source)
10 |
11 | Read data of an existing hypervisor.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Hypervisor resource of any connection type by name
17 | data "citrix_hypervisor" "azure-hypervisor" {
18 | name = "azure-hyperv"
19 | }
20 |
21 | # Get Hypervisor resource of any connection type by id
22 | data "citrix_hypervisor" "azure-hypervisor" {
23 | id = "00000000-0000-0000-0000-000000000000"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) GUID identifier of the hypervisor.
33 | - `name` (String) Name of the hypervisor.
34 |
35 | ### Read-Only
36 |
37 | - `tenants` (Set of String) A set of identifiers of tenants to associate with the hypervisor connection.
--------------------------------------------------------------------------------
/docs/data-sources/hypervisor_resource_pool.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_hypervisor_resource_pool Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Read data of an existing hypervisor resource pool.
7 | ---
8 |
9 | # citrix_hypervisor_resource_pool (Data Source)
10 |
11 | Read data of an existing hypervisor resource pool.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Hypervisor Resource Pool of any connection type resource by name and the hypervisor name it belongs to
17 | data "citrix_hypervisor_resource_pool" "azure-resource-pool" {
18 | name = "azure-rp"
19 | hypervisor_name = "azure-hyperv"
20 | }
21 |
22 | # Get Hypervisor Resource Pool of any connection type resource by id and the hypervisor name it belongs to
23 | data "citrix_hypervisor_resource_pool" "azure-resource-pool" {
24 | id = "00000000-0000-0000-0000-000000000000"
25 | hypervisor_name = "azure-hyperv"
26 | }
27 | ```
28 |
29 |
30 | ## Schema
31 |
32 | ### Required
33 |
34 | - `hypervisor_name` (String) Name of the hypervisor to which the resource pool belongs.
35 |
36 | ### Optional
37 |
38 | - `id` (String) GUID identifier of the hypervisor resource pool.
39 | - `name` (String) Name of the hypervisor resource pool.
40 |
41 | ### Read-Only
42 |
43 | - `networks` (List of String) Networks available in the hypervisor resource pool.
--------------------------------------------------------------------------------
/docs/data-sources/ou_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_ou_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Organizational Unit Policy Filter.
7 | ---
8 |
9 | # citrix_ou_policy_filter (Data Source)
10 |
11 | Data source of an instance of the Organizational Unit Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_ou_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the organizational unit policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `enabled` (Boolean) Indicate whether the filter is being enabled.
32 | - `ou` (String) Organizational Unit to be filtered.
33 | - `policy_id` (String) Id of the policy to which the filter belongs.
--------------------------------------------------------------------------------
/docs/data-sources/policy.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_policy Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Policy.
7 | ~> Please Note Each policy can only associate with one policy set. The policy will be created in the default policy set if the policy is not referenced in any of the policy_ids of the citrix_policy_set_v2 resource.
8 | ---
9 |
10 | # citrix_policy (Data Source)
11 |
12 | Data source of an instance of the Policy.
13 |
14 | ~> **Please Note** Each policy can only associate with one policy set. The policy will be created in the default policy set if the policy is not referenced in any of the `policy_ids` of the `citrix_policy_set_v2` resource.
15 |
16 | ## Example Usage
17 |
18 | ```terraform
19 | # Get Policy data source by id
20 | data "citrix_policy" "example_policy_data_source_with_id" {
21 | id = "00000000-0000-0000-0000-000000000000"
22 | }
23 |
24 | # Get Policy data source by name and policy set id
25 | data "citrix_policy" "example_policy_data_source_with_name" {
26 | policy_set_id = "00000000-0000-0000-0000-000000000000"
27 | name = "example-policy-set"
28 | }
29 | ```
30 |
31 |
32 | ## Schema
33 |
34 | ### Optional
35 |
36 | - `id` (String) Id of the policy.
37 | - `name` (String) Name of the policy.
38 | - `policy_set_id` (String) Id of the policy set the policy belongs to.
39 |
40 | ### Read-Only
41 |
42 | - `description` (String) Description of the policy.
43 | - `enabled` (Boolean) Indicate whether the policy is being enabled.
--------------------------------------------------------------------------------
/docs/data-sources/policy_priority.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_policy_priority Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of the policy priorities within a policy set.
7 | ---
8 |
9 | # citrix_policy_priority (Data Source)
10 |
11 | Data source of the policy priorities within a policy set.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Policy Priority data source by policy_set_id
17 | data "citrix_policy_priority" "example_policy_priority_data_source_with_policy_set_id" {
18 | policy_set_id = "00000000-0000-0000-0000-000000000000"
19 | }
20 |
21 | # Get Policy Priority data source by policy_set_name
22 | data "citrix_policy" "example_policy_data_source_with_name" {
23 | policy_set_name = "example-policy-set"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `policy_set_id` (String) GUID identifier of the policy set.
33 | - `policy_set_name` (String) Name of the policy set.
34 |
35 | ### Read-Only
36 |
37 | - `policy_names` (List of String) Ordered list of policy names.
38 |
39 | -> **Note** The order of policy names in the list reflects the priority of the policies.
40 | - `policy_priority` (List of String) Ordered list of policy IDs.
41 |
42 | -> **Note** The order of policy IDs in the list determines the priority of the policies.
--------------------------------------------------------------------------------
/docs/data-sources/policy_set_v2.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_policy_set_v2 Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of a policy set and the policies within it. The order of the policies specified in this resource reflect the policy priority.
7 | ---
8 |
9 | # citrix_policy_set_v2 (Data Source)
10 |
11 | Data source of a policy set and the policies within it. The order of the policies specified in this resource reflect the policy priority.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Policy Set data source by id
17 | data "citrix_policy_set_v2" "example_policy_set_v2_data_source_with_id" {
18 | id = "00000000-0000-0000-0000-000000000000"
19 | }
20 |
21 | # Get Policy Set data source by name
22 | data "citrix_policy_set_v2" "example_policy_set_v2_data_source_with_name" {
23 | name = "example-policy-set-v2"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) GUID identifier of the policy set.
33 | - `name` (String) Name of the policy set.
34 |
35 | ### Read-Only
36 |
37 | - `assigned` (Boolean) Indicate whether the policy set is being assigned to delivery groups.
38 | - `delivery_groups` (Set of String) The IDs of the delivery groups for the policy set to apply on.
39 | - `description` (String) Description of the policy set.
40 | - `scopes` (Set of String) The IDs of the scopes for the policy set to be a part of.
--------------------------------------------------------------------------------
/docs/data-sources/policy_setting.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_policy_setting Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of a policy setting.
7 | ---
8 |
9 | # citrix_policy_setting (Data Source)
10 |
11 | Data source of a policy setting.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Policy Setting data source by id
17 | data "citrix_policy_setting" "example_policy_setting_data_source_with_id" {
18 | id = "00000000-0000-0000-0000-000000000000"
19 | }
20 |
21 | # Get Policy data source by name and policy set id
22 | data "citrix_policy_setting" "example_policy_setting_data_source_with_name" {
23 | policy_id = "00000000-0000-0000-0000-000000000000"
24 | name = "AdvanceWarningPeriod"
25 | }
26 | ```
27 |
28 |
29 | ## Schema
30 |
31 | ### Optional
32 |
33 | - `id` (String) Id of the policy setting.
34 | - `name` (String) Name of the policy setting.
35 | - `policy_id` (String) Id of the policy to which the setting belongs.
36 |
37 | ### Read-Only
38 |
39 | - `enabled` (Boolean) Whether of the policy setting has enabled or allowed value.
40 | - `use_default` (Boolean) Indicate whether using default value for the policy setting.
41 | - `value` (String) Value of the policy setting.
--------------------------------------------------------------------------------
/docs/data-sources/pvs.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_pvs Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | PVS Configuration to create machine catalog using PVSStreaming.
7 | ---
8 |
9 | # citrix_pvs (Data Source)
10 |
11 | PVS Configuration to create machine catalog using PVSStreaming.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_pvs" "example_pvs_config" {
17 | pvs_farm_name = "test-farm"
18 | pvs_site_name = "test-site"
19 | pvs_store_name = "test-store"
20 | pvs_vdisk_name = "test-vdisk"
21 | }
22 | ```
23 |
24 |
25 | ## Schema
26 |
27 | ### Required
28 |
29 | - `pvs_farm_name` (String) Name of the PVS farm.
30 | - `pvs_site_name` (String) Name of the PVS site.
31 | - `pvs_store_name` (String) Name of the PVS store.
32 | - `pvs_vdisk_name` (String) Name of the PVS vDisk.
33 |
34 | ### Read-Only
35 |
36 | - `pvs_site_id` (String) Id of the PVS site.
37 | - `pvs_vdisk_id` (String) Id of the PVS vDisk.
--------------------------------------------------------------------------------
/docs/data-sources/quickcreate_aws_workspaces_account.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_quickcreate_aws_workspaces_account Data Source - citrix"
4 | subcategory: "DaaS Quick Deploy - AWS WorkSpaces Core"
5 | description: |-
6 | Data source to get details of an AWS WorkSpaces account.
7 | ---
8 |
9 | # citrix_quickcreate_aws_workspaces_account (Data Source)
10 |
11 | Data source to get details of an AWS WorkSpaces account.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get details of a Citrix QuickCreate AWS WorkSpaces Account using the account GUID
17 | data "citrix_quickcreate_aws_workspaces_account" "example-account" {
18 | id = "00000000-0000-0000-0000-000000000000"
19 | }
20 |
21 | # Get details of a Citrix QuickCreate AWS WorkSpaces Account using the account name
22 | data "citrix_quickcreate_aws_workspaces_account" "example-account" {
23 | name = "exampleAccountName"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) GUID identifier of the account.
33 | - `name` (String) Name of the account.
34 |
35 | ### Read-Only
36 |
37 | - `aws_account` (String) AWS account number associated with the account.
38 | - `aws_byol_feature_enabled` (Boolean) Indicates if the associated AWS EDC account has BYOL support enabled.
39 | - `aws_region` (String) AWS region the account is associated with.
--------------------------------------------------------------------------------
/docs/data-sources/quickcreate_aws_workspaces_deployment.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_quickcreate_aws_workspaces_deployment Data Source - citrix"
4 | subcategory: "DaaS Quick Deploy - AWS WorkSpaces Core"
5 | description: |-
6 | Data source to get details of an AWS WorkSpaces deployment.
7 | ---
8 |
9 | # citrix_quickcreate_aws_workspaces_deployment (Data Source)
10 |
11 | Data source to get details of an AWS WorkSpaces deployment.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get details of a Citrix QuickCreate AWS WorkSpaces Deployment using deployment id
17 | data "citrix_quickcreate_aws_workspaces_deployment" "example-deployment" {
18 | id = "00000000-0000-0000-0000-000000000000"
19 | }
20 |
21 | # Get details of a Citrix QuickCreate AWS WorkSpaces Deployment using deployment name and account id
22 | data "citrix_quickcreate_aws_workspaces_deployment" "example-deployment" {
23 | account_id = citrix_quickcreate_aws_workspaces_account.example_aws_workspaces_account_role_arn.id
24 | name = "exampleDeploymentName"
25 | }
26 | ```
27 |
28 |
29 | ## Schema
30 |
31 | ### Optional
32 |
33 | - `account_id` (String) GUID of the account.
34 | - `id` (String) GUID identifier of the deployment.
35 | - `name` (String) Name of the deployment.
36 |
37 | ### Read-Only
38 |
39 | - `directory_connection_id` (String) GUID of the directory connection.
40 | - `image_id` (String) GUID of the image.
--------------------------------------------------------------------------------
/docs/data-sources/quickdeploy_template_image.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_quickdeploy_template_image Data Source - citrix"
4 | subcategory: "DaaS Quick Deploy - Citrix Managed Azure"
5 | description: |-
6 | Data Source of an Citrix Managed Azure image.
7 | ---
8 |
9 | # citrix_quickdeploy_template_image (Data Source)
10 |
11 | Data Source of an Citrix Managed Azure image.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get details of a Citrix QuickDeploy Template Image with image name
17 | data "citrix_quickdeploy_template_image" "example_template_image" {
18 | name = "example-image-name"
19 | }
20 | ```
21 |
22 |
23 | ## Schema
24 |
25 | ### Required
26 |
27 | - `name` (String) Name of the image.
28 |
29 | ### Read-Only
30 |
31 | - `id` (String) GUID identifier of the image.
32 | - `machine_generation` (String) The generation of the virtual machine this image will be used to create.
33 | - `notes` (String) Notes of the image.
34 | - `os_platform` (String) The OS platform of the image.
35 | - `region` (String) The Azure region the image was imported to.
36 | - `secure_boot_enabled` (Boolean) Indicates whether the image supports Secure Boot.
37 | - `state` (String) State of the image.
38 | - `subscription_name` (String) The name of the Citrix Managed Azure subscription the image was imported to.
39 | - `vtpm_enabled` (Boolean) Indicates whether the image supports vTPM TrustedLaunch.
--------------------------------------------------------------------------------
/docs/data-sources/service_account.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_service_account Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source to get details for a service account.
7 | ---
8 |
9 | # citrix_service_account (Data Source)
10 |
11 | Data source to get details for a service account.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data citrix_service_account example-azuread-service-account {
17 | account_id = ""
18 | }
19 |
20 | data citrix_service_account example-ad-service-account {
21 | account_id = "domain\\admin" # Admin user name
22 | }
23 | ```
24 |
25 |
26 | ## Schema
27 |
28 | ### Required
29 |
30 | - `account_id` (String) The account ID of the service account.
31 |
32 | -> **Note** For Active Directory, this is the username. Username should be in `domain\username` format. For AzureAD, this is the application ID. The account ID must be in lowercase.
33 |
34 | ### Read-Only
35 |
36 | - `display_name` (String) Display name of the service account.
37 | - `id` (String) GUID identifier of the service account.
--------------------------------------------------------------------------------
/docs/data-sources/site.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_site Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source to get site information.
7 | ---
8 |
9 | # citrix_site (Data Source)
10 |
11 | Data source to get site information.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Site information can be fetched with the citrix_site data source.
17 | data "citrix_site" "example_citrix_site" {}
18 | ```
19 |
20 |
21 | ## Schema
22 |
23 | ### Read-Only
24 |
25 | - `customer_id` (String) ID of the customer the site belongs to.
26 | - `is_citrix_service_provider` (Boolean) Indicates whether the site belongs to a Citrix Service Provider.
27 | - `is_on_premises` (Boolean) Indicates whether the site is an On Premises site.
28 | - `orchestration_api_version` (Number) Version of the Orchestration Service API.
29 | - `product_version` (String) Version of the product.
30 | - `site_id` (String) ID of the site.
--------------------------------------------------------------------------------
/docs/data-sources/stf_roaming_service.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_stf_roaming_service Data Source - citrix"
4 | subcategory: "StoreFront"
5 | description: |-
6 | Data source to get details regarding a specific StoreFront Roaming Service instance.
7 | ---
8 |
9 | # citrix_stf_roaming_service (Data Source)
10 |
11 | Data source to get details regarding a specific StoreFront Roaming Service instance.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get details of a Citrix StoreFront Roming Service by site_id
17 | data "citrix_hypervisor_resource_pool" "azure-resource-pool" {
18 | site_id = "1"
19 | }
20 | ```
21 |
22 |
23 | ## Schema
24 |
25 | ### Required
26 |
27 | - `site_id` (String) ID of the site where the StoreFront Roaming Service instance is created.
28 |
29 | ### Read-Only
30 |
31 | - `configuration_file` (String) Path of the configuration file of the StoreFront Roaming Service instance.
32 | - `feature_instance_id` (String) ID of the StoreFront Roaming Service feature instance.
33 | - `friendly_name` (String) Friendly name of the StoreFront Roaming Service instance.
34 | - `name` (String) Name of the StoreFront Roaming Service instance.
35 | - `physical_path` (String) Physical path of the StoreFront Roaming Service instance.
36 | - `tenant_id` (String) ID of the tenant to which the StoreFront Roaming Service instance belongs.
37 | - `virtual_path` (String) Virtual path of the StoreFront Roaming Service instance.
--------------------------------------------------------------------------------
/docs/data-sources/storefront_server.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_storefront_server Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of a StoreFront server.
7 | ---
8 |
9 | # citrix_storefront_server (Data Source)
10 |
11 | Data source of a StoreFront server.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get StoreFront Server data source by name
17 | data "citrix_storefront_server" "example_storefront_server_by_name" {
18 | name = "ExampleStoreFrontServer"
19 | }
20 |
21 | # Get StoreFront Server data source by id
22 | data "citrix_storefront_server" "example_storefront_server_by_id" {
23 | id = "00000000-0000-0000-0000-000000000000"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) GUID identifier of the StoreFront server.
33 | - `name` (String) Name of the StoreFront server.
34 |
35 | ### Read-Only
36 |
37 | - `description` (String) Description of the StoreFront server.
38 | - `enabled` (Boolean) Indicates if the StoreFront server is enabled. Default is `true`.
39 | - `url` (String) URL for connecting to the StoreFront server.
--------------------------------------------------------------------------------
/docs/data-sources/tag.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_tag Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of a tag.
7 | ---
8 |
9 | # citrix_tag (Data Source)
10 |
11 | Data source of a tag.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Tag detail by name
17 | data "citrix_tag" "example_tag_by_name" {
18 | name = "exampleTag"
19 | }
20 |
21 | # Get Tag detail by id
22 | data "citrix_tag" "example_tag_by_id" {
23 | id = "00000000-0000-0000-0000-000000000000"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) GUID identifier of the tag.
33 | - `name` (String) Name of the tag.
34 |
35 | ### Read-Only
36 |
37 | - `associated_application_count` (Number) Number of applications associated with the tag.
38 | - `associated_application_group_count` (Number) Number of application groups associated with the tag.
39 | - `associated_delivery_group_count` (Number) Number of delivery groups associated with the tag.
40 | - `associated_machine_catalog_count` (Number) Number of machine catalogs associated with the tag.
41 | - `associated_machine_count` (Number) Number of machines associated with the tag.
42 | - `description` (String) Description of the tag.
43 | - `scopes` (Set of String)
--------------------------------------------------------------------------------
/docs/data-sources/tag_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_tag_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the Tag Policy Filter.
7 | ---
8 |
9 | # citrix_tag_policy_filter (Data Source)
10 |
11 | Data source of an instance of the Tag Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_tag_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the tag policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `enabled` (Boolean) Indicate whether the filter is being enabled.
32 | - `policy_id` (String) Id of the policy to which the filter belongs.
33 | - `tag` (String) ID of the tag to be filtered.
--------------------------------------------------------------------------------
/docs/data-sources/user_policy_filter.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_user_policy_filter Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Data source of an instance of the User Policy Filter.
7 | ---
8 |
9 | # citrix_user_policy_filter (Data Source)
10 |
11 | Data source of an instance of the User Policy Filter.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | data "citrix_user_policy_filter" "example_filter" {
17 | id = "00000000-0000-0000-0000-000000000000"
18 | }
19 | ```
20 |
21 |
22 | ## Schema
23 |
24 | ### Required
25 |
26 | - `id` (String) Id of the user policy filter.
27 |
28 | ### Read-Only
29 |
30 | - `allowed` (Boolean) Indicate the filtered policy is allowed or denied if the filter condition is met.
31 | - `enabled` (Boolean) Indicate whether the filter is being enabled.
32 | - `policy_id` (String) Id of the policy to which the filter belongs.
33 | - `sid` (String) SID of the user or user group to be filtered.
--------------------------------------------------------------------------------
/docs/data-sources/wem_configuration_set.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_wem_configuration_set Data Source - citrix"
4 | subcategory: "WEM"
5 | description: |-
6 | Data source to get details regarding a specific configuration set.
7 | ---
8 |
9 | # citrix_wem_configuration_set (Data Source)
10 |
11 | Data source to get details regarding a specific configuration set.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get WEM configuration set by id
17 | data "citrix_wem_configuration_set" "test_wem_configuration_set_by_id" {
18 | id = "1"
19 | }
20 |
21 | # Get WEM configuration set by name
22 | data "citrix_wem_configuration_set" "test_wem_configuration_set_by_name" {
23 | name = "Default Site"
24 | }
25 | ```
26 |
27 |
28 | ## Schema
29 |
30 | ### Optional
31 |
32 | - `id` (String) ID of the WEM configuration set.
33 | - `name` (String) Name of the configuration set.
34 |
35 | ### Read-Only
36 |
37 | - `description` (String) Description of the configuration set.
--------------------------------------------------------------------------------
/docs/data-sources/zone.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_zone Data Source - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Read data of an existing zone.
7 | ---
8 |
9 | # citrix_zone (Data Source)
10 |
11 | Read data of an existing zone.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | # Get Zone resource by name
17 | data "citrix_zone" "test_zone" {
18 | name = "zone-1"
19 | }
20 | ```
21 |
22 |
23 | ## Schema
24 |
25 | ### Required
26 |
27 | - `name` (String) Name of the zone.
28 |
29 | ### Read-Only
30 |
31 | - `id` (String) GUID identifier of the zone.
--------------------------------------------------------------------------------
/docs/resources/admin_scope.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_admin_scope Resource - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Manages an administrator scope.
7 | ---
8 |
9 | # citrix_admin_scope (Resource)
10 |
11 | Manages an administrator scope.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | resource "citrix_admin_scope" "example-admin-scope" {
17 | name = "example-admin-scope"
18 | description = "Example admin scope for delivery group and machine catalog"
19 | }
20 | ```
21 |
22 |
23 | ## Schema
24 |
25 | ### Required
26 |
27 | - `name` (String) Name of the admin scope.
28 |
29 | ### Optional
30 |
31 | - `description` (String) Description of the admin scope.
32 | - `is_tenant_scope` (Boolean) Indicates whether the admin scope is a tenant scope. Defaults to `false`.
33 |
34 | ### Read-Only
35 |
36 | - `id` (String) ID of the admin scope.
37 | - `is_all_scope` (Boolean) Indicates whether the Admin Scope is all scope or not.
38 | - `is_built_in` (Boolean) Indicates whether the Admin Scope is built-in or not.
39 | - `tenant_id` (String) ID of the tenant to which the Admin Scope belongs.
40 | - `tenant_name` (String) Name of the tenant to which the Admin Scope belongs.
41 |
42 | ## Import
43 |
44 | Import is supported using the following syntax:
45 |
46 | ```shell
47 | # Admin Scope can be imported by specifying the GUID
48 | terraform import citrix_admin_scope.example-admin-scope 00000000-0000-0000-0000-000000000000
49 | ```
--------------------------------------------------------------------------------
/docs/resources/gac_discovery.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_gac_discovery Resource - citrix"
4 | subcategory: "Citrix Cloud"
5 | description: |-
6 | Manages the Global App Configuration Discovery.
7 | ---
8 |
9 | # citrix_gac_discovery (Resource)
10 |
11 | Manages the Global App Configuration Discovery.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | resource "citrix_gac_discovery" "example-gac-discovery" {
17 | domain = "example-domain.com"
18 | service_urls = ["https://example.com:443", "https://example2.com:80"]
19 | allowed_web_store_urls = ["https://example.com", "https://example2.com"]
20 | }
21 | ```
22 |
23 |
24 | ## Schema
25 |
26 | ### Required
27 |
28 | - `domain` (String) Domain name of the discovery record. The domain must not contain uppercase letters.
29 | - `service_urls` (Set of String) The list of store URLs that are returned for email-based discovery. Each URL must end with a port number like example.com:443.
30 |
31 | ### Optional
32 |
33 | - `allowed_web_store_urls` (Set of String) The list of custom Web URLs, URL needs to match the domain claimed (Optional).
34 |
35 | ## Import
36 |
37 | Import is supported using the following syntax:
38 |
39 | ```shell
40 | # Global App Configuration Discovery can be imported by specifying the domain
41 | terraform import citrix_gac_discovery.example-gac-discovery example-domain.com
42 | ```
--------------------------------------------------------------------------------
/docs/resources/machine_properties.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_machine_properties Resource - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Manages the properties of a machine.
7 | ---
8 |
9 | # citrix_machine_properties (Resource)
10 |
11 | Manages the properties of a machine.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | resource "citrix_machine_properties" "example_machine_properties" {
17 | name = "domain\\machine-name" // For workgroup machines, use machine-name only
18 | machine_catalog_id = "00000000-0000-0000-0000-000000000000" // Id of the machine catalog the machine belongs to
19 | tags = [ "11111111-1111-1111-1111-111111111111" ] // Tags to be assigned to the machine
20 | }
21 | ```
22 |
23 |
24 | ## Schema
25 |
26 | ### Required
27 |
28 | - `machine_catalog_id` (String) The ID of the machine catalog to which the machine belongs.
29 | - `name` (String) The Name of the machine. For domain joined machines, the name must be in format \ format. Must be all in lowercase.
30 |
31 | ### Optional
32 |
33 | - `tags` (Set of String) A set of identifiers of tags to associate with the machine.
34 |
35 | ## Import
36 |
37 | Import is supported using the following syntax:
38 |
39 | ```shell
40 | # citrix_machine_properties resource can be imported with the Machine Name
41 | terraform import citrix_machine_properties.example_machine_properties domain\machine-name
42 | ```
--------------------------------------------------------------------------------
/docs/resources/stf_xenapp_default_store.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_stf_xenapp_default_store Resource - citrix"
4 | subcategory: "StoreFront"
5 | description: |-
6 | Default Storefront Store for XenApp Service.
7 | ---
8 |
9 | # citrix_stf_xenapp_default_store (Resource)
10 |
11 | Default Storefront Store for XenApp Service.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | resource "citrix_stf_xenapp_default_store" "example-stf-xenapp-default-store" {
17 | store_virtual_path = citrix_stf_store_service.example-stf-store-service.virtual_path
18 | store_site_id = citrix_stf_store_service.example-stf-store-service.site_id
19 | }
20 | ```
21 |
22 |
23 | ## Schema
24 |
25 | ### Required
26 |
27 | - `store_site_id` (String) The Site ID of the StoreFront Default Store for XenApp Service.
28 | - `store_virtual_path` (String) The Virtual Path of the StoreFront Default Store for XenApp Service.
29 |
30 | ## Import
31 |
32 | Import is supported using the following syntax:
33 |
34 | ```shell
35 | # StoreFront Default Store can be imported with the Store SiteId and Service path
36 | terraform import citrix_stf_xenapp_default_store.example-stf-xenapp-default-store 1,"/Citrix/Store"
37 | ```
--------------------------------------------------------------------------------
/docs/resources/storefront_server.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_storefront_server Resource - citrix"
4 | subcategory: "CVAD"
5 | description: |-
6 | Manages a StoreFront server.
7 | ---
8 |
9 | # citrix_storefront_server (Resource)
10 |
11 | Manages a StoreFront server.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | resource "citrix_storefront_server" "example-storefront_server" {
17 | name = "example-storefront-server"
18 | description = "StoreFront server example"
19 | url = "https://storefront.example.com/citrix/store"
20 | enabled = true
21 | }
22 | ```
23 |
24 |
25 | ## Schema
26 |
27 | ### Required
28 |
29 | - `description` (String) Description of the StoreFront server.
30 | - `name` (String) Name of the StoreFront server.
31 | - `url` (String) URL for connecting to the StoreFront server.
32 |
33 | ### Optional
34 |
35 | - `enabled` (Boolean) Indicates if the StoreFront server is enabled. Default is `true`.
36 |
37 | ### Read-Only
38 |
39 | - `id` (String) GUID identifier of the StoreFront server.
40 |
41 | ## Import
42 |
43 | Import is supported using the following syntax:
44 |
45 | ```shell
46 | # StoreFront Server can be imported by specifying the GUID
47 | terraform import citrix_storefront_server.example-storefront-server f60476fd-360d-4d35-861d-da8404652b166
48 | ```
--------------------------------------------------------------------------------
/docs/resources/wem_configuration_set.md:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "citrix_wem_configuration_set Resource - citrix"
4 | subcategory: "WEM"
5 | description: |-
6 | Manages configuration sets within a WEM deployment.
7 | ---
8 |
9 | # citrix_wem_configuration_set (Resource)
10 |
11 | Manages configuration sets within a WEM deployment.
12 |
13 | ## Example Usage
14 |
15 | ```terraform
16 | resource "citrix_wem_configuration_set" "example-config-set"{
17 | name = "example config set"
18 | description = "example WEM configuration set"
19 | }
20 | ```
21 |
22 |
23 | ## Schema
24 |
25 | ### Required
26 |
27 | - `name` (String) Name of the configuration set. WEM Site Name should be unique.
28 |
29 | ### Optional
30 |
31 | - `description` (String) Description of the configuration set. Default value is empty string.
32 |
33 | ### Read-Only
34 |
35 | - `id` (String) Identifier of the configuration set.
36 |
37 | ## Import
38 |
39 | Import is supported using the following syntax:
40 |
41 | ```shell
42 | # WEM Configuration Set can be imported by specifying the ID
43 | terraform import citrix_wem_configuration_set.example-config-set 1234
44 | ```
--------------------------------------------------------------------------------
/examples/basic_aws_mcs_vda/citrix.tf:
--------------------------------------------------------------------------------
1 | # On-Premises customer provider settings
2 | # Please comment out / remove this provider settings block if you are a Citrix Cloud customer
3 | provider "citrix" {
4 | cvad_config = {
5 | hostname = var.provider_hostname
6 | client_id = "${var.provider_domain_fqdn}\\${var.provider_client_id}"
7 | client_secret = "${var.provider_client_secret}"
8 | disable_ssl_verification = var.provider_disable_ssl_verification
9 | }
10 | }
11 |
12 | # Citrix Cloud customer provider settings
13 | # Please comment out / remove this provider settings block if you are an On-Premises customer
14 | provider "citrix" {
15 | cvad_config = {
16 | customer_id = var.provider_customer_id
17 | client_id = var.provider_client_id
18 | client_secret = var.provider_client_secret
19 | environment = var.provider_environment
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/examples/basic_aws_mcs_vda/hypervisors.tf:
--------------------------------------------------------------------------------
1 | # AWS Hypervisor
2 | resource "citrix_aws_hypervisor" "example-aws-hypervisor" {
3 | name = var.hypervisor_name
4 | zone = citrix_zone.example-zone.id
5 | api_key = var.aws_api_key
6 | secret_key = var.aws_secret_key
7 | region = var.aws_region
8 | }
9 |
--------------------------------------------------------------------------------
/examples/basic_aws_mcs_vda/machine_catalogs.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_machine_catalog" "example-aws-catalog" {
2 | name = var.machine_catalog_name
3 | description = "Example multi-session catalog on AWS hypervisor"
4 | allocation_type = "Random"
5 | session_support = "MultiSession"
6 | provisioning_type = "MCS"
7 | zone = citrix_zone.example-zone.id
8 | provisioning_scheme = {
9 | hypervisor = citrix_aws_hypervisor.example-aws-hypervisor.id
10 | hypervisor_resource_pool = citrix_aws_hypervisor_resource_pool.example-aws-rp.id
11 | identity_type = "ActiveDirectory"
12 | machine_domain_identity = {
13 | domain = var.domain_fqdn
14 | domain_ou = var.domain_ou
15 | service_account = var.domain_service_account
16 | service_account_password = var.domain_service_account_password
17 | }
18 | aws_machine_config = {
19 | image_ami = var.aws_ami_id
20 | master_image = var.aws_ami_name
21 | service_offering = var.aws_service_offering
22 | security_groups = [
23 | "default"
24 | ]
25 | tenancy_type = "Shared"
26 | }
27 | number_of_total_machines = 1
28 | machine_account_creation_rules = {
29 | naming_scheme = var.machine_catalog_naming_scheme
30 | naming_scheme_type = "Numeric"
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/examples/basic_aws_mcs_vda/resource_pools.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_aws_hypervisor_resource_pool" "example-aws-rp" {
2 | name = var.resource_pool_name
3 | hypervisor = citrix_aws_hypervisor.example-aws-hypervisor.id
4 | subnets = var.aws_subnets
5 | vpc = var.aws_vpc
6 | availability_zone = var.aws_availability_zone
7 | }
8 |
--------------------------------------------------------------------------------
/examples/basic_aws_mcs_vda/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.14"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_aws_mcs_vda/zones.tf:
--------------------------------------------------------------------------------
1 | # CVAD zone configuration
2 | # Please comment out / remove this zone resource block if you are a Citrix Cloud customer
3 | resource "citrix_zone" "example-zone" {
4 | name = var.zone_name
5 | description = "description for example zone"
6 | }
7 |
8 | # DaaS zone configuration
9 | # Please uncomment this zone resource block if you are a Citrix Cloud customer
10 | # resource "citrix_zone" "example-zone" {
11 | # resource_location_id = var.aws_resource_location_id
12 | # }
--------------------------------------------------------------------------------
/examples/basic_aws_workspace_core_deployment/account.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_quickcreate_aws_workspaces_account" "example_aws_workspaces_account" {
2 | name = var.account_name
3 | aws_region = var.account_region
4 | aws_role_arn = var.account_role_arn
5 | }
6 |
--------------------------------------------------------------------------------
/examples/basic_aws_workspace_core_deployment/citrix.tf:
--------------------------------------------------------------------------------
1 | # Citrix Cloud customer provider settings
2 | provider "citrix" {
3 | cvad_config = {
4 | customer_id = var.provider_customer_id
5 | environment = var.provider_environment
6 | client_id = var.provider_client_id
7 | client_secret = var.provider_client_secret
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/examples/basic_aws_workspace_core_deployment/deployment.tf:
--------------------------------------------------------------------------------
1 | # User coupled workspaces with MANUAL running mode
2 | resource "citrix_quickcreate_aws_workspaces_deployment" "example_aws_workspaces_deployment" {
3 | name = var.deployment_name
4 | account_id = citrix_quickcreate_aws_workspaces_account.example_aws_workspaces_account.id
5 | directory_connection_id = citrix_quickcreate_aws_workspaces_directory_connection.example_aws_workspaces_directory_connection.id
6 | image_id = citrix_quickcreate_aws_workspaces_image.example_aws_workspaces_image.id
7 | performance = "STANDARD"
8 | root_volume_size = "80"
9 | user_volume_size = "50"
10 | volumes_encrypted = true
11 | volumes_encryption_key = "alias/aws/workspaces"
12 |
13 | running_mode = "ALWAYS_ON"
14 |
15 | user_decoupled_workspaces = false
16 | dynamic "workspaces" {
17 | for_each = var.deployment_usernames
18 | content {
19 | username = workspaces.value
20 | root_volume_size = 80
21 | user_volume_size = 50
22 | maintenance_mode = false
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/examples/basic_aws_workspace_core_deployment/directory_connection.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_quickcreate_aws_workspaces_directory_connection" "example_aws_workspaces_directory_connection" {
2 | name = var.directory_connection_name
3 | account = citrix_quickcreate_aws_workspaces_account.example_aws_workspaces_account.id
4 | resource_location = citrix_cloud_resource_location.example_resource_location.id
5 | directory = var.directory_connection_id
6 | subnets = [var.directory_connection_subnet_1, var.directory_connection_subnet_2]
7 | tenancy = var.directory_connection_tenancy
8 | security_group = var.directory_connection_security_group_id
9 | default_ou = var.directory_connection_ou
10 | user_enabled_as_local_administrator = var.directory_connection_user_as_local_admin
11 | }
12 |
--------------------------------------------------------------------------------
/examples/basic_aws_workspace_core_deployment/image.tf:
--------------------------------------------------------------------------------
1 | # Quick Deploy AWS WorkSpaces Image with AMI image
2 | resource "citrix_quickcreate_aws_workspaces_image" "example_aws_workspaces_image" {
3 | name = var.image_name
4 | account_id = citrix_quickcreate_aws_workspaces_account.example_aws_workspaces_account.id
5 | aws_image_id = var.image_id
6 | description = var.image_description
7 | session_support = var.image_session_support
8 | operating_system = var.image_operating_system
9 | ingestion_process = var.image_ingestion_process
10 | }
11 |
--------------------------------------------------------------------------------
/examples/basic_aws_workspace_core_deployment/resource_location.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_cloud_resource_location" "example_resource_location" {
2 | name = var.resource_location_name
3 | }
4 |
--------------------------------------------------------------------------------
/examples/basic_aws_workspace_core_deployment/terraform.template.tfvars:
--------------------------------------------------------------------------------
1 | # citrix.tf variables
2 | provider_customer_id = ""
3 | provider_client_id = ""
4 | provider_client_secret = ""
5 |
6 | # resource_location.tf variables
7 | resource_locaiton_name = "example-resource-location"
8 |
9 | # account.tf variables
10 | account_name = "example-aws-workspaces-account"
11 | account_region = "us-east-1"
12 | account_role_arn = "arn:aws:iam::123456789012:role/role-name"
13 |
14 | # image.tf variables
15 | image_name = "example-aws-workspaces-image"
16 | image_id = "ami-1234567890abcdef0"
17 | image_description = "Example AWS WorkSpaces image"
18 |
19 | # directory_connection.tf variables
20 | directory_connection_name = "example-aws-workspaces-directory-connection"
21 | directory_connection_id = "d-1234567890abcdef0"
22 | directory_connection_subnet_1 = "subnet-1234567890abcdef0"
23 | directory_connection_subnet_2 = "subnet-1234567890abcdef1"
24 | directory_connection_security_group_id = "sg-1234567890abcdef0"
25 | directory_connection_ou = "OU=VDAs,OU=Computers,OU=example,DC=example,DC=local"
26 |
27 | # deployment.tf variables
28 | deployment_name = "example-aws-workspaces-deployment"
29 | deployment_usernames = ["user0001", "user0002"]
30 |
--------------------------------------------------------------------------------
/examples/basic_aws_workspace_core_deployment/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.14"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_azure_mcs_vda/citrix.tf:
--------------------------------------------------------------------------------
1 | # On-Premises customer provider settings
2 | # Please comment out / remove this provider settings block if you are a Citrix Cloud customer
3 | provider "citrix" {
4 | cvad_config = {
5 | hostname = var.provider_hostname
6 | client_id = "${var.provider_domain_fqdn}\\${var.provider_client_id}"
7 | client_secret = "${var.provider_client_secret}"
8 | disable_ssl_verification = var.provider_disable_ssl_verification
9 | }
10 | }
11 |
12 | # Citrix Cloud customer provider settings
13 | # Please comment out / remove this provider settings block if you are an On-Premises customer
14 | provider "citrix" {
15 | cvad_config = {
16 | customer_id = var.provider_customer_id
17 | client_id = var.provider_client_id
18 | client_secret = var.provider_client_secret
19 | environment = var.provider_environment
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/examples/basic_azure_mcs_vda/hypervisors.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_azure_hypervisor" "example-azure-hypervisor" {
2 | name = var.hypervisor_name
3 | zone = citrix_zone.example-zone.id
4 | application_id = var.azure_application_id
5 | application_secret = var.azure_application_secret
6 | subscription_id = var.azure_subscription_id
7 | active_directory_id = var.azure_tenant_id
8 | }
--------------------------------------------------------------------------------
/examples/basic_azure_mcs_vda/resource_pools.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_azure_hypervisor_resource_pool" "example-azure-rp" {
2 | name = var.resource_pool_name
3 | hypervisor = citrix_azure_hypervisor.example-azure-hypervisor.id
4 | region = var.azure_region
5 | virtual_network_resource_group = var.azure_vnet_resource_group
6 | virtual_network = var.azure_vnet
7 | subnets = var.azure_subnets
8 | }
--------------------------------------------------------------------------------
/examples/basic_azure_mcs_vda/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.14"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_azure_mcs_vda/zones.tf:
--------------------------------------------------------------------------------
1 | # CVAD zone configuration
2 | # Please comment out / remove this zone resource block if you are a Citrix Cloud customer
3 | resource "citrix_zone" "example-zone" {
4 | name = var.zone_name
5 | description = "description for example zone"
6 | }
7 |
8 | # DaaS zone configuration
9 | # Please uncomment this zone resource block if you are a Citrix Cloud customer
10 | # resource "citrix_zone" "example-zone" {
11 | # resource_location_id = var.azure_resource_location_id
12 | # }
--------------------------------------------------------------------------------
/examples/basic_gcp_mcs_vda/citrix.tf:
--------------------------------------------------------------------------------
1 | # On-Premises customer provider settings
2 | # Please comment out / remove this provider settings block if you are a Citrix Cloud customer
3 | provider "citrix" {
4 | cvad_config = {
5 | hostname = var.provider_hostname
6 | client_id = "${var.provider_domain_fqdn}\\${var.provider_client_id}"
7 | client_secret = "${var.provider_client_secret}"
8 | disable_ssl_verification = var.provider_disable_ssl_verification
9 | }
10 | }
11 |
12 | # Citrix Cloud customer provider settings
13 | # Please comment out / remove this provider settings block if you are an On-Premises customer
14 | provider "citrix" {
15 | cvad_config = {
16 | customer_id = var.provider_customer_id
17 | client_id = var.provider_client_id
18 | client_secret = var.provider_client_secret
19 | environment = var.provider_environment
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/examples/basic_gcp_mcs_vda/hypervisors.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_gcp_hypervisor" "example-gcp-hypervisor" {
2 | name = var.hypervisor_name
3 | zone = citrix_zone.example-zone.id
4 | service_account_id = var.gcp_service_account_id
5 | service_account_credentials = var.gcp_service_account_credentials
6 | }
7 |
8 |
--------------------------------------------------------------------------------
/examples/basic_gcp_mcs_vda/resource_pools.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_gcp_hypervisor_resource_pool" "example-gcp-rp" {
2 | name = var.resource_pool_name
3 | hypervisor = citrix_gcp_hypervisor.example-gcp-hypervisor.id
4 | project_name = var.gcp_project_name
5 | region = var.gcp_vpc_region
6 | subnets = var.gcp_subnets
7 | vpc = var.gcp_vpc
8 | }
9 |
10 |
11 |
--------------------------------------------------------------------------------
/examples/basic_gcp_mcs_vda/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.14"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_gcp_mcs_vda/zones.tf:
--------------------------------------------------------------------------------
1 | # CVAD zone configuration
2 | # Please comment out / remove this zone resource block if you are a Citrix Cloud customer
3 | resource "citrix_zone" "example-zone" {
4 | name = var.zone_name
5 | description = "description for example zone"
6 | }
7 |
8 | # DaaS zone configuration
9 | # Please uncomment this zone resource block if you are a Citrix Cloud customer
10 | # resource "citrix_zone" "example-zone" {
11 | # resource_location_id = var.gcp_resource_location_id
12 | # }
--------------------------------------------------------------------------------
/examples/basic_nutanix_mcs_vda/citrix.tf:
--------------------------------------------------------------------------------
1 | # On-Premises customer provider settings
2 | # Please comment out / remove this provider settings block if you are a Citrix Cloud customer
3 | provider "citrix" {
4 | cvad_config = {
5 | hostname = var.provider_hostname
6 | client_id = "${var.provider_domain_fqdn}\\${var.provider_client_id}"
7 | client_secret = "${var.provider_client_secret}"
8 | disable_ssl_verification = var.provider_disable_ssl_verification
9 | }
10 | }
11 |
12 | # Citrix Cloud customer provider settings
13 | # Please comment out / remove this provider settings block if you are an On-Premises customer
14 | provider "citrix" {
15 | cvad_config = {
16 | customer_id = var.provider_customer_id
17 | client_id = var.provider_client_id
18 | client_secret = var.provider_client_secret
19 | environment = var.provider_environment
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/examples/basic_nutanix_mcs_vda/hypervisors.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_nutanix_hypervisor" "example-nutanix-hypervisor" {
2 | name = var.hypervisor_name
3 | zone = citrix_zone.example-zone.id
4 | username = var.nutanix_username
5 | password = var.nutanix_password
6 | password_format = var.nutanix_password_format
7 | addresses = var.nutanix_addresses
8 | }
--------------------------------------------------------------------------------
/examples/basic_nutanix_mcs_vda/machine_catalogs.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_machine_catalog" "example-catalog" {
2 | name = var.machine_catalog_name
3 | description = "description for example catalog"
4 | allocation_type = "Random"
5 | session_support = "MultiSession"
6 | provisioning_type = "MCS"
7 | zone = citrix_zone.example-zone.id
8 | provisioning_scheme = {
9 | hypervisor = citrix_nutanix_hypervisor.example-nutanix-hypervisor.id
10 | hypervisor_resource_pool = citrix_nutanix_hypervisor_resource_pool.example-nutanix-rp.id
11 | identity_type = "ActiveDirectory"
12 | machine_domain_identity = {
13 | domain = var.domain_fqdn
14 | domain_ou = var.domain_ou
15 | service_account = var.domain_service_account
16 | service_account_password = var.domain_service_account_password
17 | }
18 | nutanix_machine_config = {
19 | container = var.nutanix_container
20 | master_image = var.nutanix_master_image
21 | cpu_count = var.nutanix_cpu_count
22 | cores_per_cpu_count = var.nutanix_core_per_cpu_count
23 | memory_mb = var.nutanix_memory_size
24 | }
25 | number_of_total_machines = 1
26 | machine_account_creation_rules = {
27 | naming_scheme = var.machine_catalog_naming_scheme
28 | naming_scheme_type = "Numeric"
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/examples/basic_nutanix_mcs_vda/resource_pools.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_nutanix_hypervisor_resource_pool" "example-nutanix-rp" {
2 | name = var.resource_pool_name
3 | hypervisor = citrix_nutanix_hypervisor.example-nutanix-hypervisor.id
4 | networks = var.nutanix_networks
5 | }
--------------------------------------------------------------------------------
/examples/basic_nutanix_mcs_vda/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.14"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_nutanix_mcs_vda/zones.tf:
--------------------------------------------------------------------------------
1 | # CVAD zone configuration
2 | # Please comment out / remove this zone resource block if you are a Citrix Cloud customer
3 | resource "citrix_zone" "example-zone" {
4 | name = var.zone_name
5 | description = "description for example zone"
6 | }
7 |
8 | # DaaS zone configuration
9 | # Please uncomment this zone resource block if you are a Citrix Cloud customer
10 | # resource "citrix_zone" "example-zone" {
11 | # resource_location_id = var.nutanix_resource_location_id
12 | # }
--------------------------------------------------------------------------------
/examples/basic_policy_set/citrix.tf:
--------------------------------------------------------------------------------
1 | # On-Premises customer provider settings
2 | # Please comment out / remove this provider settings block if you are a Citrix Cloud customer
3 | provider "citrix" {
4 | cvad_config = {
5 | hostname = var.provider_hostname
6 | client_id = "${var.provider_domain_fqdn}\\${var.provider_client_id}"
7 | client_secret = "${var.provider_client_secret}"
8 | disable_ssl_verification = var.provider_disable_ssl_verification
9 | }
10 | }
11 |
12 | # Citrix Cloud customer provider settings
13 | # Please comment out / remove this provider settings block if you are an On-Premises customer
14 | provider "citrix" {
15 | cvad_config = {
16 | customer_id = var.provider_customer_id
17 | client_id = var.provider_client_id
18 | client_secret = var.provider_client_secret
19 | environment = var.provider_environment
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/examples/basic_policy_set/policy.tf:
--------------------------------------------------------------------------------
1 | // Policy is depending on the policy set
2 | resource "citrix_policy" "first_basic_policy" {
3 | policy_set_id = citrix_policy_set_v2.basic_policy_set.id
4 | name = "first basic policy"
5 | description = "basic policy description"
6 | enabled = true
7 | }
8 |
9 | resource "citrix_policy" "second_basic_policy" {
10 | policy_set_id = citrix_policy_set_v2.basic_policy_set.id
11 | name = "second basic policy"
12 | description = "second basic policy description"
13 | enabled = true
14 | }
15 |
16 | resource "citrix_policy" "third_basic_policy" {
17 | policy_set_id = citrix_policy_set_v2.basic_policy_set.id
18 | name = "third basic policy"
19 | description = "third basic policy description"
20 | enabled = true
21 | }
22 |
--------------------------------------------------------------------------------
/examples/basic_policy_set/policy_priority.tf:
--------------------------------------------------------------------------------
1 | // Example with policy priority first_basic_policy = 0, second_basic_policy = 1, third_basic_policy = 2
2 | resource "citrix_policy_priority" "example_policy_priority" {
3 | policy_set_id = citrix_policy_set_v2.basic_policy_set.id
4 | policy_priority = [
5 | citrix_policy.first_basic_policy.id,
6 | citrix_policy.second_basic_policy.id,
7 | citrix_policy.third_basic_policy.id
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/examples/basic_policy_set/policy_set_v2.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_policy_set_v2" "basic_policy_set" {
2 | name = "basic policy set"
3 | description = "basic policy set description"
4 | scopes = [
5 | var.scope_id1,
6 | var.scope_id2
7 | ]
8 | delivery_groups = [
9 | var.delivery_group_id1,
10 | var.delivery_group_id2
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_policy_set/policy_setting.tf:
--------------------------------------------------------------------------------
1 | // Policy Settings are depending on the `citrix_policy` resource.
2 | // Since the `citrix_policy` resource depends on `citrix_policy_set_v2` resource, the `citrix_policy_setting` resource has an implicit dependency on the `citrix_policy_set_v2` resource.
3 | resource "citrix_policy_setting" "advance_warning_period" {
4 | policy_id = citrix_policy.first_basic_policy.id
5 | name = "AdvanceWarningPeriod"
6 | use_default = false
7 | value = "13:00:00"
8 | }
9 |
10 | resource "citrix_policy_setting" "visually_lossless_compression" {
11 | policy_id = citrix_policy.first_basic_policy.id
12 | name = "AllowVisuallyLosslessCompression"
13 | use_default = false
14 | enabled = true
15 | }
16 |
17 | resource "citrix_policy_setting" "wem_citrix_cloud_connectors" {
18 | policy_id = citrix_policy.first_basic_policy.id
19 | name = "WemCloudConnectorList"
20 | use_default = false
21 | value = jsonencode([
22 | "https://connector1.citrix.com",
23 | "https://connector2.citrix.com"
24 | ])
25 | }
26 |
--------------------------------------------------------------------------------
/examples/basic_policy_set/terraform.template.tfvars:
--------------------------------------------------------------------------------
1 | # citrix.tf variables, uncomment the ones you need for on-premises or cloud
2 | provider_hostname = "" # on-premises only
3 | provider_domain_fqdn = "" # on-premises only
4 | provider_client_id = "" # or Citrix Cloud secure client ID for cloud
5 | provider_client_secret = "" # or Citrix Cloud secure client secret for cloud
6 | # provider_customer_id = "" # cloud only
7 |
8 | # policy_set_v2.tf variables
9 | scope_id1 = "09dd6c92-51d8-42d0-a93b-838490e8e35d" // example value
10 | scope_id2 = "16d65fa7-e67c-4bea-8dfc-e8b4d089c138" // example value
11 | delivery_group_id1 = "275dca7f-38a5-4f61-b124-f35358fe2833" // example value
12 | delivery_group_id2 = "6f4d47d1-16eb-4b57-b744-74f07fa4884d" // example value
13 |
14 | # policy_filter.tf variables
15 | policy_filter_client_ip = "192.168.0.1"
16 | policy_filter_client_name = "example-client-name"
17 | policy_filter_client_platform = "Windows"
18 | policy_filter_delivery_group_id = "a298d13d-9197-44bc-8ec9-75e0e4ae8fd8"
19 | policy_filter_delivery_group_type ="Private"
20 | policy_filter_ou = "OU=example,DC=example,DC=local"
21 | policy_filter_tag_id = "8668672a-31ab-49f8-8a42-4babbef18a3c" // example value
22 | policy_filter_user_sid = "S-1-5-21-3623811015-3361044348-30300820-1013" // example value
23 |
--------------------------------------------------------------------------------
/examples/basic_policy_set/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.15"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_scvmm_mcs_vda/citrix.tf:
--------------------------------------------------------------------------------
1 | # On-Premises customer provider settings
2 | # Please comment out / remove this provider settings block if you are a Citrix Cloud customer
3 | provider "citrix" {
4 | cvad_config = {
5 | hostname = var.provider_hostname
6 | client_id = "${var.provider_domain_fqdn}\\${var.provider_client_id}"
7 | client_secret = "${var.provider_client_secret}"
8 | disable_ssl_verification = var.provider_disable_ssl_verification
9 | }
10 | }
11 |
12 | # Citrix Cloud customer provider settings
13 | # Please comment out / remove this provider settings block if you are an On-Premises customer
14 | provider "citrix" {
15 | cvad_config = {
16 | customer_id = var.provider_customer_id
17 | client_id = var.provider_client_id
18 | client_secret = var.provider_client_secret
19 | environment = var.provider_environment
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/examples/basic_scvmm_mcs_vda/hypervisors.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_scvmm_hypervisor" "example-scvmm-hypervisor" {
2 | name = var.hypervisor_name
3 | zone = citrix_zone.example-zone.id
4 | username = var.scvmm_username
5 | password = var.scvmm_password
6 | password_format = var.scvmm_password_format
7 | addresses = var.scvmm_addresses
8 | max_absolute_active_actions = 50
9 | }
--------------------------------------------------------------------------------
/examples/basic_scvmm_mcs_vda/machine_catalogs.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_machine_catalog" "example-catalog" {
2 | name = var.machine_catalog_name
3 | description = "description for example catalog"
4 | provisioning_type = "MCS"
5 | allocation_type = "Random"
6 | session_support = "MultiSession"
7 | zone = citrix_zone.example-zone.id
8 | provisioning_scheme = {
9 | hypervisor = citrix_scvmm_hypervisor.example-scvmm-hypervisor.id
10 | hypervisor_resource_pool = citrix_scvmm_hypervisor_resource_pool.example-scvmm-rp.id
11 | identity_type = "ActiveDirectory"
12 | machine_domain_identity = {
13 | domain = var.domain_fqdn
14 | domain_ou = var.domain_ou
15 | service_account = var.domain_service_account
16 | service_account_password = var.domain_service_account_password
17 | }
18 | scvmm_machine_config = {
19 | master_image = var.scvmm_master_image
20 | cpu_count = var.scvmm_cpu_count
21 | memory_mb = var.scvmm_memory_size
22 | }
23 | number_of_total_machines = 1
24 | machine_account_creation_rules = {
25 | naming_scheme = var.machine_catalog_naming_scheme
26 | naming_scheme_type = "Numeric"
27 | }
28 | }
29 | }
--------------------------------------------------------------------------------
/examples/basic_scvmm_mcs_vda/resource_pools.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_scvmm_hypervisor_resource_pool" "example-scvmm-hypervisor-resource-pool" {
2 | name = var.resource_pool_name
3 | hypervisor = citrix_scvmm_hypervisor.example-scvmm-hypervisor.id
4 | host = var.scvmm_host_name
5 | networks = var.scvmm_networks
6 | storage = [
7 | {
8 | storage_name = var.scvmm_storage_name
9 | }
10 | ]
11 | temporary_storage = [
12 | {
13 | storage_name = var.scvmm_temporary_storage_name
14 | }
15 | ]
16 | use_local_storage_caching = false
17 | }
--------------------------------------------------------------------------------
/examples/basic_scvmm_mcs_vda/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.14"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_scvmm_mcs_vda/zones.tf:
--------------------------------------------------------------------------------
1 | # CVAD zone configuration
2 | # Please comment out / remove this zone resource block if you are a Citrix Cloud customer
3 | resource "citrix_zone" "example-zone" {
4 | name = var.zone_name
5 | description = "description for example zone"
6 | }
7 |
8 | # DaaS zone configuration
9 | # Please uncomment this zone resource block if you are a Citrix Cloud customer
10 | # resource "citrix_zone" "example-zone" {
11 | # resource_location_id = var.scvmm_resource_location_id
12 | # }
--------------------------------------------------------------------------------
/examples/basic_vsphere_mcs_vda/citrix.tf:
--------------------------------------------------------------------------------
1 | # On-Premises customer provider settings
2 | # Please comment out / remove this provider settings block if you are a Citrix Cloud customer
3 | provider "citrix" {
4 | cvad_config = {
5 | hostname = var.provider_hostname
6 | client_id = "${var.provider_domain_fqdn}\\${var.provider_client_id}"
7 | client_secret = "${var.provider_client_secret}"
8 | disable_ssl_verification = var.provider_disable_ssl_verification
9 | }
10 | }
11 |
12 | # Citrix Cloud customer provider settings
13 | # Please comment out / remove this provider settings block if you are an On-Premises customer
14 | provider "citrix" {
15 | cvad_config = {
16 | customer_id = var.provider_customer_id
17 | client_id = var.provider_client_id
18 | client_secret = var.provider_client_secret
19 | environment = var.provider_environment
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/examples/basic_vsphere_mcs_vda/hypervisors.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_vsphere_hypervisor" "example-vsphere-hypervisor" {
2 | name = var.hypervisor_name
3 | zone = citrix_zone.example-zone.id
4 | username = var.vsphere_username
5 | password = var.vsphere_password
6 | password_format = var.vsphere_password_format
7 | addresses = var.vsphere_addresses
8 | max_absolute_active_actions = 20
9 | }
--------------------------------------------------------------------------------
/examples/basic_vsphere_mcs_vda/images.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_image_definition" "example-image-definition" {
2 | name = var.image_definition_name
3 | description = "Description for example image definition"
4 | os_type = "Windows"
5 | session_support = "MultiSession"
6 | hypervisor = citrix_vsphere_hypervisor.example-vsphere-hypervisor.id
7 | hypervisor_resource_pool = citrix_vsphere_hypervisor_resource_pool.example-vsphere-rp.id
8 | }
9 |
10 | resource "citrix_image_version" "example-image-version" {
11 | image_definition = citrix_image_definition.example-image-definition.id
12 | hypervisor = citrix_vsphere_hypervisor.example-vsphere-hypervisor.id
13 | hypervisor_resource_pool = citrix_vsphere_hypervisor_resource_pool.example-vsphere-rp.id
14 | description = "Description for example image version"
15 |
16 | vsphere_image_specs = {
17 | master_image_vm = var.vsphere_master_image_vm
18 | image_snapshot = var.vsphere_image_snapshot
19 | cpu_count = var.vsphere_cpu_count
20 | memory_mb = var.vsphere_memory_size
21 | }
22 | }
--------------------------------------------------------------------------------
/examples/basic_vsphere_mcs_vda/machine_catalogs.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_machine_catalog" "example-catalog" {
2 | name = var.machine_catalog_name
3 | description = "description for example catalog"
4 | allocation_type = "Random"
5 | session_support = "MultiSession"
6 | provisioning_type = "MCS"
7 | zone = citrix_zone.example-zone.id
8 | provisioning_scheme = {
9 | hypervisor = citrix_vsphere_hypervisor.example-vsphere-hypervisor.id
10 | hypervisor_resource_pool = citrix_vsphere_hypervisor_resource_pool.example-vsphere-rp.id
11 | identity_type = "ActiveDirectory"
12 | machine_domain_identity = {
13 | domain = var.domain_fqdn
14 | domain_ou = var.domain_ou
15 | service_account = var.domain_service_account
16 | service_account_password = var.domain_service_account_password
17 | }
18 | vsphere_machine_config = {
19 | prepared_image = {
20 | image_definition = citrix_image_definition.example-image-definition.id
21 | image_version = citrix_image_version.example-image-version.id
22 | }
23 | cpu_count = var.vsphere_cpu_count
24 | memory_mb = var.vsphere_memory_size
25 | }
26 | number_of_total_machines = 1
27 | machine_account_creation_rules = {
28 | naming_scheme = var.machine_catalog_naming_scheme
29 | naming_scheme_type = "Numeric"
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/examples/basic_vsphere_mcs_vda/resource_pools.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_vsphere_hypervisor_resource_pool" "example-vsphere-rp" {
2 | name = var.resource_pool_name
3 | hypervisor = citrix_vsphere_hypervisor.example-vsphere-hypervisor.id
4 | cluster = {
5 | datacenter = var.vsphere_cluster_datacenter
6 | cluster_name = var.vsphere_cluster_name
7 | # host = var.vsphere_host // Use one of host or cluster
8 | }
9 | networks = var.vsphere_networks
10 | storage = [
11 | {
12 | storage_name = var.vsphere_storage_name
13 | }
14 | ]
15 | temporary_storage = [
16 | {
17 | storage_name = var.vsphere_temporary_storage_name
18 | }
19 | ]
20 | use_local_storage_caching = false
21 | }
--------------------------------------------------------------------------------
/examples/basic_vsphere_mcs_vda/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.14"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_vsphere_mcs_vda/zones.tf:
--------------------------------------------------------------------------------
1 | # CVAD zone configuration
2 | # Please comment out / remove this zone resource block if you are a Citrix Cloud customer
3 | resource "citrix_zone" "example-zone" {
4 | name = var.zone_name
5 | description = "description for example zone"
6 | }
7 |
8 | # DaaS zone configuration
9 | # Please uncomment this zone resource block if you are a Citrix Cloud customer
10 | # resource "citrix_zone" "example-zone" {
11 | # resource_location_id = var.vsphere_resource_location_id
12 | # }
--------------------------------------------------------------------------------
/examples/basic_xenserver_mcs_vda/citrix.tf:
--------------------------------------------------------------------------------
1 | # On-Premises customer provider settings
2 | # Please comment out / remove this provider settings block if you are a Citrix Cloud customer
3 | provider "citrix" {
4 | cvad_config = {
5 | hostname = var.provider_hostname
6 | client_id = "${var.provider_domain_fqdn}\\${var.provider_client_id}"
7 | client_secret = "${var.provider_client_secret}"
8 | disable_ssl_verification = var.provider_disable_ssl_verification
9 | }
10 | }
11 |
12 | # Citrix Cloud customer provider settings
13 | # Please comment out / remove this provider settings block if you are an On-Premises customer
14 | provider "citrix" {
15 | cvad_config = {
16 | customer_id = var.provider_customer_id
17 | client_id = var.provider_client_id
18 | client_secret = var.provider_client_secret
19 | environment = var.provider_environment
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/examples/basic_xenserver_mcs_vda/hypervisors.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_xenserver_hypervisor" "example-xenserver-hypervisor" {
2 | name = var.hypervisor_name
3 | zone = citrix_zone.example-zone.id
4 | username = var.xenserver_username
5 | password = var.xenserver_password
6 | password_format = var.xenserver_password_format
7 | addresses = var.xenserver_addresses
8 | }
--------------------------------------------------------------------------------
/examples/basic_xenserver_mcs_vda/machine_catalogs.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_machine_catalog" "example-catalog" {
2 | name = var.machine_catalog_name
3 | description = "description for example catalog"
4 | provisioning_type = "MCS"
5 | allocation_type = "Random"
6 | session_support = "MultiSession"
7 | zone = ""
8 | provisioning_scheme = {
9 | hypervisor = citrix_xenserver_hypervisor.example-xenserver-hypervisor.id
10 | hypervisor_resource_pool = citrix_xenserver_hypervisor_resource_pool.example-xenserver-rp.id
11 | identity_type = "ActiveDirectory"
12 | machine_domain_identity = {
13 | domain = var.domain_fqdn
14 | domain_ou = var.domain_ou
15 | service_account = var.domain_service_account
16 | service_account_password = var.domain_service_account_password
17 | }
18 | xenserver_machine_config = {
19 | master_image_vm = var.xenserver_master_image_vm
20 | cpu_count = var.xenserver_cpu_count
21 | memory_mb = var.xenserver_memory_size
22 | }
23 | number_of_total_machines = 1
24 | machine_account_creation_rules = {
25 | naming_scheme = var.machine_catalog_naming_scheme
26 | naming_scheme_type = "Numeric"
27 | }
28 | }
29 | }
--------------------------------------------------------------------------------
/examples/basic_xenserver_mcs_vda/resource_pools.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_xenserver_hypervisor_resource_pool" "example-xenserver-rp" {
2 | name = var.resource_pool_name
3 | hypervisor = citrix_xenserver_hypervisor.example-xenserver-hypervisor.id
4 | networks = var.xenserver_networks
5 | storage = [
6 | {
7 | storage_name = var.xenserver_storage_name
8 | }
9 | ]
10 | temporary_storage = [
11 | {
12 | storage_name = var.xenserver_temporary_storage_name
13 | }
14 | ]
15 | use_local_storage_caching = false
16 | }
--------------------------------------------------------------------------------
/examples/basic_xenserver_mcs_vda/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.14"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/basic_xenserver_mcs_vda/zones.tf:
--------------------------------------------------------------------------------
1 | # CVAD zone configuration
2 | # Please comment out / remove this zone resource block if you are a Citrix Cloud customer
3 | resource "citrix_zone" "example-zone" {
4 | name = var.zone_name
5 | description = "description for example zone"
6 | }
7 |
8 | # DaaS zone configuration
9 | # Please uncomment this zone resource block if you are a Citrix Cloud customer
10 | # resource "citrix_zone" "example-zone" {
11 | # resource_location_id = var.xenserver_resource_location_id
12 | # }
--------------------------------------------------------------------------------
/examples/non_domain_joined_azure_mcs_vda/citrix.tf:
--------------------------------------------------------------------------------
1 | # Citrix Cloud customer provider settings
2 | # Please comment out / remove this provider settings block if you are an On-Premises customer
3 | provider "citrix" {
4 | cvad_config = {
5 | customer_id = var.provider_customer_id
6 | client_id = var.provider_client_id
7 | client_secret = var.provider_client_secret
8 | environment = "Staging"
9 | hostname = "api.dev.cloud.com"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/examples/non_domain_joined_azure_mcs_vda/hypervisors.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_azure_hypervisor" "example-azure-hypervisor" {
2 | name = var.hypervisor_name
3 | zone = citrix_zone.example-zone.id
4 | application_id = var.azure_application_id
5 | application_secret = var.azure_application_secret
6 | subscription_id = var.azure_subscription_id
7 | active_directory_id = var.azure_tenant_id
8 | }
--------------------------------------------------------------------------------
/examples/non_domain_joined_azure_mcs_vda/machine_catalogs.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_machine_catalog" "example-catalog" {
2 | name = var.machine_catalog_name
3 | description = "description for example catalog"
4 | allocation_type = "Random"
5 | session_support = "MultiSession"
6 | provisioning_type = "MCS"
7 | zone = citrix_zone.example-zone.id
8 | provisioning_scheme = {
9 | hypervisor = citrix_azure_hypervisor.example-azure-hypervisor.id
10 | hypervisor_resource_pool = citrix_azure_hypervisor_resource_pool.example-azure-rp.id
11 | identity_type = "Workgroup" # Workgroup specifies that the machines are not domain-joined
12 | azure_machine_config = {
13 | prepared_image = {
14 | image_definition = citrix_image_definition.example-image-definition.id
15 | image_version = citrix_image_version.example-image-version.id
16 | }
17 | service_offering = var.azure_service_offering
18 | storage_type = var.azure_storage_type
19 | use_managed_disks = true
20 | }
21 | number_of_total_machines = 1
22 | machine_account_creation_rules = {
23 | naming_scheme = var.machine_catalog_naming_scheme
24 | naming_scheme_type = "Numeric"
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/examples/non_domain_joined_azure_mcs_vda/policy_sets.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_policy_set" "rv2-policy-set" {
2 | name = "rv2-policy-set"
3 | description = "This is an policy set to enable rendezvous v2 for Connectorless VDAs"
4 | type = "DeliveryGroupPolicies"
5 | policies = [
6 | {
7 | name = "rv2-policy-with-priority-0"
8 | enabled = true
9 | policy_settings = [
10 | {
11 | name = "RendezvousProtocol"
12 | enabled = true
13 | use_default = false
14 | },
15 | ]
16 | delivery_group_filters = [
17 | {
18 | delivery_group_id = citrix_delivery_group.example-delivery-group.id
19 | enabled = true
20 | allowed = true
21 | },
22 | ]
23 | }
24 | ]
25 | }
--------------------------------------------------------------------------------
/examples/non_domain_joined_azure_mcs_vda/resource_location.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_cloud_resource_location" "example-resource-location" {
2 | name = var.resource_location_name
3 | }
--------------------------------------------------------------------------------
/examples/non_domain_joined_azure_mcs_vda/resource_pools.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_azure_hypervisor_resource_pool" "example-azure-rp" {
2 | name = var.resource_pool_name
3 | hypervisor = citrix_azure_hypervisor.example-azure-hypervisor.id
4 | region = var.azure_region
5 | virtual_network_resource_group = var.azure_vnet_resource_group
6 | virtual_network = var.azure_vnet
7 | subnets = var.azure_subnets
8 | }
--------------------------------------------------------------------------------
/examples/non_domain_joined_azure_mcs_vda/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=1.0.14"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/examples/non_domain_joined_azure_mcs_vda/zones.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_zone" "example-zone" {
2 | resource_location_id = citrix_cloud_resource_location.example-resource-location.id
3 | }
4 |
--------------------------------------------------------------------------------
/images/go-extension.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/citrix/terraform-provider-citrix/c1fbbfba7fa250b5f8b922d44adfd5aa39963c34/images/go-extension.png
--------------------------------------------------------------------------------
/images/techzone-youtube-thumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/citrix/terraform-provider-citrix/c1fbbfba7fa250b5f8b922d44adfd5aa39963c34/images/techzone-youtube-thumbnail.png
--------------------------------------------------------------------------------
/internal/citrixcloud/resource_locations/resource_locations_data_source_model.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 |
3 | package resource_locations
4 |
5 | import (
6 | "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
7 | )
8 |
9 | func (ResourceLocationModel) GetDataSourceSchema() schema.Schema {
10 | return schema.Schema{
11 | Description: "Citrix Cloud --- Read data of an existing resource location.",
12 |
13 | Attributes: map[string]schema.Attribute{
14 | "id": schema.StringAttribute{
15 | Description: "ID of the resource location.",
16 | Computed: true,
17 | },
18 | "name": schema.StringAttribute{
19 | Description: "Name of the resource location.",
20 | Required: true,
21 | },
22 | "internal_only": schema.BoolAttribute{
23 | Description: "Flag to determine if the resource location can only be used internally. Defaults to `false`.",
24 | Computed: true,
25 | },
26 | "time_zone": schema.StringAttribute{
27 | Description: "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.",
28 | Computed: true,
29 | },
30 | },
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/internal/daas/bearer_token/bearer_token_data_source_model.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 |
3 | package bearer_token
4 |
5 | import (
6 | "context"
7 |
8 | "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
9 | "github.com/hashicorp/terraform-plugin-framework/diag"
10 | "github.com/hashicorp/terraform-plugin-framework/types"
11 | )
12 |
13 | type BearerTokenDataSourceModel struct {
14 | BearerToken types.String `tfsdk:"bearer_token"`
15 | }
16 |
17 | func (BearerTokenDataSourceModel) GetSchema() schema.Schema {
18 | return schema.Schema{
19 | // This description is used by the documentation generator and the language server.
20 | Description: "CVAD --- Data source to get bearer token.",
21 |
22 | Attributes: map[string]schema.Attribute{
23 | "bearer_token": schema.StringAttribute{
24 | Description: "Value of the bearer token.",
25 | Computed: true,
26 | Sensitive: true,
27 | },
28 | },
29 | }
30 | }
31 |
32 | func (r BearerTokenDataSourceModel) RefreshPropertyValues(ctx context.Context, diagnostics *diag.Diagnostics, bearerToken string) BearerTokenDataSourceModel {
33 | r.BearerToken = types.StringValue(bearerToken)
34 |
35 | return r
36 | }
37 |
--------------------------------------------------------------------------------
/internal/daas/zone/zone_data_source_model.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 |
3 | package zone
4 |
5 | import (
6 | "github.com/citrix/citrix-daas-rest-go/citrixorchestration"
7 | "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
8 | "github.com/hashicorp/terraform-plugin-framework/types"
9 | )
10 |
11 | // ZoneDataSourceModel defines the Zone data source implementation.
12 | type ZoneDataSourceModel struct {
13 | Id types.String `tfsdk:"id"`
14 | Name types.String `tfsdk:"name"`
15 | }
16 |
17 | func (ZoneDataSourceModel) GetSchema() schema.Schema {
18 | return schema.Schema{
19 | Description: "CVAD --- Read data of an existing zone.",
20 | Attributes: map[string]schema.Attribute{
21 | "id": schema.StringAttribute{
22 | Description: "GUID identifier of the zone.",
23 | Computed: true,
24 | },
25 | "name": schema.StringAttribute{
26 | Description: "Name of the zone.",
27 | Required: true,
28 | },
29 | },
30 | }
31 | }
32 |
33 | func (r ZoneDataSourceModel) RefreshPropertyValues(zone *citrixorchestration.ZoneDetailResponseModel) ZoneDataSourceModel {
34 | r.Id = types.StringValue(zone.GetId())
35 | r.Name = types.StringValue(zone.GetName())
36 |
37 | return r
38 | }
39 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_access_control_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_access_control_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_admin_folder/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Admin Folder resource by id
2 | data "citrix_admin_folder" "test_admin_folder_data_source_with_id" {
3 | id = "0"
4 | }
5 |
6 | # Get Admin Folder resource by path
7 | data "citrix_admin_folder" "test_admin_folder_data_source_with_path" {
8 | path = "test123\\"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_admin_permissions/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get all predefined admin permissions
2 | data "citrix_admin_permissions" "all-permissions" { }
3 |
4 | # The permissions can then be viewed via:
5 | # terraform apply
6 | # terraform state show data.citrix_admin_permissions.all-permissions
7 |
8 | # Example using the data source to create a new custom role
9 | data "citrix_admin_role" "desktop_group_admin_role" {
10 | name = "Delivery Group Custom Admin Role"
11 | description = "Role for managing delivery groups"
12 | permissions = [
13 | // all permissions from the data source that start with "DesktopGroup_", the old name for delivery groups
14 | for permission in data.citrix_admin_permissions.all-permissions.permissions :
15 | permission.id if startswith(permission.id, "DesktopGroup_")
16 | ]
17 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_admin_role/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Admin Scope resource by name
2 | data "citrix_admin_role" "example_admin_role" {
3 | name = "ExampleAdminRole"
4 | }
5 |
6 | # Get Admin Scope resource by id
7 | data "citrix_admin_role" "example_admin_role" {
8 | id = "00000000-0000-0000-0000-000000000000"
9 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_admin_scope/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Admin Scope resource by name
2 | data "citrix_admin_scope" "test_scope_by_name" {
3 | name = "All"
4 | }
5 |
6 | # Get Admin Scope resource by id
7 | data "citrix_admin_scope" "test_scope_by_id" {
8 | id = "00000000-0000-0000-0000-000000000000"
9 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_admin_user/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Admin Scope resource by id
2 | data "citrix_admin_user" "example_admin_user" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_application_folder_details/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_application_folder_details" "example_application_folder_details" {
2 | path = "test-folder1\\test-folder2"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_bearer_token/data-source.tf:
--------------------------------------------------------------------------------
1 | # Bearer token can be fetched with the citrix_bearer_token data source.
2 | data "citrix_bearer_token" "example_bearer_token" {}
3 |
4 | # The bearer token can then be output with terraform. `sensitive = true` is required for outputing sensitive data.
5 | output "example_bearer_token_output" {
6 | value = data.citrix_bearer_token.example_bearer_token.bearer_token
7 | sensitive = true
8 | }
9 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_branch_repeater_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_branch_repeater_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_client_ip_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_client_ip_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_client_name_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_client_name_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_client_platform_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_client_platform_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_cloud_google_identity_provider/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Citrix Cloud Google Identity Provider data source by ID
2 | data "citrix_cloud_google_identity_provider" "example_google_identity_provider" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get Citrix Cloud Google Identity Provider data source by name
7 | data "citrix_cloud_google_identity_provider" "example_google_identity_provider" {
8 | name = "exampleGoogleIdentityProvider"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_cloud_okta_identity_provider/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Citrix Cloud Identity Provider data source by ID
2 | data "citrix_cloud_okta_identity_provider" "example_okta_identity_provider" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get Citrix Cloud Identity Provider data source by name
7 | data "citrix_cloud_okta_identity_provider" "example_okta_identity_provider" {
8 | name = "exampleOktaIdentityProvider"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_cloud_resource_location/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Resource Location resource by name
2 | data "citrix_cloud_resource_location" "example-resource-location" {
3 | name = "example-resource-location"
4 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_cloud_saml_identity_provider/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Citrix Cloud Identity Provider data source by ID
2 | data "citrix_cloud_saml_identity_provider" "example_saml_identity_provider" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get Citrix Cloud Identity Provider data source by name
7 | data "citrix_cloud_saml_identity_provider" "example_saml_identity_provider" {
8 | name = "exampleSamlIdentityProvider"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_delivery_group/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Citrix Delivery Group data source by name
2 | data "citrix_delivery_group" "example_delivery_group" {
3 | name = "exampleDeliveryGroupName"
4 | }
5 |
6 | # Get Citrix Delivery Group data source by ID
7 | data "citrix_delivery_group" "example_delivery_group" {
8 | id = "00000000-0000-0000-0000-000000000000"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_delivery_group_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_delivery_group_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_delivery_group_type_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_delivery_group_type_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_hypervisor/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Hypervisor resource of any connection type by name
2 | data "citrix_hypervisor" "azure-hypervisor" {
3 | name = "azure-hyperv"
4 | }
5 |
6 | # Get Hypervisor resource of any connection type by id
7 | data "citrix_hypervisor" "azure-hypervisor" {
8 | id = "00000000-0000-0000-0000-000000000000"
9 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_hypervisor_resource_pool/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Hypervisor Resource Pool of any connection type resource by name and the hypervisor name it belongs to
2 | data "citrix_hypervisor_resource_pool" "azure-resource-pool" {
3 | name = "azure-rp"
4 | hypervisor_name = "azure-hyperv"
5 | }
6 |
7 | # Get Hypervisor Resource Pool of any connection type resource by id and the hypervisor name it belongs to
8 | data "citrix_hypervisor_resource_pool" "azure-resource-pool" {
9 | id = "00000000-0000-0000-0000-000000000000"
10 | hypervisor_name = "azure-hyperv"
11 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_image_definition/data-source.tf:
--------------------------------------------------------------------------------
1 | # Define Image Definition data source by id
2 | data "citrix_image_definition" "example_image_definition_by_id" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Define Image Definition data source by name
7 | data "citrix_image_definition" "example_image_definition_by_name" {
8 | name = "Example Image Definition"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_image_version/data-source.tf:
--------------------------------------------------------------------------------
1 | # Define Image Version data source by id
2 | data "citrix_image_version" "example_image_version_by_id" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | image_definition = "00000000-0000-0000-0000-000000000000"
5 | }
6 |
7 | # Define Image Version data source by version number
8 | data "citrix_image_version" "example_image_version_by_version_number" {
9 | version_number = 1
10 | image_definition = "00000000-0000-0000-0000-000000000000"
11 | }
12 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_machine_catalog/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Citrix Machine Catalog data source by name
2 | data "citrix_machine_catalog" "example_machine_catalog" {
3 | name = "example-catalog"
4 | }
5 |
6 | # Get Citrix Machine Catalog data source by ID
7 | data "citrix_machine_catalog" "example_machine_catalog" {
8 | id = "00000000-0000-0000-0000-000000000000"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_ou_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_ou_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_policy/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Policy data source by id
2 | data "citrix_policy" "example_policy_data_source_with_id" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get Policy data source by name and policy set id
7 | data "citrix_policy" "example_policy_data_source_with_name" {
8 | policy_set_id = "00000000-0000-0000-0000-000000000000"
9 | name = "example-policy-set"
10 | }
11 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_policy_filters/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_policy_filters" "example_filters" {
2 | policy_id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_policy_priority/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Policy Priority data source by policy_set_id
2 | data "citrix_policy_priority" "example_policy_priority_data_source_with_policy_set_id" {
3 | policy_set_id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get Policy Priority data source by policy_set_name
7 | data "citrix_policy" "example_policy_data_source_with_name" {
8 | policy_set_name = "example-policy-set"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_policy_set/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Policy Set data source by id
2 | data "citrix_policy_set" "example_policy_set_data_source_with_id" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get Policy Set data source by name
7 | data "citrix_policy_set" "example_policy_set_data_source_with_name" {
8 | name = "example-policy-set"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_policy_set_v2/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Policy Set data source by id
2 | data "citrix_policy_set_v2" "example_policy_set_v2_data_source_with_id" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get Policy Set data source by name
7 | data "citrix_policy_set_v2" "example_policy_set_v2_data_source_with_name" {
8 | name = "example-policy-set-v2"
9 | }
10 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_policy_setting/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Policy Setting data source by id
2 | data "citrix_policy_setting" "example_policy_setting_data_source_with_id" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get Policy data source by name and policy set id
7 | data "citrix_policy_setting" "example_policy_setting_data_source_with_name" {
8 | policy_id = "00000000-0000-0000-0000-000000000000"
9 | name = "AdvanceWarningPeriod"
10 | }
11 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_pvs/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_pvs" "example_pvs_config" {
2 | pvs_farm_name = "test-farm"
3 | pvs_site_name = "test-site"
4 | pvs_store_name = "test-store"
5 | pvs_vdisk_name = "test-vdisk"
6 | }
7 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_quickcreate_aws_workspaces_account/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get details of a Citrix QuickCreate AWS WorkSpaces Account using the account GUID
2 | data "citrix_quickcreate_aws_workspaces_account" "example-account" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get details of a Citrix QuickCreate AWS WorkSpaces Account using the account name
7 | data "citrix_quickcreate_aws_workspaces_account" "example-account" {
8 | name = "exampleAccountName"
9 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_quickcreate_aws_workspaces_deployment/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get details of a Citrix QuickCreate AWS WorkSpaces Deployment using deployment id
2 | data "citrix_quickcreate_aws_workspaces_deployment" "example-deployment" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | }
5 |
6 | # Get details of a Citrix QuickCreate AWS WorkSpaces Deployment using deployment name and account id
7 | data "citrix_quickcreate_aws_workspaces_deployment" "example-deployment" {
8 | account_id = citrix_quickcreate_aws_workspaces_account.example_aws_workspaces_account_role_arn.id
9 | name = "exampleDeploymentName"
10 | }
11 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_quickcreate_aws_workspaces_directory_connection/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get details of a Citrix QuickCreate AWS WorkSpaces Directory Connection with directory connection id and account id
2 | data "citrix_quickcreate_aws_workspaces_directory_connection" "example_aws_workspaces_directory_connection" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | account = "00000000-0000-0000-0000-000000000000"
5 | }
6 |
7 | # Get details of a Citrix QuickCreate AWS WorkSpaces Directory Connection with directory connection name and account id
8 | data "citrix_quickcreate_aws_workspaces_directory_connection" "example_aws_workspaces_directory_connection" {
9 | name = "exampleDirectoryConnectionName"
10 | account = "00000000-0000-0000-0000-000000000000"
11 | }
12 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_quickcreate_aws_workspaces_image/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get details of a Citrix QuickCreate AWS WorkSpaces Image with image id and account id
2 | data "citrix_quickcreate_aws_workspaces_image" "example_aws_workspaces_image" {
3 | id = "00000000-0000-0000-0000-000000000000"
4 | account_id = "00000000-0000-0000-0000-000000000000"
5 | }
6 |
7 | # Get details of a Citrix QuickCreate AWS WorkSpaces Image with image name and account id
8 | data "citrix_quickcreate_aws_workspaces_image" "example_aws_workspaces_image" {
9 | name = "exampleImageName"
10 | account_id = "00000000-0000-0000-0000-000000000000"
11 | }
12 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_quickdeploy_template_image/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get details of a Citrix QuickDeploy Template Image with image name
2 | data "citrix_quickdeploy_template_image" "example_template_image" {
3 | name = "example-image-name"
4 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_service_account/data-source.tf:
--------------------------------------------------------------------------------
1 | data citrix_service_account example-azuread-service-account {
2 | account_id = ""
3 | }
4 |
5 | data citrix_service_account example-ad-service-account {
6 | account_id = "domain\\admin" # Admin user name
7 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_site/data-source.tf:
--------------------------------------------------------------------------------
1 | # Site information can be fetched with the citrix_site data source.
2 | data "citrix_site" "example_citrix_site" {}
3 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_site_settings/data-source.tf:
--------------------------------------------------------------------------------
1 | # Site Settings information can be fetched with the citrix_site_settings data source.
2 | data "citrix_site_settings" "example_citrix_site_settings" {}
3 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_stf_roaming_service/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get details of a Citrix StoreFront Roming Service by site_id
2 | data "citrix_hypervisor_resource_pool" "azure-resource-pool" {
3 | site_id = "1"
4 | }
5 |
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_storefront_server/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get StoreFront Server data source by name
2 | data "citrix_storefront_server" "example_storefront_server_by_name" {
3 | name = "ExampleStoreFrontServer"
4 | }
5 |
6 | # Get StoreFront Server data source by id
7 | data "citrix_storefront_server" "example_storefront_server_by_id" {
8 | id = "00000000-0000-0000-0000-000000000000"
9 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_tag/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Tag detail by name
2 | data "citrix_tag" "example_tag_by_name" {
3 | name = "exampleTag"
4 | }
5 |
6 | # Get Tag detail by id
7 | data "citrix_tag" "example_tag_by_id" {
8 | id = "00000000-0000-0000-0000-000000000000"
9 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_tag_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_tag_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_user_policy_filter/data-source.tf:
--------------------------------------------------------------------------------
1 | data "citrix_user_policy_filter" "example_filter" {
2 | id = "00000000-0000-0000-0000-000000000000"
3 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_vda/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get VDA resource by machine catalog Name or Id
2 | data "citrix_vda" "vda_by_machine_catalog" {
3 | machine_catalog = "{MachineCatalog Name or Id}"
4 | }
5 |
6 | # Get VDA resource by delivery group Name or Id
7 | data "citrix_vda" "vda_by_delivery_group" {
8 | delivery_group = "{DeliveryGroup Name or Id}"
9 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_wem_configuration_set/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get WEM configuration set by id
2 | data "citrix_wem_configuration_set" "test_wem_configuration_set_by_id" {
3 | id = "1"
4 | }
5 |
6 | # Get WEM configuration set by name
7 | data "citrix_wem_configuration_set" "test_wem_configuration_set_by_name" {
8 | name = "Default Site"
9 | }
--------------------------------------------------------------------------------
/internal/examples/data-sources/citrix_zone/data-source.tf:
--------------------------------------------------------------------------------
1 | # Get Zone resource by name
2 | data "citrix_zone" "test_zone" {
3 | name = "zone-1"
4 | }
--------------------------------------------------------------------------------
/internal/examples/provider/provider.tf:
--------------------------------------------------------------------------------
1 | # Cloud Provider
2 | provider "citrix" {
3 | cvad_config = {
4 | customer_id = ""
5 | client_id = ""
6 | # secret can be specified via the CITRIX_CLIENT_SECRET environment variable
7 | }
8 | }
9 |
10 | # On-Premises Provider
11 | provider "citrix" {
12 | cvad_config = {
13 | hostname = "10.0.0.6"
14 | client_id = "foo.local\\admin"
15 | # secret can be specified via the CITRIX_CLIENT_SECRET environment variable
16 | }
17 | }
18 |
19 | # Storefront Provider
20 | provider "citrix" {
21 | storefront_remote_host = {
22 | computer_name = ""
23 | ad_admin_username =""
24 | ad_admin_password =""
25 | # secret can be specified via the CITRIX_CLIENT_SECRET environment variable
26 | }
27 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_access_control_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # Access Control Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_access_control_policy_filter.example_access_control_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_access_control_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | // With Citrix Gateway
2 | resource "citrix_access_control_policy_filter" "example_access_control_policy_filter" {
3 | policy_id = citrix_policy.example_policy.id
4 | enabled = true
5 | allowed = true
6 | connection_type = "WithAccessGateway"
7 | condition = "{Access Condition}" // Wildcard `*` is allowed
8 | gateway = "{Gateway farm name}" // Wildcard `*` is allowed
9 | }
10 |
11 | // Without Citrix Gateway
12 | resource "citrix_access_control_policy_filter" "example_access_control_policy_filter" {
13 | policy_id = citrix_policy.example_policy.id
14 | enabled = true
15 | allowed = true
16 | connection_type = "WithoutAccessGateway"
17 | condition = "*"
18 | gateway = "*"
19 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_admin_folder/import.sh:
--------------------------------------------------------------------------------
1 | # Admin Folder can be imported by specifying the ID
2 | terraform import citrix_admin_folder.example-admin-folder 1
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_admin_folder/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_admin_folder" "example-admin-folder-1" {
2 | name = "example-admin-folder-1"
3 | type = [ "ContainsApplications" ]
4 | }
5 |
6 | resource "citrix_admin_folder" "example-admin-folder-2" {
7 | name = "example-admin-folder-2"
8 | type = [ "ContainsApplications" ]
9 | parent_path = citrix_admin_folder.example-admin-folder-1.path
10 | }
11 |
12 | # If you want to define admin folders with different types but with the same name, please use a single resource block with a set of types for the admin folder
13 | resource "citrix_admin_folder" "example-admin-folder-3" {
14 | name = "example-admin-folder-3"
15 | type = [ "ContainsApplications", "ContainsMachineCatalogs", "ContainsDeliveryGroups", "ContainsApplicationGroups" ]
16 | }
17 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_admin_role/import.sh:
--------------------------------------------------------------------------------
1 | # Admin Role can be imported by specifying the GUID
2 | terraform import citrix_admin_role.example-admin-role 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_admin_role/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_admin_role" "on_premises_example_role" {
2 | name = "on_premise_admin_role"
3 | description = "Example admin role for CVAD onpremises"
4 | permissions = ["AppGroupApplications_ChangeTags"]
5 | }
6 |
7 | resource "citrix_admin_role" "cloud_example_role" {
8 | name = "cloud_admin_role"
9 | can_launch_manage = true
10 | can_launch_monitor = false
11 | description = "Example admin role for a DaaS admin with some app group permissions"
12 | permissions = [
13 | "AppGroupApplications_Read",
14 | "ApplicationGroup_AddScope",
15 | "ApplicationGroup_Read"
16 | ]
17 | }
18 |
19 | # To view all possible permissions use the data source:
20 | data "citrix_admin_permissions" "all-permissions" { }
21 |
22 | # The permissions can then be viewed via:
23 | # terraform apply
24 | # terraform state show data.citrix_admin_permissions.all-permissions
25 |
26 | # Example using the data source to create a new custom role
27 | data "citrix_admin_role" "desktop_group_admin_role" {
28 | name = "Delivery Group Custom Admin Role"
29 | description = "Role for managing delivery groups"
30 | permissions = [
31 | // all permissions from the data source that start with "DesktopGroup_", the old name for delivery groups
32 | for permission in data.citrix_admin_permissions.all-permissions.permissions :
33 | permission.id if startswith(permission.id, "DesktopGroup_")
34 | ]
35 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_admin_scope/import.sh:
--------------------------------------------------------------------------------
1 | # Admin Scope can be imported by specifying the GUID
2 | terraform import citrix_admin_scope.example-admin-scope 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_admin_scope/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_admin_scope" "example-admin-scope" {
2 | name = "example-admin-scope"
3 | description = "Example admin scope for delivery group and machine catalog"
4 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_admin_user/import.sh:
--------------------------------------------------------------------------------
1 | # Admin User can be imported by specifying the SID
2 | terraform import citrix_admin_user.example-admin-user S-1-5-21-0000000000-0000000000-0000000000-0000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_admin_user/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_admin_user" "example-admin-user" {
2 | name = "example-admin-user"
3 | domain_name = "example-domain"
4 | rights = [
5 | {
6 | role = "Delivery Group Administrator",
7 | scope = "All"
8 | }
9 | ]
10 | is_enabled = true
11 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_application/import.sh:
--------------------------------------------------------------------------------
1 | # Application can be imported by specifying the GUID
2 | terraform import citrix_application.example-application b620d505-0d0d-43b1-8c94-5cb21c5ab40d
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_application_group/import.sh:
--------------------------------------------------------------------------------
1 | # Application group can be imported by specifying the GUID
2 | terraform import citrix_application_group.example-application-group b620d505-0d0d-43b1-8c94-5cb21c5ab40d
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_application_group/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_application_group" "example-application-group" {
2 | name = "example-name"
3 | description = "example-description"
4 | included_users = ["user@text.com"]
5 | delivery_groups = [citrix_delivery_group.example-delivery-group.id, citrix_delivery_group.example-delivery-group-2.id]
6 | }
7 |
8 |
9 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_application_icon/import.sh:
--------------------------------------------------------------------------------
1 | # Application icon can be imported by specifying the ID
2 | terraform import citrix_application_icon.example-application-icon 1
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_application_icon/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_application_icon" "example-application-icon" {
2 | raw_data = filebase64("path/to/icon.ico")
3 | }
4 | # Use filebase64 to encode a file's content in base64 format.
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_aws_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # AWS Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_aws_hypervisor.example-aws-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_aws_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | # AWS Hypervisor
2 | resource "citrix_aws_hypervisor" "example-aws-hypervisor" {
3 | name = "example-aws-hypervisor"
4 | zone = ""
5 | api_key = var.aws_account_access_key # AWS account Access Key from variable
6 | secret_key = var.aws_account_secret_key # AWS account Secret Key from variable
7 | region = "us-east-2"
8 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_aws_hypervisor_resource_pool/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor Resource Pool can be imported with the format HypervisorId,HypervisorResourcePoolId
2 | terraform import citrix_aws_hypervisor_resource_pool.example-aws-hypervisor-resource-pool sbf0dc45-5c42-45a0-a15d-a3df4ff5da8c,ce571dd9-1a46-4b85-891c-484423322c53
3 |
4 | # Hypervisor Resource Pool can be imported by specifying the GUID
5 | terraform import citrix_aws_hypervisor_resource_pool.example-aws-hypervisor-resource-pool ce571dd9-1a46-4b85-891c-484423322c53
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_aws_hypervisor_resource_pool/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_aws_hypervisor_resource_pool" "example-aws-hypervisor-resource-pool" {
2 | name = "example-aws-hypervisor-resource-pool"
3 | hypervisor = citrix_aws_hypervisor.example-aws-hypervisor.id
4 | subnets = [
5 | "10.0.1.0/24",
6 | ]
7 | vpc = ""
8 | availability_zone = "us-east-2a"
9 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_azure_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # Azure Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_azure_hypervisor.example-azure-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_azure_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | # Azure Hypervisor
2 | resource "citrix_azure_hypervisor" "example-azure-hypervisor" {
3 | name = "example-azure-hypervisor"
4 | zone = ""
5 | active_directory_id = ""
6 | subscription_id = ""
7 | application_secret = var.azure_client_secret # Azure Client Secret from variable
8 | application_id = ""
9 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_azure_hypervisor_resource_pool/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor Resource Pool can be imported with the format HypervisorId,HypervisorResourcePoolId
2 | terraform import citrix_azure_hypervisor_resource_pool.example-azure-hypervisor-resource-pool sbf0dc45-5c42-45a0-a15d-a3df4ff5da8c,ce571dd9-1a46-4b85-891c-484423322c53
3 |
4 | # Hypervisor Resource Pool can be imported by specifying the GUID
5 | terraform import citrix_azure_hypervisor_resource_pool.example-azure-hypervisor-resource-pool ce571dd9-1a46-4b85-891c-484423322c53
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_azure_hypervisor_resource_pool/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_azure_hypervisor_resource_pool" "example-azure-hypervisor-resource-pool" {
2 | name = "example-azure-hypervisor-resource-pool"
3 | hypervisor = citrix_azure_hypervisor.example-azure-hypervisor.id
4 | region = "East US"
5 | virtual_network_resource_group = ""
6 | virtual_network = ""
7 | subnets = [
8 | "subnet 1",
9 | "subnet 2"
10 | ]
11 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_branch_repeater_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # Branch Repeater Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_branch_repeater_policy_filter.example_branch_repeater_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_branch_repeater_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | # When `allowed` is set to `true`, this means policy is applied to `Connections with Citrix SD-WAN`.
2 | resource "citrix_branch_repeater_policy_filter" "example_branch_repeater_policy_filter" {
3 | policy_id = citrix_policy.example_policy.id
4 | allowed = true
5 | }
6 |
7 | # When `allowed` is set to `false`, this means policy is applied to `Connections without Citrix SD-WAN`.
8 | resource "citrix_branch_repeater_policy_filter" "example_branch_repeater_policy_filter" {
9 | policy_id = citrix_policy.example_policy.id
10 | allowed = false
11 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_client_ip_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # Client IP Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_client_ip_policy_filter.example_client_ip_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_client_ip_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_client_ip_policy_filter" "example_client_ip_policy_filter" {
2 | policy_id = citrix_policy.example_policy.id
3 | enabled = true
4 | allowed = true
5 | ip_address = "{IP address to be filtered}"
6 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_client_name_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # Client Name Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_client_name_policy_filter.example_client_name_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_client_name_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_client_name_policy_filter" "example_client_name_policy_filter" {
2 | policy_id = citrix_policy.example_policy.id
3 | enabled = true
4 | allowed = true
5 | client_name = "{Name of the client to be filtered}"
6 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_client_platform_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # Client Platform Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_client_platform_policy_filter.example_client_platform_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_client_platform_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_client_platform_policy_filter" "example_client_platform_policy_filter" {
2 | policy_id = citrix_policy.example_policy.id
3 | enabled = true
4 | allowed = true
5 | platform = "{Windows|Linux|Mac|Ios|Android|Html5}"
6 | }
7 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_cloud_admin_user/import.sh:
--------------------------------------------------------------------------------
1 | # Admin User can be imported by specifying their adminId which can be userId or ucOid. Note: Admin users must accept the invitation before they can be imported.
2 | terraform import citrix_cloud_admin_user.example-admin-user f6197063-a7b3-49fc-a1df-42a042449bff
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_cloud_google_identity_provider/import.sh:
--------------------------------------------------------------------------------
1 | # Citrix Cloud Google Identity Provider can be imported by specifying the ID
2 | terraform import citrix_cloud_google_identity_provider.example_google_idp 00000000-0000-0000-0000-000000000000
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_cloud_google_identity_provider/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_cloud_google_identity_provider" "example_google_idp" {
2 | name = "example Google idp"
3 | auth_domain_name = "exampleAuthDomain"
4 | client_email = var.example_google_idp_client_email
5 | private_key = var.example_google_idp_private_key
6 | impersonated_user = var.example_google_idp_impersonated_user
7 | }
8 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_cloud_okta_identity_provider/import.sh:
--------------------------------------------------------------------------------
1 | # Citrix Cloud Okta Identity Provider can be imported by specifying the ID
2 | terraform import citrix_cloud_okta_identity_provider.example_okta_idp 00000000-0000-0000-0000-000000000000
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_cloud_okta_identity_provider/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_cloud_okta_identity_provider" "example_okta_idp" {
2 | name = "example Okta idp"
3 | okta_domain = "example.okta.com"
4 | okta_client_id = var.example_okta_client_id
5 | okta_client_secret = var.example_okta_client_secret
6 | okta_api_token = var.example_okta_api_token
7 | }
8 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_cloud_resource_location/import.sh:
--------------------------------------------------------------------------------
1 | # Resource Location can be imported by specifying the resource location GUID
2 | terraform import citrix_cloud_resource_location.test_resource_location 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_cloud_resource_location/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_cloud_resource_location" "example-resource-location" {
2 | name = "example-resource-location"
3 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_cloud_saml_identity_provider/import.sh:
--------------------------------------------------------------------------------
1 | # SAML 2.0 Identity Provider can be imported by specifying the GUID
2 | terraform import citrix_cloud_saml_identity_provider.example_saml_idp 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_cloud_saml_identity_provider/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_cloud_saml_identity_provider" "example_saml_idp" {
2 | name = "example SAML 2.0 idp"
3 | auth_domain_name = "exampleAuthDomain"
4 |
5 | entity_id = var.saml_entity_id
6 | use_scoped_entity_id = false
7 |
8 | single_sign_on_service_url = var.saml_sso_url
9 | sign_auth_request = "Yes"
10 | single_sign_on_service_binding = "HttpPost"
11 | saml_response = "SignEitherResponseOrAssertion"
12 | cert_file_path = var.cert_file_path
13 | authentication_context = "Unspecified"
14 | authentication_context_comparison = "Exact"
15 |
16 | logout_url = var.saml_logout_url
17 | sign_logout_request = "Yes"
18 | logout_binding = "HttpPost"
19 |
20 | attribute_names = {
21 | user_display_name = "displayName"
22 | user_given_name = "givenName"
23 | user_family_name = "familyName"
24 | security_identifier = "cip_sid"
25 | user_principal_name = "cip_upn"
26 | email = "cip_email"
27 | ad_object_identifier = "cip_oid"
28 | ad_forest = "cip_forest"
29 | ad_domain = "cip_domain"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_delivery_group/import.sh:
--------------------------------------------------------------------------------
1 | # Delivery Group can be imported by specifying the GUID
2 | terraform import citrix_delivery_group.example-delivery-group a92ac0d6-9a0f-477a-a504-07cae8fccb81
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_delivery_group_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # Delivery Group Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_delivery_group_policy_filter.example_delivery_group_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_delivery_group_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_delivery_group_policy_filter" "example_delivery_group_policy_filter" {
2 | policy_id = citrix_policy.example_policy.id
3 | enabled = true
4 | allowed = true
5 | delivery_group_id = "{ID of the delivery group to be filtered}"
6 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_delivery_group_type_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # Delivery Group Type Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_delivery_group_type_policy_filter.example_delivery_group_type_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_delivery_group_type_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | // Available `delivery_group_type` are `Private`, `PrivateApp`, `Shared`, `SharedApp`
2 | // `Private` means Private Desktop
3 | // `PrivateApp` means Private Application
4 | // `Shared` means Shared Desktop
5 | // `SharedApp` means Shared Application
6 | resource "citrix_delivery_group_type_policy_filter" "example_delivery_group_type_policy_filter" {
7 | policy_id = citrix_policy.example_policy.id
8 | enabled = true
9 | allowed = true
10 | delivery_group_type = "{Type of the delivery group to be filtered}"
11 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_desktop_icon/import.sh:
--------------------------------------------------------------------------------
1 | # Desktop icon can be imported by specifying the ID
2 | terraform import citrix_desktop_icon.example-desktop-icon 1
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_desktop_icon/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_desktop_icon" "example-desktop-icon" {
2 | raw_data = filebase64("path/to/desktopicon.ico")
3 | }
4 | # Use filebase64 to encode a file's content in base64 format.
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_gac_discovery/import.sh:
--------------------------------------------------------------------------------
1 | # Global App Configuration Discovery can be imported by specifying the domain
2 | terraform import citrix_gac_discovery.example-gac-discovery example-domain.com
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_gac_discovery/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_gac_discovery" "example-gac-discovery" {
2 | domain = "example-domain.com"
3 | service_urls = ["https://example.com:443", "https://example2.com:80"]
4 | allowed_web_store_urls = ["https://example.com", "https://example2.com"]
5 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_gac_settings/import.sh:
--------------------------------------------------------------------------------
1 | # Global App Configuration settings can be imported by specifying the service url
2 | terraform import citrix_gac_settings.test_gac_settings https://example.com:443
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_gcp_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_gcp_hypervisor.example-gcp-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_gcp_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | # GCP Hypervisor
2 | resource "citrix_gcp_hypervisor" "example-gcp-hypervisor" {
3 | name = "example-gcp-hypervisor"
4 | zone = ""
5 | service_account_id = ""
6 | service_account_credentials = ""
7 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_gcp_hypervisor_resource_pool/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor Resource Pool can be imported with the format HypervisorId,HypervisorResourcePoolId
2 | terraform import citrix_gcp_hypervisor_resource_pool.example-gcp-hypervisor-resource-pool sbf0dc45-5c42-45a0-a15d-a3df4ff5da8c,ce571dd9-1a46-4b85-891c-484423322c53
3 |
4 | # Hypervisor Resource Pool can be imported by specifying the GUID
5 | terraform import citrix_gcp_hypervisor_resource_pool.example-gcp-hypervisor-resource-pool ce571dd9-1a46-4b85-891c-484423322c53
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_gcp_hypervisor_resource_pool/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_gcp_hypervisor_resource_pool" "example-gcp-hypervisor-resource-pool" {
2 | name = "example-gcp-hypervisor-resource-pool"
3 | hypervisor = citrix_gcp_hypervisor.example-gcp-hypervisor.id
4 | project_name = "10000-example-gcp-project"
5 | region = "us-east1"
6 | subnets = [
7 | "us-east1",
8 | ]
9 | vpc = ""
10 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_hpe_moonshot_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_hpe_moonshot_hypervisor.example-hpe-moonshot-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_hpe_moonshot_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | # HPE Moonshot Hypervisor
2 | resource "citrix_hpe_moonshot_hypervisor" "example-hpe-moonshot-hypervisor" {
3 | name = "example-hpe-moonshot-hypervisor"
4 | zone = ""
5 | username = ""
6 | password = ""
7 | password_format = "PlainText"
8 | addresses = [
9 | "http://"
10 | ]
11 | ssl_thumbprints = [
12 | ""
13 | ]
14 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_image_definition/import.sh:
--------------------------------------------------------------------------------
1 | # Image Definition can be imported by specifying the GUID
2 | terraform import citrix_image_definition.example_image_definition 00000000-0000-0000-0000-000000000000
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_image_definition/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_image_definition" "example_azure_image_definition" {
2 | name = "Example Azure Image Definition"
3 | description = "Example Azure Image Definition Description"
4 | os_type = "Windows"
5 | session_support = "MultiSession"
6 | hypervisor = citrix_azure_hypervisor.example_azure_hypervisor.id
7 | hypervisor_resource_pool = citrix_azure_hypervisor_resource_pool.example_azure_hypervisor_resource_pool.id
8 | azure_image_definition = {
9 | resource_group = "ExampleResourceGroup"
10 | use_image_gallery = true
11 | image_gallery_name = "ExampleImageGalleryName"
12 | }
13 | }
14 |
15 | resource "citrix_image_definition" "example_vsphere_image_definition" {
16 | name = "Example vSphere Image Definition"
17 | description = "Example vSphere Image Definition Description"
18 | os_type = "Windows"
19 | session_support = "MultiSession"
20 | hypervisor = citrix_vsphere_hypervisor.example_vsphere_hypervisor.id
21 | hypervisor_resource_pool = citrix_vsphere_hypervisor_resource_pool.example_vsphere_hypervisor_resource_pool.id
22 | }
23 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_image_version/import.sh:
--------------------------------------------------------------------------------
1 | # Image Version can be imported with the format ImageDefinitionId,ImageVersionId
2 | terraform import citrix_image_version.example_image_version 86a00c8a-504c-4a85-9d5d-bce4d5876a72,fb8cc891-c6c8-4c26-be52-1734d4ef1207
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_machine_catalog/import.sh:
--------------------------------------------------------------------------------
1 | # Machine catalog can be imported by specifying the GUID
2 | terraform import citrix_machine_catalog.example b2339edf-7b00-436e-9c3a-54c987c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_machine_properties/import.sh:
--------------------------------------------------------------------------------
1 | # citrix_machine_properties resource can be imported with the Machine Name
2 | terraform import citrix_machine_properties.example_machine_properties domain\machine-name
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_machine_properties/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_machine_properties" "example_machine_properties" {
2 | name = "domain\\machine-name" // For workgroup machines, use machine-name only
3 | machine_catalog_id = "00000000-0000-0000-0000-000000000000" // Id of the machine catalog the machine belongs to
4 | tags = [ "11111111-1111-1111-1111-111111111111" ] // Tags to be assigned to the machine
5 | }
6 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_nutanix_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # Nutanix Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_nutanix_hypervisor.example-nutanix-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_nutanix_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | # Nutanix Hypervisor
2 | resource "citrix_nutanix_hypervisor" "example-nutanix-hypervisor" {
3 | name = "example-nutanix-hypervisor"
4 | zone = ""
5 | username = ""
6 | password = ""
7 | password_format = "Plaintext"
8 | addresses = ["10.122.36.26"]
9 | max_absolute_active_actions = 20
10 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_nutanix_hypervisor_resource_pool/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor Resource Pool can be imported with the format HypervisorId,HypervisorResourcePoolId
2 | terraform import citrix_nutanix_hypervisor_resource_pool.example-nutanix-hypervisor-resource-pool sbf0dc45-5c42-45a0-a15d-a3df4ff5da8c,ce571dd9-1a46-4b85-891c-484423322c53
3 |
4 | # Hypervisor Resource Pool can be imported by specifying the GUID
5 | terraform import citrix_nutanix_hypervisor_resource_pool.example-nutanix-hypervisor-resource-pool ce571dd9-1a46-4b85-891c-484423322c53
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_nutanix_hypervisor_resource_pool/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_nutanix_hypervisor_resource_pool" "example-nutanix-hypervisor-resource-pool" {
2 | name = "example-nutanix-hypervisor-resource-pool"
3 | hypervisor = citrix_nutanix_hypervisor.example-nutanix-hypervisor.id
4 | networks = [
5 | "",
6 | ""
7 | ]
8 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_openshift_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # OpenShift Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_openshift_hypervisor.example-openshift-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_openshift_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_openshift_hypervisor" "example-openshift-hypervisor" {
2 | name = "example-openshift-hypervisor"
3 | zone = ""
4 | service_account_token = ""
5 | addresses = [""]
6 | ssl_thumbprints = [""]
7 | max_absolute_active_actions = 150
8 | max_absolute_new_actions_per_minute = 30
9 | max_power_actions_percentage_of_machines = 40
10 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_openshift_hypervisor_resource_pool/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor Resource Pool can be imported with the format HypervisorId,HypervisorResourcePoolId
2 | terraform import citrix_openshift_hypervisor_resource_pool.example-openshift-hypervisor-resource-pool sbf0dc45-5c42-45a0-a15d-a3df4ff5da8c,ce571dd9-1a46-4b85-891c-484423322c53
3 |
4 | # Hypervisor Resource Pool can be imported by specifying the GUID
5 | terraform import citrix_openshift_hypervisor_resource_pool.example-openshift-hypervisor-resource-pool ce571dd9-1a46-4b85-891c-484423322c53
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_openshift_hypervisor_resource_pool/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_openshift_hypervisor_resource_pool" "example-openshift-hypervisor-resource-pool" {
2 | name = "example-openshift-hypervisor-resource-pool"
3 | hypervisor = citrix_openshift_hypervisor.example-openshift-hypervisor.id
4 | namespace = ""
5 | networks = [
6 | "",
7 | ""
8 | ]
9 | storage = [
10 | {
11 | storage_name = ""
12 | superseded = false # Only to be used for updates
13 | }
14 | ]
15 | temporary_storage = [
16 | {
17 | storage_name = ""
18 | superseded = false # Only to be used for updates
19 | }
20 | ]
21 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_ou_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # Organizational Unit Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_ou_policy_filter.example_ou_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_ou_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_ou_policy_filter" "example_ou_policy_filter" {
2 | policy_id = citrix_policy.example_policy.id
3 | enabled = true
4 | allowed = true
5 | ou = "{Path of the organizational unit to be filtered}"
6 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_policy/import.sh:
--------------------------------------------------------------------------------
1 | # Policy can be imported by specifying the Policy GUID
2 | terraform import citrix_policy.example_policy 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_policy/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_policy" "example_policy" {
2 | policy_set_id = citrix_policy_set_v2.example_policy_set_v2.id
3 | name = "example_policy"
4 | description = "example policy description"
5 | enabled = true
6 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_policy_priority/import.sh:
--------------------------------------------------------------------------------
1 | # Policy Priority can be imported by specifying the Policy Set GUID
2 | terraform import citrix_policy_priority.example 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_policy_priority/resource.tf:
--------------------------------------------------------------------------------
1 | // Policy Priority manages the priorities of the policies in a policy set.
2 | resource "citrix_policy_priority" "example" {
3 | policy_set_id = citrix_policy_set_v2.example_policy_set_v2.id
4 | policy_priority = [
5 | citrix_policy.example_policy_1.id,
6 | citrix_policy.example_policy_2.id,
7 | citrix_policy.example_policy_3.id
8 | ]
9 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_policy_set/import.sh:
--------------------------------------------------------------------------------
1 | # Policy and Policy Set Association can be imported by specifying the Policy Set GUID
2 | terraform import citrix_policy_set.example 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_policy_set_v2/import.sh:
--------------------------------------------------------------------------------
1 | # Policy Set can be imported by specifying the Policy Set GUID
2 | terraform import citrix_policy_set_v2.example 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_policy_set_v2/resource.tf:
--------------------------------------------------------------------------------
1 | // Policy set is a collection of policies. You can use `citrix_policy_priority` resource to set the priority of the policies in the policy set.
2 | resource "citrix_policy_set_v2" "example_policy_set_v2" {
3 | name = "example_policy_set_v2"
4 | description = "example_policy_set_v2 description"
5 | scopes = []
6 | delivery_groups = [
7 | "00000000-0000-0000-0000-000000000000"
8 | ]
9 | }
10 |
11 | // The default policy set can also be managed by the `citrix_policy_set_v2` resource by import. However, it cannot be modified or deleted.
12 | resource "citrix_policy_set_v2" "default_site_policies" {
13 | name = "DefaultSitePolicies"
14 | delivery_groups = []
15 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_policy_setting/import.sh:
--------------------------------------------------------------------------------
1 | # Policy Setting can be imported by specifying the Policy Setting GUID
2 | terraform import citrix_policy_setting.example_policy_setting 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_policy_setting/resource.tf:
--------------------------------------------------------------------------------
1 | // Policy Settings are associated with a policy
2 | resource "citrix_policy_setting" "example_policy_setting" {
3 | policy_id = citrix_policy.example_policy.id
4 | name = "AdvanceWarningPeriod"
5 | use_default = false
6 | value = "13:00:00"
7 | }
8 |
9 | // To use default value
10 | resource "citrix_policy_setting" "example_policy_setting" {
11 | policy_id = citrix_policy.example_policy.id
12 | name = "AdvanceWarningPeriod"
13 | use_default = true
14 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_quickcreate_aws_workspaces_account/import.sh:
--------------------------------------------------------------------------------
1 | # Quick Deploy AWS WorkSpaces Account can be imported by specifying the Account GUID
2 | terraform import citrix_quickcreate_aws_workspaces_account.test_aws_workspaces_account 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_quickcreate_aws_workspaces_account/resource.tf:
--------------------------------------------------------------------------------
1 | # Quick Deploy AWS WorkSpaces Account with AWS Role ARN
2 | resource "citrix_quickcreate_aws_workspaces_account" "example_aws_workspaces_account_role_arn" {
3 | name = "exampe-aws-workspaces-account-role-arn"
4 | aws_region = "us-east-1"
5 | aws_role_arn = ""
6 | }
7 |
8 | # Quick Deploy AWS WorkSpaces Account with AWS Access Key and Secret Access Key
9 | resource "citrix_quickcreate_aws_workspaces_account" "example_aws_workspaces_account_access_key" {
10 | name = "exampe-aws-workspaces-account-access-key"
11 | aws_region = "us-east-1"
12 | aws_access_key_id = var.aws_access_key_id # AWS Access Key ID from variable
13 | aws_secret_access_key = var.aws_secret_access_key # AWS Secret Access Key from variable
14 | }
15 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_quickcreate_aws_workspaces_deployment/import.sh:
--------------------------------------------------------------------------------
1 | # Quick Deploy AWS WorkSpaces Deployment can be imported by specifying the Deployment GUID.
2 | terraform import citrix_quickcreate_aws_workspaces_deployment.example_aws_workspaces_deployment 00000000-0000-0000-0000-000000000000
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_quickcreate_aws_workspaces_directory_connection/import.sh:
--------------------------------------------------------------------------------
1 | # Quick Deploy AWS WorkSpaces Directory Connection can be imported by specifying the Account GUID and Directory Connection GUID separated by a comma.
2 | terraform import citrix_quickcreate_aws_workspaces_directory_connection.example_aws_workspaces_directory_connection 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_quickcreate_aws_workspaces_image/import.sh:
--------------------------------------------------------------------------------
1 | # Quick Deploy AWS WorkSpaces Image can be imported by specifying the Account GUID and the Image GUID separated by a comma.
2 | terraform import citrix_quickcreate_aws_workspaces_image.example_aws_workspaces_image 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_quickcreate_aws_workspaces_image/resource.tf:
--------------------------------------------------------------------------------
1 | # Quick Deploy AWS WorkSpaces Image with AMI image
2 | resource "citrix_quickcreate_aws_workspaces_image" "example_aws_workspaces_image_ami" {
3 | name = "exampe-aws-workspaces-image"
4 | account_id = citrix_quickcreate_aws_workspaces_account.example_aws_workspaces_account.id
5 | aws_image_id = "ami-012345abcde"
6 | description = "Example AWS WorkSpaces image imported with AMI id"
7 | session_support = "SingleSession"
8 | operating_system = "WINDOWS"
9 | ingestion_process = "BYOL_REGULAR_BYOP"
10 | }
11 |
12 | # Quick Deploy AWS WorkSpaces Image with WSI image
13 | resource "citrix_quickcreate_aws_workspaces_image" "example_aws_workspaces_image_wsi" {
14 | name = "exampe-aws-workspaces-image"
15 | account_id = citrix_quickcreate_aws_workspaces_account.example_aws_workspaces_account.id
16 | aws_image_id = "wsi-012345abcde"
17 | description = "Example AWS WorkSpaces image imported with WSI id"
18 | session_support = "SingleSession"
19 | operating_system = "WINDOWS"
20 | ingestion_process = "BYOL_REGULAR_BYOP"
21 | }
22 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_quickdeploy_template_image/resource.tf:
--------------------------------------------------------------------------------
1 | # Quick Deploy Template Image with VHD URI
2 | resource citrix_quickdeploy_template_image test_image {
3 | name = "example-template-image"
4 | notes = "Example Windows Gen 1 template image imported to US East region in the Citrix Managed Azure Subscription via VHD URI"
5 | subscription_name = "Citrix Managed"
6 | region = "East US"
7 | vhd_uri = ""
8 | machine_generation = "V1"
9 | os_platform = "Windows"
10 | }
11 |
12 | # Quick Deploy Gen 2 Template Image with vTPM and Secure Boot enabled
13 | resource citrix_quickdeploy_template_image test_image {
14 | name = "example-template-image"
15 | notes = "Example Windows Gen 2 template image with vTPM and Secure Boot enabled"
16 | subscription_name = "Citrix Managed"
17 | region = "East US"
18 | vhd_uri = ""
19 | machine_generation = "V2"
20 | os_platform = "Windows"
21 | vtpm_enabled = true
22 | secure_boot_enabled = true
23 | guest_disk_uri = ""
24 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_remote_pc_wake_on_lan_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_remote_pc_wake_on_lan_hypervisor.example_remote_pc_wake_on_lan_hypervisor 00000000-0000-0000-0000-000000000000
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_remote_pc_wake_on_lan_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | # Remote PC Wake on LAN Hypervisor
2 | resource "citrix_remote_pc_wake_on_lan_hypervisor" "example-remotepc-wakeonlan-hypervisor" {
3 | name = "example-remotepc-wakeonlan-hypervisor"
4 | zone = ""
5 | }
6 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_scvmm_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # SCVMM Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_scvmm_hypervisor.example-scvmm-hypervisor b2338edf-281b-436e-9c3a-54c546c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_scvmm_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | # SCVMM Hypervisor
2 | resource "citrix_scvmm_hypervisor" "example-scvmm-hypervisor" {
3 | name = "example-scvmm-hypervisor"
4 | zone = ""
5 | username = ""
6 | password = ""
7 | password_format = "Plaintext"
8 | addresses = ["scvmm.example.com"]
9 | max_absolute_active_actions = 50
10 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_scvmm_hypervisor_resource_pool/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor Resource Pool can be imported with the format HypervisorId,HypervisorResourcePoolId
2 | terraform import citrix_scvmm_hypervisor_resource_pool.example-scvmm-hypervisor-resource-pool b2338edf-281b-436e-9c3a-54c546c3526e,ce571dd9-1a46-4b85-891c-484423322c53
3 |
4 | # Hypervisor Resource Pool can be imported by specifying the GUID
5 | terraform import citrix_scvmm_hypervisor_resource_pool.example-scvmm-hypervisor-resource-pool ce571dd9-1a46-4b85-891c-484423322c53
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_scvmm_hypervisor_resource_pool/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_scvmm_hypervisor_resource_pool" "example-scvmm-hypervisor-resource-pool" {
2 | name = "example-scvmm-hypervisor-resource-pool"
3 | hypervisor = citrix_scvmm_hypervisor.example-scvmm-hypervisor.id
4 | host = ""
5 | networks = [
6 | "",
7 | ""
8 | ]
9 | storage = [
10 | {
11 | storage_name = ""
12 | superseded = false # Only to be used for updates
13 | }
14 | ]
15 | temporary_storage = [
16 | {
17 | storage_name = ""
18 | superseded = false # Only to be used for updates
19 | }
20 | ]
21 | use_local_storage_caching = false
22 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_service_account/import.sh:
--------------------------------------------------------------------------------
1 | # Service account can be imported by specifying the ID
2 | terraform import citrix_service_account ce571dd9-1a46-4b85-891c-484423322c53
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_service_account/resource.tf:
--------------------------------------------------------------------------------
1 | resource citrix_service_account "example-azuread-service-account" {
2 | display_name = "example-azuread-service-account"
3 | description = "created with terraform"
4 | identity_provider_type = "AzureAD"
5 | identity_provider_identifier = ""
6 | account_id = ""
7 | account_secret = ""
8 | account_secret_format = "PlainText"
9 | enable_intune_enrolled_device_management = true
10 | secret_expiry_time = "2099-12-31"
11 | }
12 |
13 | resource citrix_service_account "example-ad-service-account" {
14 | display_name = "example-ad-service-account"
15 | description = "created with terraform"
16 | identity_provider_type = "ActiveDirectory"
17 | identity_provider_identifier = "domain.com" # Domain name
18 | account_id = "domain\\admin" # Admin user name
19 | account_secret = "admin-secret" # Admin password
20 | account_secret_format = "PlainText"
21 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_site_backup_schedule/import.sh:
--------------------------------------------------------------------------------
1 | terraform import citrix_site_backup_schedule.example-backup-schedule 1
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_site_backup_schedule/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_site_backup_schedule" "example_backup_schedule" {
2 | name = "ExampleBackupSchedule"
3 | start_time = "09:00:00"
4 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_site_settings/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_site_settings" "example" {
2 | web_ui_policy_set_enabled = false
3 | dns_resolution_enabled = false
4 | multiple_remote_pc_assignments = true
5 | trust_requests_sent_to_the_xml_service_port_enabled = false
6 | }
7 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_authentication_service/import.sh:
--------------------------------------------------------------------------------
1 | # StoreFront Authentication Service can be imported with the IIS Site Id and Virtual Path
2 | terraform import citrix_stf_deployment.example-stf-deployment 1,"/Citrix/Auth"
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_authentication_service/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_stf_authentication_service" "example-stf-authentication-service" {
2 | site_id = citrix_stf_deployment.example-stf-deployment.site_id
3 | friendly_name = "Example STF Authentication Service"
4 | virtual_path = "/Citrix/Authentication"
5 | claims_factory_name = "ExampleClaimsFactoryName"
6 |
7 | // Add depends_on attribute to ensure the StoreFront Authentication Service is created after the Deployment
8 | depends_on = [ citrix_stf_deployment.example-stf-deployment ]
9 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_deployment/import.sh:
--------------------------------------------------------------------------------
1 | # StoreFront Deployment can be imported with the IIS Site ID
2 | terraform import citrix_stf_deployment.example-stf-deployment "1"
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_deployment/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_stf_deployment" "example-stf-deployment" {
2 | site_id = "1"
3 | host_base_url = "https://"
4 | roaming_gateway = [
5 | {
6 | name = "Example Roaming Gateway Name"
7 | logon_type = "None"
8 | gateway_url = "https://example.gateway.url/"
9 | subnet_ip_address = "10.0.0.1"
10 | }
11 | ]
12 | roaming_beacon = {
13 | internal_address = "https://example.internalip.url/"
14 | external_addresses = ["https://example.externalip.url/"]
15 | }
16 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_store_service/import.sh:
--------------------------------------------------------------------------------
1 | # StoreFront Store Service can be imported with the IIS Site Id and Virtual Path
2 | terraform import citrix_stf_store_service.example-stf-store-service 1,"/Citrix/Store"
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_user_farm_mapping/import.sh:
--------------------------------------------------------------------------------
1 | # StoreFront UserFarmMapping can be imported with the Store Virtual Path and UserFarmMapping Name
2 | terraform import citrix_stf_user_farm_mapping.example-stf-user-farm-mapping "/Citrix/Store","Example UserFarmMapping"
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_user_farm_mapping/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_stf_user_farm_mapping" "example-stf-user-farm-mapping" {
2 | name = "Example STFUserFarmMapping"
3 | store_virtual_path = citrix_stf_store_service.example-stf-store-service.virtual_path
4 | group_members = [
5 | {
6 | group_name = "TestGroup1"
7 | account_sid = "{First Account Sid}"
8 | },
9 | {
10 | group_name = "TestGroup2"
11 | account_sid = "{Second Account Sid}"
12 | }
13 | ]
14 | equivalent_farm_sets = [
15 | {
16 | name = "EU1",
17 | aggregation_group_name = "EU1Users"
18 | primary_farms = [citrix_stf_store_service.example-stf-store-service.farms.0.farm_name]
19 | backup_farms = [citrix_stf_store_service.example-stf-store-service.farms.1.farm_name]
20 | load_balance_mode = "LoadBalanced"
21 | farms_are_identical = true
22 | },
23 | {
24 | name = "EU2",
25 | aggregation_group_name = "EU2Users"
26 | primary_farms = [citrix_stf_store_service.example-stf-store-service.farms.1.farm_name]
27 | load_balance_mode = "Failover"
28 | farms_are_identical = false
29 | }
30 | ]
31 |
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_webreceiver_service/import.sh:
--------------------------------------------------------------------------------
1 | # StoreFront Webreceiver Service can be imported with the IIS Virtual Path
2 | terraform import citrix_stf_webreceiver_service.example-stf-webreceiver-service 1,"/Citrix/StoreWeb"
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_xenapp_default_store/import.sh:
--------------------------------------------------------------------------------
1 | # StoreFront Default Store can be imported with the Store SiteId and Service path
2 | terraform import citrix_stf_xenapp_default_store.example-stf-xenapp-default-store 1,"/Citrix/Store"
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_stf_xenapp_default_store/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_stf_xenapp_default_store" "example-stf-xenapp-default-store" {
2 | store_virtual_path = citrix_stf_store_service.example-stf-store-service.virtual_path
3 | store_site_id = citrix_stf_store_service.example-stf-store-service.site_id
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_storefront_server/import.sh:
--------------------------------------------------------------------------------
1 | # StoreFront Server can be imported by specifying the GUID
2 | terraform import citrix_storefront_server.example-storefront-server f60476fd-360d-4d35-861d-da8404652b166
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_storefront_server/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_storefront_server" "example-storefront_server" {
2 | name = "example-storefront-server"
3 | description = "StoreFront server example"
4 | url = "https://storefront.example.com/citrix/store"
5 | enabled = true
6 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_tag/import.sh:
--------------------------------------------------------------------------------
1 | # Tag can be imported by specifying the GUID
2 | terraform import citrix_tag.example_tag 00000000-0000-0000-0000-000000000000
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_tag/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_tag" "example_tag" {
2 | name = "TagName"
3 | description = "Example description of the tag"
4 | scopes = [
5 | citrix_admin_scope.example_admin_scope.id
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_tag_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # Tag Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_tag_policy_filter.example_tag_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_tag_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_tag_policy_filter" "example_tag_policy_filter" {
2 | policy_id = citrix_policy.example_policy.id
3 | enabled = true
4 | allowed = true
5 | tag = "{ID of the tag to be filtered}"
6 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_user_policy_filter/import.sh:
--------------------------------------------------------------------------------
1 | # User Policy Filter can be imported by specifying the Policy Filter GUID
2 | terraform import citrix_user_policy_filter.example_user_policy_filter 00000000-0000-0000-0000-000000000000
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_user_policy_filter/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_user_policy_filter" "example_user_policy_filter" {
2 | policy_id = citrix_policy.example_policy.id
3 | enabled = true
4 | allowed = true
5 | sid = "{SID of the user or user group to be filtered}"
6 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_vsphere_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # vSphere Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_vsphere_hypervisor.example-vsphere-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_vsphere_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | # vSphere Hypervisor
2 | resource "citrix_vsphere_hypervisor" "example-vsphere-hypervisor" {
3 | name = "example-vsphere-hypervisor"
4 | zone = ""
5 | username = ""
6 | password = ""
7 | password_format = "Plaintext"
8 | addresses = ["https://10.36.122.45"]
9 | max_absolute_active_actions = 20
10 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_vsphere_hypervisor_resource_pool/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor Resource Pool can be imported with the format HypervisorId,HypervisorResourcePoolId
2 | terraform import citrix_vsphere_hypervisor_resource_pool.example-vsphere-hypervisor-resource-pool sbf0dc45-5c42-45a0-a15d-a3df4ff5da8c,ce571dd9-1a46-4b85-891c-484423322c53
3 |
4 | # Hypervisor Resource Pool can be imported by specifying the GUID
5 | terraform import citrix_vsphere_hypervisor_resource_pool.example-vsphere-hypervisor-resource-pool ce571dd9-1a46-4b85-891c-484423322c53
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_vsphere_hypervisor_resource_pool/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_vsphere_hypervisor_resource_pool" "example-vsphere-hypervisor-resource-pool" {
2 | name = "example-vsphere-hypervisor-resource-pool"
3 | hypervisor = citrix_vsphere_hypervisor.example-vsphere-hypervisor.id
4 | cluster = {
5 | datacenter = ""
6 | cluster_name = ""
7 | # host = "" // Use one of host or cluster
8 | }
9 | networks = [
10 | "",
11 | ""
12 | ]
13 | storage = [
14 | {
15 | storage_name = ""
16 | superseded = false # Only to be used for updates
17 | }
18 | ]
19 | temporary_storage = [
20 | {
21 | storage_name = ""
22 | superseded = false # Only to be used for updates
23 | }
24 | ]
25 | use_local_storage_caching = false
26 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_wem_configuration_set/import.sh:
--------------------------------------------------------------------------------
1 | # WEM Configuration Set can be imported by specifying the ID
2 | terraform import citrix_wem_configuration_set.example-config-set 1234
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_wem_configuration_set/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_wem_configuration_set" "example-config-set"{
2 | name = "example config set"
3 | description = "example WEM configuration set"
4 | }
5 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_wem_directory_object/import.sh:
--------------------------------------------------------------------------------
1 | # WEM Directory Object can be imported by specifying the ID
2 | terraform import citrix_wem_directory_object.example-directory-object 1234
3 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_wem_directory_object/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_wem_directory_object" "example-directory-object" {
2 | configuration_set_id = citrix_wem_configuration_set.example-config-set.id
3 | machine_catalog_id = citrix_machine_catalog.example-machine-catalog.id
4 | enabled = true
5 | }
6 |
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_xenserver_hypervisor/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor can be imported by specifying the GUID
2 | terraform import citrix_xenserver_hypervisor.example-xenserver-hypervisor b2339edf-7b00-436e-9c3a-54c987c3526e
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_xenserver_hypervisor/resource.tf:
--------------------------------------------------------------------------------
1 | # XenServer Hypervisor
2 | resource "citrix_xenserver_hypervisor" "example-xenserver-hypervisor" {
3 | name = "example-xenserver-hypervisor"
4 | zone = ""
5 | username = ""
6 | password = ""
7 | password_format = "PlainText"
8 | addresses = [
9 | "http://"
10 | ]
11 | ssl_thumbprints = [
12 | ""
13 | ]
14 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_xenserver_hypervisor_resource_pool/import.sh:
--------------------------------------------------------------------------------
1 | # Hypervisor Resource Pool can be imported with the format HypervisorId,HypervisorResourcePoolId
2 | terraform import citrix_xenserver_hypervisor_resource_pool.example-xenserver-hypervisor-resource-pool sbf0dc45-5c42-45a0-a15d-a3df4ff5da8c,ce571dd9-1a46-4b85-891c-484423322c53
3 |
4 | # Hypervisor Resource Pool can be imported by specifying the GUID
5 | terraform import citrix_xenserver_hypervisor_resource_pool.example-xenserver-hypervisor-resource-pool ce571dd9-1a46-4b85-891c-484423322c53
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_xenserver_hypervisor_resource_pool/resource.tf:
--------------------------------------------------------------------------------
1 | resource "citrix_xenserver_hypervisor_resource_pool" "example-xenserver-hypervisor-resource-pool" {
2 | name = "example-xenserver-hypervisor-resource-pool"
3 | hypervisor = citrix_xenserver_hypervisor.example-xenserver-hypervisor.id
4 | networks = [
5 | "",
6 | ""
7 | ]
8 | storage = [
9 | {
10 | storage_name = ""
11 | superseded = false # Only to be used for updates
12 | }
13 | ]
14 | temporary_storage = [
15 | {
16 | storage_name = ""
17 | superseded = false # Only to be used for updates
18 | }
19 | ]
20 | use_local_storage_caching = false
21 | }
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_zone/import.sh:
--------------------------------------------------------------------------------
1 | # Zone can be imported by specifying the GUID
2 | terraform import citrix_zone.example-zone 06e5981e-dbaf-48db-b134-245fca2dc672
--------------------------------------------------------------------------------
/internal/examples/resources/citrix_zone/resource.tf:
--------------------------------------------------------------------------------
1 | # Example for On-Premises Zone
2 | resource "citrix_zone" "example-onpremises-zone" {
3 | name = "example-zone"
4 | description = "zone example"
5 | metadata = [
6 | {
7 | name = "key1"
8 | value = "value1"
9 | }
10 | ]
11 | }
12 |
13 | # Example for Cloud Zone
14 | resource "citrix_cloud_resource_location" "example-resource-location" {
15 | name = "example-resource-location"
16 | }
17 |
18 | resource "citrix_zone" "example-cloud-zone" {
19 | resource_location_id = citrix_cloud_resource_location.example-resource-location.id
20 | }
--------------------------------------------------------------------------------
/internal/test/admin_permissions_data_source_test.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 | package test
3 |
4 | import (
5 | "fmt"
6 | "testing"
7 |
8 | "github.com/hashicorp/terraform-plugin-testing/helper/resource"
9 | )
10 |
11 | func TestAdminPermissionsDataSource(t *testing.T) {
12 | resource.Test(t, resource.TestCase{
13 | ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
14 | PreCheck: func() {
15 | TestProviderPreCheck(t)
16 | },
17 | Steps: []resource.TestStep{
18 | // Read testing
19 | {
20 | Config: BuildAdminPermissionsDataSource(t),
21 | Check: resource.ComposeAggregateTestCheckFunc(
22 | resource.TestCheckResourceAttrWith("data.citrix_admin_permissions.test_all_permissions", "permissions.#", func(val string) error {
23 | if val == "0" {
24 | return fmt.Errorf("expected at least one permission")
25 | }
26 | return nil
27 | }),
28 | ),
29 | },
30 | },
31 | })
32 | }
33 |
34 | func BuildAdminPermissionsDataSource(t *testing.T) string {
35 | return adminPermissionsTestDataSource
36 | }
37 |
38 | var (
39 | adminPermissionsTestDataSource = `
40 | data "citrix_admin_permissions" "test_all_permissions" { }
41 | `
42 | )
43 |
--------------------------------------------------------------------------------
/internal/test/aws_workspaces_cloudformation_template_test.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 | package test
3 |
4 | import (
5 | "testing"
6 |
7 | "github.com/hashicorp/terraform-plugin-testing/helper/resource"
8 | )
9 |
10 | func TestAWSWorkspacesCloudFormationTemplateDataSource(t *testing.T) {
11 | resource.Test(t, resource.TestCase{
12 | ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
13 | PreCheck: func() {
14 | TestProviderPreCheck(t)
15 | },
16 | Steps: []resource.TestStep{
17 | // Read testing
18 | {
19 | Config: BuildAWSWorkspacesCloudFormationTemplateDataSource(t),
20 | Check: resource.ComposeAggregateTestCheckFunc(
21 | resource.TestCheckResourceAttrSet("data.citrix_quickcreate_aws_workspaces_cloudformation_template.test_cloudformation_template", "content"),
22 | ),
23 | },
24 | },
25 | })
26 | }
27 |
28 | func BuildAWSWorkspacesCloudFormationTemplateDataSource(t *testing.T) string {
29 | return cloudFormationTemplateTestDataSource
30 | }
31 |
32 | var (
33 | cloudFormationTemplateTestDataSource = `
34 | data "citrix_quickcreate_aws_workspaces_cloudformation_template" "test_cloudformation_template" { }
35 | `
36 | )
37 |
--------------------------------------------------------------------------------
/internal/test/bearer_token_data_source_test.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 | package test
3 |
4 | import (
5 | "testing"
6 |
7 | "github.com/hashicorp/terraform-plugin-testing/helper/resource"
8 | )
9 |
10 | func TestBearerTokenDataSource(t *testing.T) {
11 | resource.Test(t, resource.TestCase{
12 | ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
13 | PreCheck: func() {
14 | TestProviderPreCheck(t)
15 | },
16 | Steps: []resource.TestStep{
17 | // Read testing
18 | {
19 | Config: BuildBearerTokenDataSource(t),
20 | Check: resource.ComposeAggregateTestCheckFunc(
21 | resource.TestCheckResourceAttrSet("data.citrix_bearer_token.test_bearer_token", "bearer_token"),
22 | ),
23 | },
24 | },
25 | })
26 | }
27 |
28 | func BuildBearerTokenDataSource(t *testing.T) string {
29 | return bearer_token_test_data_source
30 | }
31 |
32 | var (
33 | bearer_token_test_data_source = `
34 | data "citrix_bearer_token" "test_bearer_token" { }
35 | `
36 | )
37 |
--------------------------------------------------------------------------------
/internal/test/common.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 |
3 | package test
4 |
5 | import (
6 | "os"
7 | "testing"
8 | )
9 |
10 | // Used to skip a test case if environment is cloud
11 | func skipForCloud(isOnPremises bool) func() (bool, error) {
12 | return func() (bool, error) {
13 | if isOnPremises {
14 | return false, nil
15 | }
16 |
17 | return true, nil
18 | }
19 | }
20 |
21 | // Used to skip a test case if environment is cloud
22 | func skipForOnPrem(isOnPremises bool) func() (bool, error) {
23 | return func() (bool, error) {
24 | if isOnPremises {
25 | return true, nil
26 | }
27 |
28 | return false, nil
29 | }
30 | }
31 |
32 | // Used to skip a test case if go test is running in GitHub Actions
33 | func skipForGitHubAction(isGitHubAction bool) func() (bool, error) {
34 | return func() (bool, error) {
35 | if isGitHubAction {
36 | return true, nil
37 | }
38 |
39 | return false, nil
40 | }
41 | }
42 |
43 | // Used to aggregate arbitrary number of terraform resource blocks
44 | func composeTestResourceTf(resources ...string) string {
45 | var result = ""
46 | for _, resource := range resources {
47 | result += resource
48 | }
49 | return result
50 | }
51 |
52 | func checkTestEnvironmentVariables(t *testing.T, envVarNames []string) {
53 | for _, v := range envVarNames {
54 | if os.Getenv(v) == "" {
55 | t.Fatalf("%s must be set for acceptance tests", v)
56 | }
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/internal/util/policy_common.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 |
3 | package util
4 |
5 | type PolicyFilterUuidDataClientModel struct {
6 | Server string `json:"server,omitempty"`
7 | Uuid string `json:"uuid,omitempty"`
8 | }
9 |
10 | type PolicyFilterGatewayDataClientModel struct {
11 | Connection string `json:"Connection,omitempty"`
12 | Condition string `json:"Condition,omitempty"`
13 | Gateway string `json:"Gateway,omitempty"`
14 | }
15 |
--------------------------------------------------------------------------------
/main.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 |
3 | package main
4 |
5 | import (
6 | "context"
7 | "flag"
8 | "log"
9 |
10 | "github.com/citrix/terraform-provider-citrix/internal/provider"
11 | "github.com/hashicorp/terraform-plugin-framework/providerserver"
12 | )
13 |
14 | // Provider documentation generation.
15 | //go:generate go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs generate --provider-name citrix --examples-dir internal/examples
16 |
17 | var (
18 | // these will be set by the goreleaser configuration
19 | // to appropriate values for the compiled binary.
20 | version string = "dev"
21 |
22 | // goreleaser can pass other information to the main package, such as the specific commit
23 | // https://goreleaser.com/cookbooks/using-main.version/
24 | )
25 |
26 | func main() {
27 | var debug bool
28 |
29 | flag.BoolVar(&debug, "debug", false, "set to true to run the provider with support for debuggers like delve")
30 | flag.Parse()
31 |
32 | err := providerserver.Serve(context.Background(), provider.New(version), providerserver.ServeOpts{
33 | Address: "registry.terraform.io/citrix/citrix",
34 | Debug: debug,
35 | })
36 |
37 | if err != nil {
38 | log.Fatal(err.Error())
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/scripts/config-drift-notifier/README.md:
--------------------------------------------------------------------------------
1 | # Citrix Provider Config Drift Notification
2 |
3 | This script is designed to notify the customer the configuration drift, which occurs when the real-world state of your infrastructure differs from the state defined in your configuration.
4 | Please note that this onboarding script is a template for slack notification only.
5 |
6 | ## Environment Requirements
7 |
8 | - PowerShell version `5.0` or higher
9 | - Citrix Provider version `0.3.6` or higher
10 |
11 | ## Getting Started
12 |
13 | 1. Copy the `config-drift.ps1` script under `/config-drift-notifier` to the directory where the Citrix Terraform provider is located.
14 | 2. Test the script with the following command:
15 | ```powershell
16 | .\config-drift.ps1 -SlackWebhookUrl {SlackWebhookUrl}
17 | 3. An optional parameter FilterList is provided to notify the user about only the resources in the list. An example can be `-FilterList "citrix_machine_catalog.machine_catalog_0"` or just `-FilterList "citrix_machine_catalog"`
18 |
--------------------------------------------------------------------------------
/scripts/onboarding-helper/images/Onboarding Automation Workflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/citrix/terraform-provider-citrix/c1fbbfba7fa250b5f8b922d44adfd5aa39963c34/scripts/onboarding-helper/images/Onboarding Automation Workflow.png
--------------------------------------------------------------------------------
/scripts/onboarding-helper/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = "=1.0.18"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/scripts/storefront-onboarding-helper/terraform.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 1.4.0"
3 |
4 | required_providers {
5 | citrix = {
6 | source = "citrix/citrix"
7 | version = ">=0.6.3"
8 | }
9 | }
10 |
11 | backend "local" {}
12 | }
13 |
--------------------------------------------------------------------------------
/templates/data-sources.md.tmpl:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "{{.Name}} {{.Type}} - {{.ProviderName}}"
4 | {{ if gt (len (split .Description " --- ")) 1 -}}
5 | subcategory: "{{ index (split .Description " --- ") 0 }}"
6 | {{- else -}}
7 | subcategory: ""
8 | {{- end }}
9 | description: |-
10 | {{ if gt (len (split .Description " --- ")) 1 -}}
11 | {{ index (split .Description " --- ") 1 | plainmarkdown | trimspace | prefixlines " " }}
12 | {{- else -}}
13 | {{ .Description | plainmarkdown | trimspace | prefixlines " " }}
14 | {{- end }}
15 | ---
16 |
17 | # {{.Name}} ({{.Type}})
18 |
19 | {{ if gt (len (split .Description " --- ")) 1 -}}
20 | {{ index (split .Description " --- ") 1 | trimspace }}
21 | {{ else }}
22 | {{ .Description | trimspace }}
23 | {{- end }}
24 | {{ if .HasExample -}}
25 | ## Example Usage
26 |
27 | {{ tffile (printf "%s%s%s" "internal/examples/data-sources/" .Name "/data-source.tf") }}
28 | {{- end }}
29 |
30 | {{ .SchemaMarkdown | trimspace }}
31 | {{- if .HasImport }}
32 |
33 | ## Import
34 |
35 | Import is supported using the following syntax:
36 |
37 | {{ codefile "shell" (printf "%s%s%s" "internal/examples/data-sources/" .Name "/import.sh") }}
38 | {{- end }}
--------------------------------------------------------------------------------
/templates/resources.md.tmpl:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "{{.Name}} {{.Type}} - {{.ProviderName}}"
4 | {{ if gt (len (split .Description " --- ")) 1 -}}
5 | subcategory: "{{ index (split .Description " --- ") 0 }}"
6 | {{- else -}}
7 | subcategory: ""
8 | {{- end }}
9 | description: |-
10 | {{ if gt (len (split .Description " --- ")) 1 -}}
11 | {{ index (split .Description " --- ") 1 | plainmarkdown | trimspace | prefixlines " " }}
12 | {{- else -}}
13 | {{ .Description | plainmarkdown | trimspace | prefixlines " " }}
14 | {{- end }}
15 | ---
16 |
17 | # {{.Name}} ({{.Type}})
18 |
19 | {{ if gt (len (split .Description " --- ")) 1 -}}
20 | {{ index (split .Description " --- ") 1 | trimspace }}
21 | {{ else }}
22 | {{ .Description | trimspace }}
23 | {{- end }}
24 | {{ if .HasExample -}}
25 | ## Example Usage
26 |
27 | {{ tffile (printf "%s%s%s" "internal/examples/resources/" .Name "/resource.tf") }}
28 | {{- end }}
29 |
30 | {{ .SchemaMarkdown | trimspace }}
31 | {{- if .HasImport }}
32 |
33 | ## Import
34 |
35 | Import is supported using the following syntax:
36 |
37 | {{ codefile "shell" (printf "%s%s%s" "internal/examples/resources/" .Name "/import.sh") }}
38 | {{- end }}
--------------------------------------------------------------------------------
/templates/resources/application_icon.md.tmpl:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "{{.Name}} {{.Type}} - {{.ProviderName}}"
4 | {{ if gt (len (split .Description " --- ")) 1 -}}
5 | subcategory: "{{ index (split .Description " --- ") 0 }}"
6 | {{- else -}}
7 | subcategory: ""
8 | {{- end }}
9 | description: |-
10 | {{ if gt (len (split .Description " --- ")) 1 -}}
11 | {{ index (split .Description " --- ") 1 | plainmarkdown | trimspace | prefixlines " " }}
12 | {{- else -}}
13 | {{ .Description | plainmarkdown | trimspace | prefixlines " " }}
14 | {{- end }}
15 | ---
16 |
17 | # {{.Name}} ({{.Type}})
18 |
19 | {{ if gt (len (split .Description " --- ")) 1 -}}
20 | {{ index (split .Description " --- ") 1 | trimspace }}
21 | {{ else }}
22 | {{ .Description | trimspace }}
23 | {{- end }}
24 | {{ if .HasExample -}}
25 |
26 | ## Example Usage
27 |
28 | {{ tffile (printf "%s%s%s" "internal/examples/resources/" .Name "/resource.tf") }}
29 | {{- end }}
30 |
31 | {{ .SchemaMarkdown | trimspace }}
32 | {{- if .HasImport }}
33 |
34 | ## Import
35 |
36 | Import is supported using the following syntax:
37 |
38 | {{ codefile "shell" (printf "%s%s%s" "internal/examples/resources/" .Name "/import.sh") }}
39 | {{- end }}
40 |
41 | ## Generating Raw Data of an icon
42 | To generate in Linux/Mac terminal use the command:
43 | ```
44 | base64 fileName.ico
45 | ```
46 | To generate in Powershell:
47 | ```
48 | [System.Convert]::ToBase64String(Get-Content fileName.ico -Encoding Byte)
49 | ```
--------------------------------------------------------------------------------
/templates/resources/desktop_icon.md.tmpl:
--------------------------------------------------------------------------------
1 | ---
2 | # generated by https://github.com/hashicorp/terraform-plugin-docs
3 | page_title: "{{.Name}} {{.Type}} - {{.ProviderName}}"
4 | {{ if gt (len (split .Description " --- ")) 1 -}}
5 | subcategory: "{{ index (split .Description " --- ") 0 }}"
6 | {{- else -}}
7 | subcategory: ""
8 | {{- end }}
9 | description: |-
10 | {{ if gt (len (split .Description " --- ")) 1 -}}
11 | {{ index (split .Description " --- ") 1 | plainmarkdown | trimspace | prefixlines " " }}
12 | {{- else -}}
13 | {{ .Description | plainmarkdown | trimspace | prefixlines " " }}
14 | {{- end }}
15 | ---
16 |
17 | # {{.Name}} ({{.Type}})
18 |
19 | {{ if gt (len (split .Description " --- ")) 1 -}}
20 | {{ index (split .Description " --- ") 1 | trimspace }}
21 | {{ else }}
22 | {{ .Description | trimspace }}
23 | {{- end }}
24 | {{ if .HasExample -}}
25 |
26 | ## Example Usage
27 |
28 | {{ tffile (printf "%s%s%s" "internal/examples/resources/" .Name "/resource.tf") }}
29 | {{- end }}
30 |
31 | {{ .SchemaMarkdown | trimspace }}
32 | {{- if .HasImport }}
33 |
34 | ## Import
35 |
36 | Import is supported using the following syntax:
37 |
38 | {{ codefile "shell" (printf "%s%s%s" "internal/examples/resources/" .Name "/import.sh") }}
39 | {{- end }}
40 |
41 | ## Generating Raw Data of an icon
42 | To generate in Linux/Mac terminal use the command:
43 | ```
44 | base64 fileName.ico
45 | ```
46 | To generate in Powershell:
47 | ```
48 | [System.Convert]::ToBase64String(Get-Content fileName.ico -Encoding Byte)
49 | ```
--------------------------------------------------------------------------------
/terraform-registry-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "metadata": {
4 | "protocol_versions": ["6.0"]
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/tools/tools.go:
--------------------------------------------------------------------------------
1 | // Copyright © 2024. Citrix Systems, Inc.
2 |
3 | //go:build tools
4 |
5 | package tools
6 |
7 | import (
8 | // Ensure documentation generator is not removed from go.mod.
9 | _ "github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs"
10 | )
11 |
--------------------------------------------------------------------------------