Esx.Settings.Clusters.Vms.SolutionSpec

Esx.Settings.Clusters.Vms.SolutionSpec
Esx.Settings.Clusters.Vms.SolutionSpec

The Esx.Settings.Clusters.Vms.SolutionSpec schema contains properties that describe the desired specification of a System VM solution that is to be installed or updated in a given cluster.

This schema was added in vSphere API 9.0.0.0.

JSON Example
{
    "deployment_type": "string",
    "display_name": "string",
    "display_version": "string",
    "vm_name_template": {
        "prefix": "string",
        "suffix": "string"
    },
    "host_solution_spec": {
        "prefer_host_configuration": false,
        "vm_networks": [
            "string"
        ],
        "vm_datastores": [
            "string"
        ]
    },
    "cluster_solution_spec": {
        "vm_count": 0,
        "vm_placement_policies": [
            "string"
        ],
        "vm_networks": {
            "vm_networks": "string"
        },
        "vm_datastores": [
            "string"
        ],
        "devices": {},
        "remediation_policy": "string",
        "alternative_vm_specs": [
            {
                "selection_criteria": {
                    "selection_type": "string",
                    "extra_config_value": "string"
                },
                "devices": {}
            }
        ]
    },
    "hook_configurations": {
        "hook_configurations": {
            "timeout": 0
        }
    },
    "ovf_resource": {
        "location_type": "string",
        "url": "string",
        "ssl_certificate_validation": "string",
        "certificate": "string",
        "authentication_scheme": "string"
    },
    "ovf_descriptor_properties": {
        "ovf_descriptor_properties": "string"
    },
    "vm_clone_config": "string",
    "vm_storage_policy": "string",
    "vm_storage_profiles": [
        "string"
    ],
    "vm_disk_type": "string",
    "vm_resource_pool": "string",
    "vm_folder": "string",
    "vm_resource_spec": {
        "ovf_deployment_option": "string"
    },
    "redeployment_policy": "string"
}
string
deployment_type
Required

Deployment type of the solution.

Possible values:

  • EVERY_HOST_PINNED: The solution requires exactly one VM deployed to any host in the cluster. Every solution VM is pinned (has affinity) to the host and cannot be migrated or restarted on another host inside the cluster.
  • CLUSTER_VM_SET: The solution requires a set of VMs to be deployed inside the cluster.

For more information see: Esx.Settings.Clusters.Vms.DeploymentType.

This property was added in vSphere API 9.0.0.0.

string
display_name
Required

Display name of the solution.

This property was added in vSphere API 9.0.0.0.

string
display_version
Required

Display version of the solution.

This property was added in vSphere API 9.0.0.0.

vm_name_template
Required

VM name template.

This property was added in vSphere API 9.0.0.0.

host_solution_spec
Optional

Configuration that is only applicable for solutions with deployment type Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED

This property was added in vSphere API 9.0.0.0.

This property is optional and it is only relevant when the value of deployment_type is Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED.

cluster_solution_spec
Optional

Configuration that is only applicable for solutions with deployment type Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET

This property was added in vSphere API 9.0.0.0.

This property is optional and it is only relevant when the value of deployment_type is Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET.

object
hook_configurations
Optional

VM lifecycle hooks configurations. See Esx.Settings.Clusters.Vms.LifecycleHooks. The map keys represent Esx.Settings.Clusters.Vms.LifecycleStates while the map values represent their configurations.

This property was added in vSphere API 9.0.0.0.

if missing or null or empty, no hooks are configured.

ovf_resource
Required

Information about the OVF resource that to be used for the VM deployments.

This property was added in vSphere API 9.0.0.0.

object
ovf_descriptor_properties
Optional

OVF properties that to be assigned to the VMs' OVF properties when powered on. The keys of the map must not include any white-space characters. The map keys represent the names of properties while the map values represent the values of those properties.

This property was added in vSphere API 9.0.0.0.

if missing or null or empty, no properties are assigned.

string
vm_clone_config
Optional

VM cloning configuration.

Possible values:

  • ALL_CLONES: The system creates a snapshot of the first deployed VM and after that uses one of the available VM clone methods to deploy others.
  • FULL_CLONES_ONLY: The system creates a snapshot of the first deployed VM and after that uses full VM clone method to deploy others.
  • NO_CLONES: The system does not use VM clone methods to deploy VMs.

For more information see: Esx.Settings.Clusters.Vms.VmCloneConfig.

This property was added in vSphere API 9.0.0.0.

if missing or null, defaults to Esx.Settings.Clusters.Vms.VmCloneConfig.ALL_CLONES.

string
vm_storage_policy
Required

Storage policies to be configured on the VMs.

Possible values:

  • DEFAULT: The default storage policy defined by the Storage Policy Based Management.
  • PROFILE: Profile storage policy.

For more information see: Esx.Settings.Clusters.Vms.StoragePolicy.

This property was added in vSphere API 9.0.0.0.

array of string
vm_storage_profiles
Optional

Storage policy profiles to be configured on the VMs. The profiles are passed to vim.vm.ConfigSpec#vmProfile without any interpretation.

This property was added in vSphere API 9.0.0.0.

This property is optional and it is only relevant when the value of vm_storage_policy is Esx.Settings.Clusters.Vms.StoragePolicy.PROFILE.

When clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: com.vmware.spbm.StorageProfile. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: com.vmware.spbm.StorageProfile.

string
vm_disk_type
Optional

Disk provisioning type of the VMs.

Possible values:

  • DEFAULT: Denotes no specific type for disk provisioning. Disks are provisioned as defaulted by vCenter.
  • THIN: Disks are provisioned with only used space allocated.
  • THICK: Disks are provisioned with full size and the space is zeroed on demand.

For more information see: Esx.Settings.Clusters.Vms.DiskType.

This property was added in vSphere API 9.0.0.0.

if missing or null, defaults to Esx.Settings.Clusters.Vms.DiskType.DEFAULT.

string
vm_resource_pool
Optional

Identifier of the resource pool where the VMs to be deployed.

This property was added in vSphere API 9.0.0.0.

if missing or null the VMs for each compute resource will be deployed under top level nested resource pool created for the solutions. If unable to create a nested resource pool, the root resource pool of the compute resource will be used.

When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: ResourcePool. When operations return a value of this schema as a response, the property will be an identifier for the resource type: ResourcePool.

string
vm_folder
Optional

Identifier of the folder inventory object where the VMs to be deployed.

This property was added in vSphere API 9.0.0.0.

if missing or null the VMs are deployed inside the top level folder created in each datacenter for solutions.

When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: Folder. When operations return a value of this schema as a response, the property will be an identifier for the resource type: Folder.

vm_resource_spec
Optional

VMs resource configuration.

This property was added in vSphere API 9.0.0.0.

If missing or null the default resource configuration specified in the OVF descriptor is used.

string
redeployment_policy
Optional

Specifies System VMs redeployment policy.

Esx.Settings.Clusters.Vms.RedeploymentPolicy.BLUE_GREEN is supported only for solutions with deployment type Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET.

Possible values:

  • RECREATE: The default policy used by vLCM for System VM redeployment. System VMs are redeployed as follows: Once the new replica is provisioned, the old replica is powered off and deleted. Then the new replica is powered on and it's setup is completed to have the System VM fully operational.

This policy causes a downtime.

  • BLUE_GREEN: Follows a standard blue-green strategy. System VMs are redeployed as follows: Once the new replica is provisioned, it is powered on. Then the new replica setup is completed to have the System VM fully operational. Then the old replica is powered off and deleted.

This policy provides zero-downtime.

For more information see: Esx.Settings.Clusters.Vms.RedeploymentPolicy.

Warning: this property is part of a new feature in development. It may be changed at any time and may not have all supported functionality implemented.

if missing or null, defaults to Esx.Settings.Clusters.Vms.RedeploymentPolicy.RECREATE.