Provider-Specific Parameters
Provider-Specific Parameters
The tables in this section list parameters used by ICM that are specific to the various cloud providers. Some of these parameters are used with more than one provider; for example, the InstanceType, ElasticIP, and VPCId parameters can be used in both AWS and Tencent deployments. Some provider-specific parameters have different names but the same purpose, for example AMI and InstanceType for AWS, Image and MachineType for GCP, and ImageId and InstanceType for Tencent, whereas there are four Azure parameters corresponding to each of these.
Like the General Parameters table, the tables in this section indicate whether each parameter is required in every deployment or optional, and whether it must be included (when used) in either defaults.json or definitions.json, is recommended for one file or the other, or can be used in either. For examples of each type, see General Parameters.
For information about parameters used only for PreExisting deployments, see Definitions File for PreExisting.
Selecting Machine Images
Cloud providers operate data centers in various regions of the world, so one of the important things to customize for your deployment is the region in which your cluster will be deployed (see the Region parameter in General Parameters). Another choice is which virtual machine images to use for the host nodes in your cluster (parameters vary by provider). Although the sample configuration files define valid regions and machine images for all cloud providers, you will generally want to change the region to match your own location. Because machine images are often specific to a region, both must be selected.
Container images from InterSystems comply with the Open Container Initiative (OCIOpens in a new tab) specification, and are built using the Docker Enterprise Edition engine, which fully supports the OCI standard and allows for the images to be certified and featured in the Docker Hub registry. InterSystems images are built and tested using the widely popular container Ubuntu operating system, and ICM therefore supports their deployment on any OCI-compliant runtime engine on Linux-based operating systems, both on premises and in public clouds.
Provider-Specific Parameter Tables
Parameter | Definition | Use is ... | Config file |
---|---|---|---|
Credentials |
Path to a file containing the public/private keypair for an AWS account. To download, after logging in to the AWS management console, open Managing Access Keys for IAM UsersOpens in a new tab in the AWS documentation and follow the procedure for managing access keys in the AWS console. |
required | defaults |
AMI |
AMI (machine image) to use as platform and OS template for nodes to be provisioned; see Amazon Machine Images (AMI)Opens in a new tab in the AWS documentation. Example: ami-a540a5e1. To list public AMIs available, in the EC2 Console, select AMIs in the navigation pane and filter for Public AMIs. |
required | |
InstanceType | Instance type to use as compute resources template for nodes to be provisioned on AWS and Tencent; see Amazon EC2 Instance TypesOpens in a new tab in the AWS documentation. Example: m4.large. (Some instance types may not be compatible with some AMIs.) | required | |
ElasticIP | Enables the Elastic IP feature on AWS and Tencent to preserve IP address and domain name across host node restart (see Host Node Restart and Recovery). Default: false. | optional | defaults |
VPCId |
Existing Virtual Private Cloud (VPC) to be used in the deployment on AWS and Tencent, instead of allocating a new one; the specified VPC is not deallocated during unprovision. If not specified when PrivateSubnet (see Security-related Parameters) is true, a new VPC is allocated for the deployment and deallocated during unprovision. For more information, see Deploying Within an Existing Private Network.
Note:
Internal parameter net_subnet_cidr must be provided if the VPC is not created in the default address space 10.0.%d.0/24; for example, for a VPC in the range 172.17.0.0/24, you would need to specify net_subnet_cidr as 172.17.%d.0/24. |
optional | defaults |
SubnetIds |
When deploying on an existing private subnet on AWS or Tencent, comma-separated list of subnet IDs, one for each element specified by the Zone parameter (see General Parameters). |
optional | defaults |
RouteTableId | When deploying on an existing private subnet, the route table to use for access to the ICM host; if provided, ICM uses this instead of allocating its own (and does not deallocate during unprovision). No default. | optional | defaults |
InternetGatewayId | When deploying on an existing private subnet, the Internet gateway to use for access to the ICM host; if provided, ICM uses this instead of allocating its own (and does not deallocate during unprovision). No default. | optional | defaults |
OSVolumeType | Determines disk type of the OS volume for a node or nodes in the deployment, which in turn determines the maximum value for the OSVolumeSize parameter (see General Parameters), which sets the size of the OS volume. See Amazon EBS Volume TypesOpens in a new tab in the AWS documentation. Tencent uses the same parameter name. Default: standard. | optional | |
DataVolumeType WIJVolumeType Journal1VolumeType Journal2VolumeType |
Determines disk type of the corresponding persistent storage volume for iris containers (see Storage Volumes Mounted by ICM), which in turn determines the maximum size of the volume. For example, DataVolumeType determines the maximum value for the DataVolumeSize parameter (see General Parameters), which detemines the size of the data volume. See Amazon EBS Volume TypesOpens in a new tab in the AWS documentation. Tencent uses the same parameter name. Default: standard. | optional | |
OSVolumeIOPS |
Determines IOPS count for the OS volume for a node or nodes in the deployment; see I/O Characteristics and MonitoringOpens in a new tab in the AWS documentation. Default: 0. | optional | |
PlacementGroups |
A comma-separated list of placement groups to create (see Placement groupsOpens in a new tab in the AWS documentation). If blank or omitted, no placement groups are created. Default: none. |
optional | |
PlacementStrategy |
Strategy for placing instances in the groups specified by PlacementGroups. Valid values are cluster, partition, and spread. Default: cluster. |
optional | |
PlacementMap |
Specifies the mapping between the values of PlacementGroups and the nodes within a given definition. Instances will be assigned in the order in which they occur in PlacementGroups (with wraparound). Default: 0,1,2,3,...,256. |
optional | |
PlacementPartitionCount | The number of partitions to create in the placement group. Has no effect unless PlacementStrategy is set to partition. Default: 2 | optional | |
PlacementSpreadLevel | Places a group of instances on distinct hardware. Has no effect unless PlacementStrategy is set to spread. Valid values are rack and host. Default: none | optional | |
DataVolumeIOPS WIJVolumeIOPS Journal1VolumeIOPS Journal2VolumeIOPS |
Determines IOPS count for the corresponding persistent storage volume for iris containers (see Storage Volumes Mounted by ICM). For example, DataVolumeIOPS determines the IOPS count for the data volume. See I/O Characteristics and MonitoringOpens in a new tab in the AWS documentation. Must be nonzero when the corresponding volume type (see the immediately preceding) is io1. Default: 0. |
optional | |
LoadBalancerInternal |
When set to True, creates a load balancer of type "internal", otherwise the load balancer type is "external". Default: False. |
optional | definitions |
Parameter | Definition | Use is ... | Config file |
---|---|---|---|
Credentials |
Path to a JSON file containing the service account key for a GCP account. To download, after logging in to the GCP console and selecting a project, open Creating and managing service account keysOpens in a new tab in the GCP documentation and follow the procedure for creating service account keys in the GCP console. |
required | defaults |
Project | GCP project ID; see Creating and Managing ProjectsOpens in a new tab in the GCP documentation. | required | defaults |
Image | Source machine image to use as platform and OS template for provisioned nodes; see ImagesOpens in a new tab in the GCP documentation. Example: ubuntu-os-cloud/ubuntu-1804-bionic-v20190911. | required | |
MachineType | Machine type to use as compute resources template for nodes to be provisioned; see Machine typesOpens in a new tab in the GCP documentation. Example: n1-standard-1. | required | |
RegionMap |
When deploying across multiple regions (see Deploying Across Multiple Regions on GCP), specifies which nodes are deployed in which regions. Default: 0,1,2,...,255. |
optional | definitions |
Network |
Existing Virtual Private Cloud (VPC) to be used in the deployment, instead of allocating a new one; the specified VPC is not deallocated during unprovision. If not specified when PrivateSubnet (see Security-related Parameters) is true, a new VPC is allocated for the deployment and deallocated during unprovision. For more information, see Deploying Within an Existing Private Network. |
optional | defaults |
Subnet | Existing private subnet to be used in the deployment, instead of allocating a new one; not deallocated during unprovision. For multiregion deployments (see Deploying Across Multiple Regions on GCP), value must be a comma-separated list, one for each region specified. If not specified when PrivateSubnet (see Security-related Parameters) is true, a new VPC is allocated for the deployment and deallocated during unprovision. For more information, see Deploying Within an Existing Private Network. | optional | defaults |
OSVolumeType | Determines disk type for the OS volume for a node or nodes in the deployment; see Storage OptionsOpens in a new tab in the GCP documentation. Default: pd-standard. | optional | |
DockerVolumeType |
Determines disk type for the block storage device used for the Docker thin pool on a node or nodes in the deployment; see Storage OptionsOpens in a new tab in the GCP documentation. Default: pd-standard. | optional | |
DataVolumeType WIJVolumeType Journal1VolumeType Journal2VolumeType |
Determines disk type for the corresponding persistent storage volume for iris containers (see Storage Volumes Mounted by ICM). For example, DataVolumeType determines the disk type for the data volume. See Storage OptionsOpens in a new tab in the GCP documentation. Default: pd-standard. | optional |
Parameter | Definition | Use is ... | Config file |
---|---|---|---|
SubscriptionId | A unique alphanumeric string that identifies a Microsoft Azure subscription; to display, on the Azure portal select Subscriptions or type “subscriptions” into the search box, and use the Subscription ID displayed for SubscriptionId. | required | defaults |
TenantId | A unique alphanumeric string that identifies the Azure Active Directory directory in which an application was created; to display, on the Azure portal select Azure Active Directory in the nav pane and then Properties on the nav pane for that page, and use the Directory ID displayed for TenantId. | required | defaults |
UseMSI |
If true, authenticates using a Managed Service Identity in place of ClientId and ClientSecret; see What is managed identities for Azure resources?Opens in a new tab in the Azure documentation. Requires that ICM be run from a machine in Azure. | required | defaults |
ClientId ClientSecret |
Credentials identifying and providing access to an Azure application (if UseMSI is false); to create them:
|
required | defaults |
Location | Region in which to provision a node or nodes; see the Region parameter in General Parameters. | required | defaults |
LocationMap |
When deploying across multiple regions (see Deploying Across Multiple Regions on Azure), specifies which nodes are deployed in which regions. Default: 0,1,2,...,255. |
optional | definitions |
PublisherName | Entity providing a given Azure machine image to use as platform and OS template for provisioned nodes. Example: OpenLogic. | required | |
Offer | Operating system of a given Azure machine image. Example: UbuntuServer. | required | |
Sku | Major version of the operating system of a given Azure machine image. Example: 7.2. | required | |
Version | Build version of a given Azure machine image. Example: 7.2.20170105. | required | |
CustomImage |
Image to be used to create the OS disk, in place of the Azure machine image described by the PublisherName, Offer, Sku, and Version fields. Value is an Azure URI of the form:
/subscriptions/subscription/resourceGroups/resource_group/providers /Microsoft.Compute/images/image_name |
optional | |
Size | Machine size to use as compute resources template for nodes to be provisioned; see Sizes for virtual machines in AzureOpens in a new tab in the Azure documentation. Example: Standard_DS1. | required | |
ResourceGroupName |
Existing resource group to be used in the deployment, instead of allocating a new one; the specified group is not deallocated during unprovision. If not specified when PrivateSubnet (see Security-related Parameters) is true, a new resource group is allocated for the deployment and deallocated during unprovision. For more information, see Deploying Within an Existing Private Network. |
optional | defaults |
VirtualNetworkName |
Existing private subnet to be used in the deployment, instead of allocating a new one; not deallocated during unprovision. For multiregion deployments (see Deploying Across Multiple Regions on Azure), value must be a comma-separated list, one for each region specified. If not specified when PrivateSubnet (see Security-related Parameters) is true, a new VPC is allocated for the deployment and deallocated during unprovision. For more information, see Deploying Within an Existing Private Network.
Note:
The net_subnet_cidr parameter (see Security-related Parameters) must be provided if the network is not created in the default address space 10.0.%d.0/24. |
optional | defaults |
SubnetName |
Name of an existing subnet to be used in the deployment, instead of allocating a new one; not deallocated during unprovision. For multiregion deployments (see Deploying Across Multiple Regions on Azure), value must be a comma-separated list, one for each region specified. If not specified when PrivateSubnet (see Security-related Parameters) is true, a new subnet is allocated for the deployment and deallocated during unprovision.
Note:
When provisioning on a private network, unique SubnetName and net_subnet_cidr parameters must be provided for each entry in the definitions file (but ResourceGroupName and VirtualNetworkName remain in the defaults file). This includes the bastion host definition when deploying a bastion host (see Deploy on a Private Network Through a Bastion Host). |
optional | definitions |
AccountTier |
Storage account performance tier (see Azure storage account overviewOpens in a new tab in the Azure documentation); either HDD (Standard) or SSD (Premium). |
optional | |
AccountReplicationType |
Storage account replication type: locally-redundant storage (LRS), geo-redundant storage (GRS), zone-redundant storage (ZRS), or read access geo-redundant storage (RAGRS). |
optional |
Parameter | Definition | Use is ... | Config file |
---|---|---|---|
SecretID SecretKey |
Unique alphanumeric strings that identify and provide access to a Tencent Cloud account. To download, open SignatureOpens in a new tab in the Tencent Cloud documentation and follow the procedure in “Applying for Security Credentials”. |
required | defaults |
ImageId |
Machine image to use as platform and OS template for provisioned nodes; see Image OverviewOpens in a new tab in the Tencent documentation. Example: img-pi0ii46r. |
required (see below) | |
OSName |
If ImageId (above) is not provided, ICM searches for an image matching this field. Note that this field supports regexp. Default: ubuntu. |
required (see above) | |
InstanceFamily |
Instance family from which to select instance type; if InstanceType (below) is not provided, ICM searches for an instance type matching InstanceFamily, CPUCoreCount, and MemorySize (below). Default: S3. | required (see below) | |
InstanceType |
Instance type to use as compute resources template for nodes to be provisioned on AWS and Tencent; see Instance TypesOpens in a new tab in the Tencent documentation. Example: S2.MEDIUM4. |
required (see above) | |
ElasticIP | Enables the Elastic IP feature on AWS and Tencent to preserve IP address and domain name across host node restart (see Host Node Restart and Recovery). Default: false. | optional | defaults |
VPCId |
Existing Virtual Private Cloud (VPC) to be used in the deployment on AWS and Tencent, instead of allocating a new one; the specified VPC is not deallocated during unprovision. If not specified when PrivateSubnet (see Security-related Parameters) is true, a new VPC is allocated for the deployment and deallocated during unprovision. For more information, see Deploying Within an Existing Private Network.
Note:
Internal parameter net_subnet_cidr must be provided if the VPC is not created in the default address space 10.0.%d.0/24; for example, for a VPC in the range 172.17.0.0/24, you would need to specify net_subnet_cidr as 172.17.%d.0/24. |
optional | defaults |
SubnetIds |
When deploying on an existing private subnet on AWS or Tencent, comma-separated list of subnet IDs, one for each element specified by the Zone parameter (see General Parameters). |
optional | defaults |
CPUCoreCount |
CPU core to match when selecting instance type; if InstanceType (above) is not provided, ICM searches for an instance type matching InstanceFamily, CPUCoreCount, and MemorySize (above). Default: 2. | optional | |
MemorySize |
Memory size to match when selecting instance type; if InstanceType (above) is not provided, ICM searches for an instance type matching InstanceFamily, CPUCoreCount, and MemorySize (above). Default: 4 GB. | optional | |
OSVolumeType |
Determines disk type for the OS volume for a node or nodes in the deployment; see Data Types: DataDiskOpens in a new tab in the Tencent documentation. AWS uses the same parameter name. Default: CLOUD_BASIC. | optional | |
DockerVolumeType |
Determines disk type for the block storage device used for the Docker thin pool on a node or nodes in the deployment; see Data Types: DataDiskOpens in a new tab in the Tencent documentation. AWS uses the same parameter name. Default: CLOUD_BASIC. | optional | |
DataVolumeType WIJVolumeType Journal1VolumeType Journal2VolumeType |
Determines disk type for the corresponding persistent storage volume for iris containers (see Storage Volumes Mounted by ICM). For example, DataVolumeType determines the disk type for the data volume. AWS uses the same parameter names. See Data Types: DataDiskOpens in a new tab in the Tencent documentation. Default: CLOUD BASIC. | optional |
Parameter | Definition | Use is ... | Config file |
---|---|---|---|
Server | Name of the vCenter server. Example: tbdvcenter.internal.acme.com. | required | defaults |
Datacenter | Name of the datacenter. | required | defaults |
DatastoreCluster |
Collection of datastores where virtual machine files will be stored; see Creating a Datastore ClusterOpens in a new tab in the VMware documentation. Example: DatastoreCluster1. |
required | defaults |
DataStore | If provided, specifies one datastore in the datastore cluster in which to store virtual machine files. Example: Datastore1 | optional | defaults |
ComputeCluster | Cluster of hosts used to manage compute resources, DRS, and HA. Example: ComputeCluster1 | required | defaults |
VSphereUser VSpherePassword |
Credentials for vSphere operations; see About vSphere AuthenticationOpens in a new tab in the VMware documentation. | required | defaults |
DNSServers | List of DNS servers for the virtual network. Example: 172.16.96.1,172.17.15.53 | required | defaults |
DNSSuffixes | List of name resolution suffixes for the virtual network adapter. Example: internal.acme.com | required | defaults |
Domain | FQDN for a node or nodes to be provisioned. Example: internal.acme.com | required | defaults |
NetworkInterface | Label to assign to a network interface. Example: VM Network | optional | defaults |
ResourcePool |
Name of a vSphere resource pool; see Managing Resource PoolsOpens in a new tab in the VMware documentation. Example: ResourcePool1. |
optional | defaults |
Template | Virtual machine master copy (machine image) to use as platform and OS template for nodes to be provisioned. Example: ubuntu1804lts | required | |
VCPU | Number of CPUs in a node or nodes to be provisioned. Example: 2. | optional | |
Memory | Amount of memory (in MB) in a node or nodes to be provisioned. Example: 4096. | optional | |
GuestID |
Guest ID for the operating system type. Look for Enum - VirtualMachineGuestOsIdentifier on the VMware support website. Default: other3xLinux64Guest. |
optional | |
WaitForGuestNetTimeout |
Time (in minutes) to wait for an available IP address on a virtual machine. Default: 5. |
optional | |
ShutdownWaitTimeout |
Time (in minutes) to wait for graceful guest shutdown when making necessary updates to a virtual machine. Default: 3. |
optional | |
MigrateWaitTimeout |
Time (in minutes) to wait for virtual machine migration to complete. Default: 10. |
optional | |
CloneTimeout |
Time (in minutes) to wait for virtual machine cloning to complete. Default: 30. |
optional | |
CustomizeTimeout |
Time (in minutes) that Terraform waits for customization to complete. Default: 10. |
optional | |
DiskPolicy |
Disk provisioning policy for the deployment (see About Virtual Disk Provisioning PoliciesOpens in a new tab in the VMware documentation). Values are:
Default: lazy. |
optional | |
SDRSEnabled |
If specified, determines whether Storage DRS (see Enable and Disable Storage DRSOpens in a new tab in the VMware documentation) is enabled for a virtual machine; otherwise, use current datastore cluster settings. Default: Current datastore cluster settings. |
optional | |
SDRSAutomationLevel |
If specified, determines Storage DRS automation level for a virtual machine; otherwise, use current datastore cluster settings. Values are automated or manual. Default: Current datastore cluster settings. |
optional | |
SDRSIntraVMAffinity |
If provided, determines Intra-VM affinity setting for a virtual machine (see Override VMDK Affinity RulesOpens in a new tab in the VMware documentation); otherwise, use current datastore cluster settings. Values include:
Default: Current datastore cluster settings. |
optional | |
SCSIControllerCount |
Number of SCSI controllers for a given host node; must be between 1 and 4. The OS volume is always be placed on the first SCSI controller. vSphere may not be able to create more SCSI controllers than were present in the template specified by the Template field. Default: 1 |
optional | |
DockerVolumeSCSIController |
SCSI controller on which to place the Docker volume. Must be between 1 and 4 and may not exceed SCSIControllerCount. Default: 1 |
optional | |
DataVolumeSCSIController WIJVolumeSCSIController Journal1VolumeSCSIController Journal2VolumeSCSIController |
SCSI controller on which to place the corresponding volume in iris containers; for example, DataVolumeSCSIController determines the controller for data volume. Must be between 1 and 4 and may not exceed SCSIControllerCount. Default: 1 |
optional |
The requirements for the VMware vSphere template specified by the Template property are similar to those described in Host Node Requirements (for example, passwordless sudo access).
To address the needs of the many users who rely on VMware vSphere, it is supported by this release of ICM. Depending on your particular vSphere configuration and underlying hardware platform, the use of ICM to provision virtual machines may entail additional extensions and adjustments not covered in this guide, especially for larger and more complex deployments, and may not be suitable for production use. Full support is expected in a later release.