Skip to main content

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.

Note:

For information about parameters used only for PreExisting deployments, see Definitions File for PreExisting in the appendix “Deploying on a Preexisting Cluster”.

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 certifiedOpens in a new tab 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. See Enum - VirtualMachineGuestOsIdentifierOpens in a new tab 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:

  • thin — Thin Provision

  • lazy — Thick Provision Lazy Zeroed

  • eagerZeroedThick — Thick Provision Eager Zeroed

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:

  • true — All disks for this virtual machine will be kept on the same datastore.

  • false — Storage DRS may locate individual disks on different datastores if it helps satisfy cluster requirements.

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  
Note:

The requirements for the VMware vSphere template specified by the Template property are similar to those described in Host Node Requirements in the appendix “Deploying on a Preexisting Cluster” (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.

FeedbackOpens in a new tab