Skip to content

Latest commit

 

History

History
953 lines (737 loc) · 49.9 KB

machine_catalog.md

File metadata and controls

953 lines (737 loc) · 49.9 KB
page_title subcategory description
citrix_machine_catalog Resource - citrix
CVAD
Manages a machine catalog.

citrix_machine_catalog (Resource)

Manages a machine catalog.

Example Usage

resource "citrix_machine_catalog" "example-azure-mtsession" {
	name                		= "example-azure-mtsession"
	description					= "Example multi-session catalog on Azure hypervisor"
	zone						= "<zone Id>"
	allocation_type				= "Random"
	session_support				= "MultiSession"
	provisioning_type 			= "MCS"
	provisioning_scheme			= 	{
		hypervisor = citrix_azure_hypervisor.example-azure-hypervisor.id
		hypervisor_resource_pool = citrix_azure_hypervisor_resource_pool.example-azure-hypervisor-resource-pool.id
		identity_type      = "ActiveDirectory"
		machine_domain_identity = {
            domain                   = "<DomainFQDN>"
			domain_ou				 = "<DomainOU>"
            service_account          = "<Admin Username>"
            service_account_password = "<Admin Password>"
        }
		azure_machine_config = {
			storage_type = "Standard_LRS"
			use_managed_disks = true
            service_offering = "Standard_D2_v2"
            azure_master_image = {
                # shared_subscription = var.azure_image_subscription # Uncomment if the image is from a subscription outside of the hypervisor's subscription

                # For Azure master image from managed disk or snapshot
                resource_group       = var.azure_resource_group
                master_image         = var.azure_master_image

                # For Azure image gallery
                # gallery_image = {
                #     gallery    = var.azure_gallery_name
                #     definition = var.azure_gallery_image_definition
                #     version    = var.azure_gallery_image_version
                # }
            }
			writeback_cache = {
				wbc_disk_storage_type = "pd-standard"
				persist_wbc = true
				persist_os_disk = true
				persist_vm = true
				writeback_cache_disk_size_gb = 127
                writeback_cache_memory_size_mb = 256
				storage_cost_saving = true
			}
        }
		availability_zones = ["1","2"]
		number_of_total_machines = 	1
		machine_account_creation_rules ={
			naming_scheme =     "az-multi-##"
			naming_scheme_type ="Numeric"
		}
	}
}

resource "citrix_machine_catalog" "example-aws-mtsession" {
    name                        = "example-aws-mtsession"
    description                 = "Example multi-session catalog on AWS hypervisor"
   	zone						= "<zone Id>"
	allocation_type				= "Random"
	session_support				= "MultiSession"
	provisioning_type 			= "MCS"
    provisioning_scheme         = {
		hypervisor = citrix_aws_hypervisor.example-aws-hypervisor.id
		hypervisor_resource_pool = citrix_aws_hypervisor_resource_pool.example-aws-hypervisor-resource-pool.id
		identity_type      = "ActiveDirectory"
		machine_domain_identity = {
            domain                   = "<DomainFQDN>"
			domain_ou				 = "<DomainOU>"
            service_account          = "<Admin Username>"
            service_account_password = "<Admin Password>"
        }
        aws_machine_config = {
            image_ami = "<AMI ID for VDA>"
			master_image = "<Image template AMI name>"
			service_offering = "t2.small"
            security_groups = [
                "default"
            ]
            tenancy_type = "Shared"
        }
		number_of_total_machines =  1
        machine_account_creation_rules ={
			naming_scheme 	   = "aws-multi-##"
			naming_scheme_type = "Numeric"
        }
    }	
}

resource "citrix_machine_catalog" "example-gcp-mtsession" {
    name                        = "example-gcp-mtsession"
    description                 = "Example multi-session catalog on GCP hypervisor"
   	zone						= "<zone Id>"
	allocation_type				= "Random"
	session_support				= "MultiSession"
	provisioning_type 			= "MCS"
    provisioning_scheme         = {
		hypervisor = citrix_gcp_hypervisor.example-gcp-hypervisor.id
		hypervisor_resource_pool = citrix_gcp_hypervisor_resource_pool.example-gcp-hypervisor-resource-pool.id
		identity_type      = "ActiveDirectory"
		machine_domain_identity = {
            domain                   = "<DomainFQDN>"
			domain_ou				 = "<DomainOU>"
            service_account          = "<Admin Username>"
            service_account_password = "<Admin Password>"
        }
        gcp_machine_config = {
            machine_profile = "<Machine profile template VM name>"
            master_image = "<Image template VM name>"
            machine_snapshot = "<Image template VM snapshot name>"
			storage_type = "pd-standard"
			writeback_cache = {
				wbc_disk_storage_type = "pd-standard"
				persist_wbc = true
				persist_os_disk = true
				writeback_cache_disk_size_gb = 127
                writeback_cache_memory_size_mb = 256
			}
        }
		availability_zones = "{project name}:{region}:{availability zone1},{project name}:{region}:{availability zone2},..."
        number_of_total_machines = 1
        machine_account_creation_rules = {
            naming_scheme = "gcp-multi-##"
            naming_scheme_type = "Numeric"
        }
    }
}

resource "citrix_machine_catalog" "example-vsphere-mtsession" {
    name                        = "example-vsphere-mtsession"
    description                 = "Example multi-session catalog on vSphere hypervisor"
    zone                        = "<zone Id>"
    allocation_type             = "Random"
    session_support             = "MultiSession"
    provisioning_type 			= "MCS"
    provisioning_scheme         = {
        hypervisor = citrix_vsphere_hypervisor.vsphere-hypervisor-1.id
        hypervisor_resource_pool = citrix_vsphere_hypervisor_resource_pool.vsphere-hypervisor-rp-1.id
        identity_type = "ActiveDirectory"
        machine_domain_identity = {
            domain                   = "<DomainFQDN>"
            service_account          = "<Admin Username>"
            service_account_password = "<Admin Password>"
        }
        vsphere_machine_config = {
            master_image_vm = "<Image VM name>"
            image_snapshot = "<Snapshot 1>/<Snapshot 2>/<Snapshot 3>/..."
            cpu_count = 2
            memory_mb = 4096
        }
        number_of_total_machines = 1
        machine_account_creation_rules = {
            naming_scheme = "catalog-##"
            naming_scheme_type = "Numeric"
        }
    }
}

resource "citrix_machine_catalog" "example-xenserver-mtsession" {
    name                        = "example-xenserver-mtsession"
    description                 = "Example multi-session catalog on XenServer hypervisor"
    zone                        = "<zone Id>"
    allocation_type             = "Random"
    session_support             = "MultiSession"
    provisioning_type 			= "MCS"
    provisioning_scheme         = {
        hypervisor = citrix_xenserver_hypervisor.xenserver-hypervisor-1.id
        hypervisor_resource_pool = citrix_xenserver_hypervisor_resource_pool.xenserver-hypervisor-rp-1.id
        identity_type = "ActiveDirectory"
        machine_domain_identity = {
            domain                   = "<DomainFQDN>"
            service_account          = "<Admin Username>"
            service_account_password = "<Admin Password>"
        }
        xenserver_machine_config = {
            master_image_vm = "<Image VM name>"
            image_snapshot = "<Snapshot 1>/<Snapshot 2>/<Snapshot 3>/..."
            cpu_count = 2
            memory_mb = 4096
        }
        number_of_total_machines = 1
        machine_account_creation_rules = {
            naming_scheme = "catalog-##"
            naming_scheme_type = "Numeric"
        }
    }
}

resource "citrix_machine_catalog" "example-nutanix-mtsession" {
    name                        = "example-nutanix-mtsession"
    description                 = "Example multi-session catalog on Nutanix hypervisor"
    zone                        = citrix_zone.example-zone.id
    allocation_type             = "Random"
    session_support             = "MultiSession"
    provisioning_type 			= "MCS"
    provisioning_scheme         = {
        hypervisor = citrix_nutanix_hypervisor.example-nutanix-hypervisor.id
        hypervisor_resource_pool = citrix_nutanix_hypervisor_resource_pool.example-nutanix-rp.id
        identity_type = "ActiveDirectory"
        machine_domain_identity = {
            domain                   = "<DomainFQDN>"
            service_account          = "<Admin Username>"
            service_account_password = "<Admin Password>"
        }
        nutanix_machine_config = {
            container = "<Container name>"
            master_image = "<Image name>"
            cpu_count = 2
            memory_mb = 4096
            cores_per_cpu_count = 2
        }
        number_of_total_machines = 1
        machine_account_creation_rules = {
            naming_scheme = "catalog-##"
            naming_scheme_type = "Numeric"
        }
    }
}

resource "citrix_machine_catalog" "example-scvmm-mtsession" {
    name                        = "example-scvmm-mtsession"
    description                 = "Example multi-session catalog on SCVMM hypervisor"
    provisioning_type = "MCS"
    allocation_type             = "Random"
    session_support             = "MultiSession"
    zone                        = citrix_zone.scvmm-zone.id
    provisioning_scheme         = {
        hypervisor = citrix_scvmm_hypervisor.example-scvmm-hypervisor.id
        hypervisor_resource_pool = citrix_scvmm_hypervisor_resource_pool.example-scvmm-rp.id
        identity_type = "ActiveDirectory"
        machine_domain_identity = {
            domain                   = "<DomainFQDN>"
            service_account          = "<Admin Username>"
            service_account_password = "<Admin Password>"
        }
        scvmm_machine_config = {
            master_image = "<master image>"
            cpu_count = 1
            memory_mb = 2048
        }
        number_of_total_machines = 1
        machine_account_creation_rules = {
            naming_scheme = "catalog-##"
            naming_scheme_type = "Numeric"
        }
    }
}

resource "citrix_machine_catalog" "example-azure-pvs-mtsession" {
	name                		= "example-azure-pvs-mtsession"
	description					= "Example multi-session catalog on Azure hypervisor"
	zone						= "<zone Id>"
	allocation_type				= "Random"
	session_support				= "MultiSession"
	provisioning_type 			= "PVSStreaming"
	provisioning_scheme			= 	{
		hypervisor = citrix_azure_hypervisor.example-azure-hypervisor.id
		hypervisor_resource_pool = citrix_azure_hypervisor_resource_pool.example-azure-hypervisor-resource-pool.id
		identity_type      = "ActiveDirectory"
		machine_domain_identity = {
            domain                   = "<DomainFQDN>"
			domain_ou				 = "<DomainOU>"
            service_account          = "<Admin Username>"
            service_account_password = "<Admin Password>"
        }
		azure_machine_config = {
			storage_type = "Standard_LRS"
            azure_pvs_config = {
                pvs_site_id = data.citrix_pvs.example_pvs_config.pvs_site_id
				pvs_vdisk_id = data.citrix_pvs.example_pvs_config.pvs_vdisk_id
            }
			use_managed_disks = true
            service_offering = "Standard_D2_v2"
			writeback_cache = {
				wbc_disk_storage_type = "Standard_LRS"
				persist_wbc = true
				persist_os_disk = true
				persist_vm = true
				writeback_cache_disk_size_gb = 127
                writeback_cache_memory_size_mb = 256
			}
        }
		number_of_total_machines = 	1
		machine_account_creation_rules ={
			naming_scheme =     "az-pvs-multi-##"
			naming_scheme_type ="Numeric"
		}
	}
}

resource "citrix_machine_catalog" "example-manual-power-managed-mtsession" {
	name                		= "example-manual-power-managed-mtsession"
	description					= "Example manual power managed multi-session catalog"
	zone						= "<zone Id>"
	allocation_type				= "Random"
	session_support				= "MultiSession"
	is_power_managed			= true
	is_remote_pc 			  	= false
	provisioning_type 			= "Manual"
	machine_accounts = [
        {
            hypervisor = citrix_azure_hypervisor.example-azure-hypervisor.id
            machines = [
                {
                    region = "East US"
                    resource_group_name = "machine-resource-group-name"
                    machine_account = "DOMAIN\\MachineName"
                    machine_name = "MachineName"
                }
            ]
        }
    ]
}

resource "citrix_machine_catalog" "example-manual-non-power-managed-mtsession" {
	name                		= "example-manual-non-power-managed-mtsession"
	description					= "Example manual non power managed multi-session catalog"
	zone						= "<zone Id>"
	allocation_type				= "Random"
	session_support				= "MultiSession"
	is_power_managed			= false
	is_remote_pc 			  	= false
	provisioning_type 			= "Manual"
	machine_accounts = [
        {
            machines = [
                {
                    machine_account = "DOMAIN\\MachineName1"
                },
				{
                    machine_account = "DOMAIN\\MachineName2"
                }
            ]
        }
    ]
}

resource "citrix_machine_catalog" "example-remote-pc" {
	name                		= "example-remote-pc-catalog"
	description					= "Example Remote PC catalog"
	zone						= "<zone Id>"
	allocation_type				= "Static"
	session_support				= "SingleSession"
	is_power_managed			= false
	is_remote_pc 			  	= true
	provisioning_type 			= "Manual"
	machine_accounts = [
        {
            machines = [
                {
                    machine_account = "DOMAIN\\MachineName1"
                },
				{
                    machine_account = "DOMAIN\\MachineName2"
                }
            ]
        }
    ]
	remote_pc_ous = [
        {
            include_subfolders = false
            ou_name = "OU=Example OU,DC=domain,DC=com"
        }
    ]
}

resource "citrix_machine_catalog" "example-non-domain-joined-azure-mcs" {
	name                		= "example-non-domain-joined-azure-mcs"
	description					= "Example catalog on Azure without domain join"
	zone						= "<zone Id>"
	allocation_type				= "Random"
	session_support				= "MultiSession"
	provisioning_type 			= "MCS"
	provisioning_scheme			= 	{
		hypervisor = citrix_azure_hypervisor.example-azure-hypervisor.id
		hypervisor_resource_pool = citrix_azure_hypervisor_resource_pool.example-azure-hypervisor-resource-pool.id
		identity_type      = "Workgroup" # Workgroup specifies that the machines are not domain-joined
		# Example using Azure, other hypervisors can be used as well
        azure_machine_config = {
			storage_type = "Standard_LRS"
			use_managed_disks = true
            service_offering = "Standard_D2_v2"
            azure_master_image = {
                # shared_subscription = var.azure_image_subscription # Uncomment if the image is from a subscription outside of the hypervisor's subscription

                # For Azure master image from managed disk or snapshot
                resource_group       = var.azure_resource_group
                master_image         = var.azure_master_image

                # For Azure image gallery
                # gallery_image = {
                #     gallery    = var.azure_gallery_name
                #     definition = var.azure_gallery_image_definition
                #     version    = var.azure_gallery_image_version
                # }
            }
			writeback_cache = {
				wbc_disk_storage_type = "pd-standard"
				persist_wbc = true
				persist_os_disk = true
				persist_vm = true
				writeback_cache_disk_size_gb = 127
                writeback_cache_memory_size_mb = 256
				storage_cost_saving = true
			}
        }
		number_of_total_machines = 	1
		machine_account_creation_rules ={
			naming_scheme =     "ndj-multi-##"
			naming_scheme_type ="Numeric"
		}
	}
}

Schema

Required

  • allocation_type (String) Denotes how the machines in the catalog are allocated to a user. Choose between Static and Random. Allocation type should be Random when session_support = MultiSession.
  • name (String) Name of the machine catalog.
  • provisioning_type (String) Specifies how the machines are provisioned in the catalog.
  • session_support (String) Session support type. Choose between SingleSession and MultiSession. Session support should be SingleSession when is_remote_pc = true.
  • zone (String) Id of the zone the machine catalog is associated with.

Optional

  • description (String) Description of the machine catalog.
  • is_power_managed (Boolean) Specify if the machines in the machine catalog will be power managed.
  • is_remote_pc (Boolean) Specify if this catalog is for Remote PC access.
  • machine_accounts (Attributes List) Machine accounts to add to the catalog. Only to be used when using provisioning_type = MANUAL (see below for nested schema)
  • machine_catalog_folder_path (String) The path to the folder in which the machine catalog is located.
  • metadata (Attributes List) Metadata for the Machine Catalog.

~> Please Note Metadata once set cannot be removed. Use this field to add new metadata or update the value for an existing metadata. Subsequently, removing any metadata from config will have no effect on the existing metadata of the resource. (see below for nested schema)

  • minimum_functional_level (String) Specifies the minimum functional level for the VDA machines in the catalog. Defaults to L7_20.
  • provisioning_scheme (Attributes) Machine catalog provisioning scheme. Required when provisioning_type = MCS or provisioning_type = PVS_STREAMING. (see below for nested schema)
  • remote_pc_ous (Attributes List) Organizational Units to be included in the Remote PC machine catalog. Only to be used when is_remote_pc = true. For adding machines, use machine_accounts. (see below for nested schema)
  • scopes (Set of String) The IDs of the scopes for the machine catalog to be a part of.
  • tenants (Set of String) A set of identifiers of tenants to associate with the machine catalog.
  • vda_upgrade_type (String) Type of Vda Upgrade. Choose between LTSR and CR. When omitted, Vda Upgrade is disabled.

Read-Only

  • id (String) GUID identifier of the machine catalog.

Nested Schema for machine_accounts

Required:

Optional:

  • hypervisor (String) The Id of the hypervisor in which the machines reside. Required only if is_power_managed = true

Nested Schema for machine_accounts.machines

Required:

  • machine_account (String) The Computer AD Account for the machine. Must be in the format DOMAIN\MACHINE.

Optional:

  • availability_zone (String) [AWS: Required] The availability zone in which the machine resides. Required only if is_power_managed = true
  • cluster (String) [vSphere: Optional] The cluster in which the machine resides. To be used only if is_power_managed = true
  • datacenter (String) [vSphere: Required] The datacenter in which the machine resides. Required only if is_power_managed = true
  • host (String) [vSphere, SCVMM: Required] For vSphere, this is the IP address or FQDN of the host in which the machine resides. For SCVMM, this is the name of the host in which the machine resides. Required only if is_power_managed = true
  • machine_name (String) The name of the machine. Required only if is_power_managed = true
  • project_name (String) [GCP: Required] The project name in which the machine resides. Required only if is_power_managed = true
  • region (String) [Azure, GCP: Required] The region in which the machine resides. Required only if is_power_managed = true
  • resource_group_name (String) [Azure: Required] The resource group in which the machine resides. Required only if is_power_managed = true

Nested Schema for metadata

Required:

  • name (String) Metadata name.
  • value (String) Metadata value.

Nested Schema for provisioning_scheme

Required:

  • hypervisor (String) Id of the hypervisor for creating the machines. Required only if using power managed machines.
  • hypervisor_resource_pool (String) Id of the hypervisor resource pool that will be used for provisioning operations.
  • identity_type (String) The identity type of the machines to be created. Supported values areActiveDirectory, AzureAD, and HybridAzureAD.
  • machine_account_creation_rules (Attributes) Rules specifying how Active Directory machine accounts should be created when machines are provisioned. (see below for nested schema)
  • number_of_total_machines (Number) Number of VDA machines allocated in the catalog.

Optional:

  • availability_zones (List of String) The Availability Zones for provisioning virtual machines.
  • aws_machine_config (Attributes) Machine Configuration For AWS EC2 MCS catalog. (see below for nested schema)
  • azure_machine_config (Attributes) Machine Configuration For Azure MCS and PVS Streaming catalogs. (see below for nested schema)
  • custom_properties (Attributes List) This is an advanced feature. Use with caution. Custom properties to be set for the machine catalog. For properties that are already supported as a terraform configuration field, please use terraform field instead. (see below for nested schema)
  • gcp_machine_config (Attributes) Machine Configuration For GCP MCS catalog. (see below for nested schema)
  • machine_domain_identity (Attributes) The domain identity for machines in the machine catalog.
    Required when identity_type is set to ActiveDirectory (see below for nested schema)
  • metadata (Attributes List) Metadata for the Provisioning Scheme

~> Please Note Metadata for Provisioning Scheme once set cannot be updated or removed. (see below for nested schema)

  • network_mapping (Attributes List) Specifies how the attached NICs are mapped to networks. If this parameter is omitted, provisioned VMs are created with a single NIC, which is mapped to the default network in the hypervisor resource pool. If this parameter is supplied, machines are created with the number of NICs specified in the map, and each NIC is attached to the specified network.
    Required when provisioning_scheme.identity_type is AzureAD. (see below for nested schema)
  • nutanix_machine_config (Attributes) Machine Configuration For Nutanix MCS catalog. (see below for nested schema)
  • scvmm_machine_config (Attributes) Machine Configuration for SCVMM MCS catalog. (see below for nested schema)
  • vsphere_machine_config (Attributes) Machine Configuration for vSphere MCS catalog. (see below for nested schema)
  • xenserver_machine_config (Attributes) Machine Configuration For XenServer MCS catalog. (see below for nested schema)

Nested Schema for provisioning_scheme.machine_account_creation_rules

Required:

  • naming_scheme (String) Defines the template name for AD accounts created in the identity pool.
  • naming_scheme_type (String) Type of naming scheme. This defines the format of the variable part of the AD account names that will be created. Choose between Numeric, Alphabetic and Unicode.

Nested Schema for provisioning_scheme.aws_machine_config

Required:

  • image_ami (String) AMI of the AWS image to be used as the template image for the machine catalog.
  • master_image (String) The name of the virtual machine image that will be used.
  • security_groups (List of String) Security groups to associate with the machine. When omitted, the default security group of the VPC will be used by default.
  • service_offering (String) The AWS VM Sku to use when creating machines.
  • tenancy_type (String) Tenancy type of the machine. Choose between Shared, Instance and Host.

Optional:

  • image_update_reboot_options (Attributes) The options for how rebooting is performed for image update. When omitted, image update on the VDAs will be performed on next shutdown. (see below for nested schema)
  • master_image_note (String) The note for the master image.

Nested Schema for provisioning_scheme.aws_machine_config.image_update_reboot_options

Required:

  • reboot_duration (Number) Approximate maximum duration over which the reboot cycle runs, in minutes. Set to -1 to skip reboot, and perform image update on the VDAs on next shutdown. Set to 0 to reboot all machines immediately.

Optional:

  • warning_duration (Number) Time in minutes prior to a machine reboot at which a warning message is displayed in all user sessions on that machine. When omitted, no warning about reboot will be displayed in user session.
  • warning_message (String) Warning message displayed in user sessions on a machine scheduled for a reboot. The optional pattern '%m%' is replaced by the number of minutes until the reboot.
  • warning_repeat_interval (Number) Number of minutes to wait before showing the reboot warning message again.

Nested Schema for provisioning_scheme.azure_machine_config

Required:

  • service_offering (String) The Azure VM Sku to use when creating machines.
  • storage_type (String) Storage account type used for provisioned virtual machine disks on Azure. Storage types include: Standard_LRS, StandardSSD_LRS and Premium_LRS.

Optional:

  • azure_master_image (Attributes) Details of the Azure Image to use for creating machines. (see below for nested schema)
  • azure_pvs_config (Attributes) PVS Configuration to create machine catalog using PVSStreaming. (see below for nested schema)
  • disk_encryption_set (Attributes) The configuration for Disk Encryption Set (DES). The DES must be in the same subscription and region as your resources. If your master image is encrypted with a DES, use the same DES when creating this machine catalog. When using a DES, if you later disable the key with which the corresponding DES is associated in Azure, you can no longer power on the machines in this catalog or add machines to it. (see below for nested schema)
  • enroll_in_intune (Boolean) Specify whether to enroll machines in Microsoft Intune. Use this property only when identity_type is set to AzureAD.
  • image_update_reboot_options (Attributes) The options for how rebooting is performed for image update. When omitted, image update on the VDAs will be performed on next shutdown. (see below for nested schema)
  • license_type (String) Windows license type used to provision virtual machines in Azure at the base compute rate. License types include: Windows_Client and Windows_Server.
  • machine_profile (Attributes) The name of the virtual machine or template spec that will be used to identify the default value for the tags, virtual machine size, boot diagnostics, host cache property of OS disk, accelerated networking and availability zone.
    Required when provisioning_type is set to PVSStreaming or when identity_type is set to AzureAD (see below for nested schema)
  • master_image_note (String) The note for the master image.
  • use_azure_compute_gallery (Attributes) Use this to place prepared image in Azure Compute Gallery. Required when storage_type = Azure_Ephemeral_OS_Disk. (see below for nested schema)
  • use_managed_disks (Boolean) Indicate whether to use Azure managed disks for the provisioned virtual machine.
  • vda_resource_group (String) Designated resource group where the VDA VMs will be located on Azure.
  • writeback_cache (Attributes) Write-back Cache config. Leave this empty to disable Write-back Cache. Write-back Cache requires Machine image with Write-back Cache plugin installed. (see below for nested schema)

Nested Schema for provisioning_scheme.azure_machine_config.azure_master_image

Required:

  • resource_group (String) The Azure Resource Group where the image VHD / managed disk / snapshot for creating machines is located.

Optional:

  • container (String) The Azure Storage Account Container where the image VHD for creating machines is located. Only applicable to Azure VHD image blob.
  • gallery_image (Attributes) Details of the Azure Image Gallery image to use for creating machines. Only Applicable to Azure Image Gallery image. (see below for nested schema)
  • master_image (String) The name of the virtual machine snapshot or VM template that will be used. This identifies the hard disk to be used and the default values for the memory and processors. Omit this field if you want to use gallery_image.
  • shared_subscription (String) The Azure Subscription ID where the image VHD / managed disk / snapshot for creating machines is located. Only required if the image is not in the same subscription of the hypervisor.
  • storage_account (String) The Azure Storage Account where the image VHD for creating machines is located. Only applicable to Azure VHD image blob.

Nested Schema for provisioning_scheme.azure_machine_config.azure_master_image.storage_account

Required:

  • definition (String) The image definition for the image to be used in the Azure Image Gallery. Only applicable to Azure Image Gallery image.
  • gallery (String) The Azure Image Gallery where the image for creating machines is located. Only applicable to Azure Image Gallery image.
  • version (String) The image version for the image to be used in the Azure Image Gallery. Only applicable to Azure Image Gallery image.

Nested Schema for provisioning_scheme.azure_machine_config.azure_pvs_config

Required:

  • pvs_site_id (String) The id of the PVS site to use for creating machines.
  • pvs_vdisk_id (String) The id of the PVS vDisk to use for creating machines.

Nested Schema for provisioning_scheme.azure_machine_config.disk_encryption_set

Required:

  • disk_encryption_set_name (String) The name of the disk encryption set.
  • disk_encryption_set_resource_group (String) The name of the resource group in which the disk encryption set resides.

Nested Schema for provisioning_scheme.azure_machine_config.image_update_reboot_options

Required:

  • reboot_duration (Number) Approximate maximum duration over which the reboot cycle runs, in minutes. Set to -1 to skip reboot, and perform image update on the VDAs on next shutdown. Set to 0 to reboot all machines immediately.

Optional:

  • warning_duration (Number) Time in minutes prior to a machine reboot at which a warning message is displayed in all user sessions on that machine. When omitted, no warning about reboot will be displayed in user session.
  • warning_message (String) Warning message displayed in user sessions on a machine scheduled for a reboot. The optional pattern '%m%' is replaced by the number of minutes until the reboot.
  • warning_repeat_interval (Number) Number of minutes to wait before showing the reboot warning message again.

Nested Schema for provisioning_scheme.azure_machine_config.machine_profile

Required:

  • machine_profile_resource_group (String) The name of the resource group where the machine profile VM or template spec is located.

Optional:

  • machine_profile_template_spec_name (String) The name of the machine profile template spec.
  • machine_profile_template_spec_version (String) The version of the machine profile template spec.
  • machine_profile_vm_name (String) The name of the machine profile virtual machine.

Nested Schema for provisioning_scheme.azure_machine_config.use_azure_compute_gallery

Required:

  • replica_maximum (Number) The maximum number of image replicas that you want Azure to keep.
  • replica_ratio (Number) The ratio of virtual machines to image replicas that you want Azure to keep.

Nested Schema for provisioning_scheme.azure_machine_config.writeback_cache

Required:

  • persist_os_disk (Boolean) Persist the OS disk when power cycling the non-persistent provisioned virtual machine.
  • persist_vm (Boolean) Persist the non-persistent provisioned virtual machine in Azure environments when power cycling. This property only applies when the PersistOsDisk property is set to True.
  • wbc_disk_storage_type (String) Type of naming scheme. Choose between Numeric and Alphabetic.
  • writeback_cache_disk_size_gb (Number) The size in GB of any temporary storage disk used by the write back cache.

Optional:

  • persist_wbc (Boolean) Persist Write-back Cache
  • storage_cost_saving (Boolean) Save storage cost by downgrading the storage type of the disk to Standard HDD when VM shut down.
  • writeback_cache_memory_size_mb (Number) The size of the in-memory write back cache in MB.

Nested Schema for provisioning_scheme.custom_properties

Required:

  • name (String) Name of the custom property.
  • value (String) Value of the custom property.

Nested Schema for provisioning_scheme.gcp_machine_config

Required:

  • master_image (String) The name of the virtual machine snapshot or VM template that will be used. This identifies the hard disk to be used and the default values for the memory and processors.
  • storage_type (String) Storage type used for provisioned virtual machine disks on GCP. Storage types include: pd-standar, pd-balanced, pd-ssd and pd-extreme.

Optional:

  • image_update_reboot_options (Attributes) The options for how rebooting is performed for image update. When omitted, image update on the VDAs will be performed on next shutdown. (see below for nested schema)
  • machine_profile (String) The name of the virtual machine template that will be used to identify the default value for the tags, virtual machine size, boot diagnostics, host cache property of OS disk, accelerated networking and availability zone. If not specified, the VM specified in master_image will be used as template.
  • machine_snapshot (String) The name of the virtual machine snapshot of a GCP VM that will be used as master image.
  • master_image_note (String) The note for the master image.
  • writeback_cache (Attributes) Write-back Cache config. Leave this empty to disable Write-back Cache. (see below for nested schema)

Nested Schema for provisioning_scheme.gcp_machine_config.image_update_reboot_options

Required:

  • reboot_duration (Number) Approximate maximum duration over which the reboot cycle runs, in minutes. Set to -1 to skip reboot, and perform image update on the VDAs on next shutdown. Set to 0 to reboot all machines immediately.

Optional:

  • warning_duration (Number) Time in minutes prior to a machine reboot at which a warning message is displayed in all user sessions on that machine. When omitted, no warning about reboot will be displayed in user session.
  • warning_message (String) Warning message displayed in user sessions on a machine scheduled for a reboot. The optional pattern '%m%' is replaced by the number of minutes until the reboot.
  • warning_repeat_interval (Number) Number of minutes to wait before showing the reboot warning message again.

Nested Schema for provisioning_scheme.gcp_machine_config.writeback_cache

Required:

  • persist_os_disk (Boolean) Persist the OS disk when power cycling the non-persistent provisioned virtual machine.
  • persist_wbc (Boolean) Persist Write-back Cache
  • wbc_disk_storage_type (String) Type of naming scheme. Choose between Numeric and Alphabetic.
  • writeback_cache_disk_size_gb (Number) The size in GB of any temporary storage disk used by the write back cache.
  • writeback_cache_memory_size_mb (Number) The size of the in-memory write back cache in MB.

Nested Schema for provisioning_scheme.machine_domain_identity

Required:

  • domain (String) The AD domain name for the pool. Specify this in FQDN format; for example, MyDomain.com.
  • service_account (String) Service account for the domain. Only the username is required; do not include the domain name.
  • service_account_password (String, Sensitive) Service account password for the domain.

Optional:

  • domain_ou (String) The organization unit that computer accounts will be created into.

Nested Schema for provisioning_scheme.metadata

Required:

  • name (String) Metadata name.
  • value (String) Metadata value.

Nested Schema for provisioning_scheme.network_mapping

Required:

  • network (String) The name of the virtual network that the device should be attached to. This must be a subnet within a Virtual Private Cloud item in the resource pool to which the Machine Catalog is associated.
    For AWS, please specify the network mask of the network you want to use within the VPC.
  • network_device (String) Name or Id of the network device.

Nested Schema for provisioning_scheme.nutanix_machine_config

Required:

  • container (String) The name of the container where the virtual machines' identity disks will be placed.
  • cores_per_cpu_count (Number) The number of cores per processor that virtual machines created from the provisioning scheme should use.
  • cpu_count (Number) The number of processors that virtual machines created from the provisioning scheme should use.
  • master_image (String) The name of the master image that will be the template for all virtual machines in this catalog.
  • memory_mb (Number) The maximum amount of memory that virtual machines created from the provisioning scheme should use.

Optional:

  • image_update_reboot_options (Attributes) The options for how rebooting is performed for image update. When omitted, image update on the VDAs will be performed on next shutdown. (see below for nested schema)
  • master_image_note (String) The note for the master image.

Nested Schema for provisioning_scheme.nutanix_machine_config.image_update_reboot_options

Required:

  • reboot_duration (Number) Approximate maximum duration over which the reboot cycle runs, in minutes. Set to -1 to skip reboot, and perform image update on the VDAs on next shutdown. Set to 0 to reboot all machines immediately.

Optional:

  • warning_duration (Number) Time in minutes prior to a machine reboot at which a warning message is displayed in all user sessions on that machine. When omitted, no warning about reboot will be displayed in user session.
  • warning_message (String) Warning message displayed in user sessions on a machine scheduled for a reboot. The optional pattern '%m%' is replaced by the number of minutes until the reboot.
  • warning_repeat_interval (Number) Number of minutes to wait before showing the reboot warning message again.

Nested Schema for provisioning_scheme.scvmm_machine_config

Required:

  • cpu_count (Number) The number of processors that virtual machines created from the provisioning scheme should use.
  • master_image (String) The name of the virtual machine that will be used as master image.
  • memory_mb (Number) The maximum amount of memory that virtual machines created from the provisioning scheme should use.

Optional:

  • image_snapshot (String) The Snapshot of the virtual machine specified in master_image. Specify the relative path of the snapshot. Eg: snaphost-1/snapshot-2/snapshot-3. This property is case sensitive.
  • image_update_reboot_options (Attributes) The options for how rebooting is performed for image update. When omitted, image update on the VDAs will be performed on next shutdown. (see below for nested schema)
  • master_image_note (String) The note for the master image.
  • use_full_disk_clone_provisioning (Boolean) Specify if virtual machines created from the provisioning scheme should be created using the dedicated full disk clone feature. Default is false.
  • writeback_cache (Attributes) Write-back Cache config. Leave this empty to disable Write-back Cache. (see below for nested schema)

Nested Schema for provisioning_scheme.scvmm_machine_config.image_update_reboot_options

Required:

  • reboot_duration (Number) Approximate maximum duration over which the reboot cycle runs, in minutes. Set to -1 to skip reboot, and perform image update on the VDAs on next shutdown. Set to 0 to reboot all machines immediately.

Optional:

  • warning_duration (Number) Time in minutes prior to a machine reboot at which a warning message is displayed in all user sessions on that machine. When omitted, no warning about reboot will be displayed in user session.
  • warning_message (String) Warning message displayed in user sessions on a machine scheduled for a reboot. The optional pattern '%m%' is replaced by the number of minutes until the reboot.
  • warning_repeat_interval (Number) Number of minutes to wait before showing the reboot warning message again.

Nested Schema for provisioning_scheme.scvmm_machine_config.writeback_cache

Required:

  • writeback_cache_disk_size_gb (Number) The size in GB of any temporary storage disk used by the write back cache.
  • writeback_cache_memory_size_mb (Number) The size of the in-memory write back cache in MB.

Optional:

  • writeback_cache_drive_letter (String) The drive letter assigned for write back cache disk.

Nested Schema for provisioning_scheme.vsphere_machine_config

Required:

  • cpu_count (Number) The number of processors that virtual machines created from the provisioning scheme should use.
  • master_image_vm (String) The name of the virtual machine that will be used as master image. This property is case sensitive.
  • memory_mb (Number) The maximum amount of memory that virtual machines created from the provisioning scheme should use.

Optional:

  • image_snapshot (String) The Snapshot of the virtual machine specified in master_image_vm. Specify the relative path of the snapshot. Eg: snaphost-1/snapshot-2/snapshot-3. This property is case sensitive.
  • image_update_reboot_options (Attributes) The options for how rebooting is performed for image update. When omitted, image update on the VDAs will be performed on next shutdown. (see below for nested schema)
  • machine_profile (String) The name of the virtual machine template that will be used to identify the default value for the tags, virtual machine size, boot diagnostics and host cache property of OS disk.
  • master_image_note (String) The note for the master image.
  • writeback_cache (Attributes) Write-back Cache config. Leave this empty to disable Write-back Cache. (see below for nested schema)

Nested Schema for provisioning_scheme.vsphere_machine_config.image_update_reboot_options

Required:

  • reboot_duration (Number) Approximate maximum duration over which the reboot cycle runs, in minutes. Set to -1 to skip reboot, and perform image update on the VDAs on next shutdown. Set to 0 to reboot all machines immediately.

Optional:

  • warning_duration (Number) Time in minutes prior to a machine reboot at which a warning message is displayed in all user sessions on that machine. When omitted, no warning about reboot will be displayed in user session.
  • warning_message (String) Warning message displayed in user sessions on a machine scheduled for a reboot. The optional pattern '%m%' is replaced by the number of minutes until the reboot.
  • warning_repeat_interval (Number) Number of minutes to wait before showing the reboot warning message again.

Nested Schema for provisioning_scheme.vsphere_machine_config.writeback_cache

Required:

  • writeback_cache_disk_size_gb (Number) The size in GB of any temporary storage disk used by the write back cache.
  • writeback_cache_memory_size_mb (Number) The size of the in-memory write back cache in MB.

Optional:

  • writeback_cache_drive_letter (String) The drive letter assigned for write back cache disk.

Nested Schema for provisioning_scheme.xenserver_machine_config

Required:

  • cpu_count (Number) Number of CPU cores for the VDA VMs.
  • master_image_vm (String) The name of the virtual machine that will be used as master image. This property is case sensitive.
  • memory_mb (Number) Size of the memory in MB for the VDA VMs.

Optional:

  • image_snapshot (String) The Snapshot of the virtual machine specified in master_image_vm. Specify the relative path of the snapshot. Eg: snaphost-1/snapshot-2/snapshot-3. This property is case sensitive.
  • image_update_reboot_options (Attributes) The options for how rebooting is performed for image update. When omitted, image update on the VDAs will be performed on next shutdown. (see below for nested schema)
  • master_image_note (String) The note for the master image.
  • writeback_cache (Attributes) Write-back Cache config. Leave this empty to disable Write-back Cache. (see below for nested schema)

Nested Schema for provisioning_scheme.xenserver_machine_config.image_update_reboot_options

Required:

  • reboot_duration (Number) Approximate maximum duration over which the reboot cycle runs, in minutes. Set to -1 to skip reboot, and perform image update on the VDAs on next shutdown. Set to 0 to reboot all machines immediately.

Optional:

  • warning_duration (Number) Time in minutes prior to a machine reboot at which a warning message is displayed in all user sessions on that machine. When omitted, no warning about reboot will be displayed in user session.
  • warning_message (String) Warning message displayed in user sessions on a machine scheduled for a reboot. The optional pattern '%m%' is replaced by the number of minutes until the reboot.
  • warning_repeat_interval (Number) Number of minutes to wait before showing the reboot warning message again.

Nested Schema for provisioning_scheme.xenserver_machine_config.writeback_cache

Required:

  • writeback_cache_disk_size_gb (Number) The size in GB of any temporary storage disk used by the write back cache.
  • writeback_cache_memory_size_mb (Number) The size of the in-memory write back cache in MB.

Nested Schema for remote_pc_ous

Required:

  • include_subfolders (Boolean) Specify if subfolders should be included.
  • ou_name (String) Name of the OU.

Import

Import is supported using the following syntax:

# Machine catalog can be imported by specifying the GUID
terraform import citrix_machine_catalog.example b2339edf-7b00-436e-9c3a-54c987c3526e