---
title: "Create Elastigroup"
method: POST
path: "/azure/compute/group"
tags: ["Elastigroup Azure Spot VMs"]
---

# Create Elastigroup

`POST /azure/compute/group`

Create a new Elastigroup cluster.

## Parameters

- `#/paths/~1azure~1costs/get/parameters/0` — unresolved $ref

## Request body

- object
  - `group` object, required — Azure Elastigroup Configuration
    - `id` string — Azure Elastigroup ID
    - `name` string, required — Azure Elastigroup Name
    - `description` string — Describe your Azure Elastigroup
    - `region` string, required — Valid Azure region the Elastigroup is managed in
    - `resourceGroupName` string, required — The Azure resource group to associate the Elastigroup with
    - `capacity` object, required — Capacity of Elastigroup
      - `target` integer, required — Current scale the Elastigroup will conform to
      - `minimum` integer, required — The Elastigroup will not set a target below this value
      - `maximum` integer, required — The Elastigroup will not set a target greater than this value
    - `scaling` object — Scaling Policies for Elastigroup. Set as many policies as needed to maximize the Elastigroup’s efficiency.
      - `up` object — Provide the ability to accommodate increased workloads.
        - `isEnabled` boolean, required — Specifies whether the scaling policy is enabled.
        - `source` 'azureMonitor' | 'spotMetrics' — The metric source.
        - `policyName` string, required — Name of scaling policy
        - `metricName` string, required — Metric to monitor by Azure metric display name
        - `statistic` 'average' | 'sampleCount' | 'sum' | 'minimum' | 'maximum', required — Statistic by which to evaluate the selected metric.
        - `unit` string — Unit to measure to evaluate the selected metric: Valid Values: + Count + Bytes + Percent + CountPerSecond + Milliseconds + BytesPerSecond + Seconds
        - `threshold` number, float, required — The value at which the scaling action is triggered.
        - `period` integer, required — Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
        - `evaluationPeriods` integer, required — Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
        - `cooldown` integer, required — Time (seconds) to wait after a scaling action before resuming monitoring.
        - `namespace` string, required — Select one of the next namespaces presented in Azure configurator - https://docs.microsoft.com/en-us/azure/templates/
        - `operator` 'gt' | 'gte' | 'lt' | 'lte', required — The operator used to evaluate the threshold against the current metric value. + gt (Greater Than) + gte (Greater Than or Equal) + lt (Less Than) + lte (Less Than or Equal)
        - `action` union, required — The action to take when scale down is needed.
          - object
            - `type` 'adjustment' | 'updateCapacity' — Type of scaling action to take when the scaling policy is triggered.
            - `target` integer — Desired number of instances. Also you must indicate “minimum” and “maximum” amounts. Required if selected as action type: + updateCapacity
            - `minimum` integer — Lower limit of instances that you can scale up to. Also you must indicate “target” and “maximum” amounts. Required if selected as action type: + updateCapacity
            - `maximum` integer — Upper limit of instances that you can scale up to. Also you must indicate “minimum” and “target” amounts. Required if selected as action type: + updateCapacity
          - object
            - `type` 'adjustment' | 'updateCapacity' — Type of scaling action to take when the scaling policy is triggered.
            - `adjustment` string — Value to which the action type will be adjusted. Required if using the next action types: + adjustment
        - `dimensions` object[] — Required if scaling.down.namespace is different from "Microsoft.Compute".\ 2 dimensions are required.
          - `name` string — Azure resource group for the scaling.up.dimensions. Required if using namespace different from "Microsoft.Compute".
          - `value` string — Azure resource for the scaling.up.dimensions. Required if using namespace different from "Microsoft.Compute".
      - `down` object — Provide the ability to scale down to maximize cost efficiency.
        - `isEnabled` boolean, required — Specifies whether the scaling policy is enabled.
        - `source` 'azureMonitor' | 'spotMetrics' — The metric source.
        - `policyName` string, required — Name of scaling policy
        - `metricName` string, required — Metric to monitor by Azure metric display name
        - `statistic` 'average' | 'sampleCount' | 'sum' | 'minimum' | 'maximum', required — Statistic by which to evaluate the selected metric.
        - `unit` string — Unit to measure to evaluate the selected metric: Valid Values: + Count + Bytes + Percent< + CountPerSecond + Milliseconds + BytesPerSecond + Seconds
        - `threshold` number, float, required — The value at which the scaling action is triggered.
        - `period` integer, required — Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
        - `evaluationPeriods` integer, required — Number of consecutive periods in which the threshold must be met in order to trigger the scaling action.
        - `cooldown` integer, required — Time (seconds) to wait after a scaling action before resuming monitoring.
        - `namespace` string, required — Select one of the next namespaces presented in Azure configurator - https://docs.microsoft.com/en-us/azure/templates/
        - `operator` 'gt' | 'gte' | 'lt' | 'lte', required — The operator used to evaluate the threshold against the current metric value. + gt (Greater Than) + gte (Greater Than or Equal) + lt (Less Than) + lte (Less Than or Equal)
        - `action` union, required — The action to take when scale down is needed.
          - object
            - `type` 'adjustment' | 'updateCapacity' — Type of scaling action to take when the scaling policy is triggered.
            - `target` integer — The desired amount of instances. Must be defined along with the ‘minimum’ and ‘maximum’ amounts. Required if selection as action type is: + updateCapacity
            - `minimum` integer — The lower limit of instances that you can scale down to. Must be defined along with the ‘maximum’ and ‘target’ amounts. Required if selection as action type is: + updateCapacity
            - `maximum` integer — The upper limit of instances that you can scale down to. Must be defined along with the ‘minimum’ and ‘target’ amounts. Required if selection as action type is: + updateCapacity
          - object
            - `type` 'adjustment' | 'updateCapacity' — Type of scaling action to take when the scaling policy is triggered.
            - `adjustment` string — Value to which the action type will be adjusted. Required if using the next action types: + adjustment
        - `dimensions` object[] — Required if scaling.up.namespace is different from "Microsoft.Compute".\ 2 dimensions are required.
          - `name` string — Azure resource group for the scaling.down.dimensions. Required if using namespace different from "Microsoft.Compute".
          - `value` string — Azure resource for the scaling.down.dimensions. Required if using namespace different from "Microsoft.Compute".
    - `strategy` object, required
      - `shouldUtilizeCommitments` boolean — Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
      - `spotPercentage` integer — Percentage of Spot-VMs to maintain. <a style=color:red>Required if odCount isn't specified.</a>
      - `onDemandCount` integer — Number of On-Demand VMs to maintain. <a style=color:red>Required if spotPercentage isn't specified.</a>
      - `drainingTimeout` integer — Time (seconds) to allow the VM be drained from incoming TCP connections and detached from MLB before terminating it during a scale down operation.
      - `revertToSpot` object — Hold settings for strategy correction - replacing On-Demand for Spot VMs
        - `performAt` string — Settings for maintenance strategy - possible values: + timeWindow + never + always
      - `optimizationWindows` string[] — Valid format: + ddd:hh:mm-ddd:hh:mm (day:hour(0-23):minute(0-59)) + not empty if revertToSpot.performAt = timeWindow
      - `signals` object[] — The signals defined for this group.
        - `timeout` integer — The timeout in seconds to hold the vm until a signal is sent. If no signal is sent the vm will be replaced (vmReady) or we will terminate the vm (vmReadyToShutdown) after the timeout. (Maximum is 1800 seconds, Minimum is 60 seconds)
        - `type` string — The type of the signal defined for the group. Valid Values: vmReady, vmReadyToShutdown
      - `availabilityVsCost` integer — Set the desired preference for the Spot market VM selection. (100- Availability, 0- cost)
      - `capacityReservation` object — On-demand Capacity Reservation group enables you to reserve Compute capacity in an Azure region or an Availability Zone for any duration of time. [CRG can only be created on the Azure end.](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-create)
        - `shouldUtilize` boolean, required — Determines whether capacity reservations should be utilized.
        - `utilizationStrategy` 'utilizeOverSpot' | 'utilizeOverOD', required — The priority requested for using CRG. This value will determine if CRG is used ahead of spot VMs or On-demand VMs. * utilizeOverOD- If picked, we will use CRG only in case On-demand should be launched. * utilizeOverSpot- CRG will be preferred over Spot. Only after CRG is fully used, spot VMs can be used.
        - `capacityReservationGroups` object[] — List of the desired CRGs to use under the associated Azure subscription. When null we will utilize any available reservation that matches the Virtual Node Group.
          - `name` string, required — The name of the CRG.
          - `resourceGroupName` string, required — Azure resource group name
          - `shouldPrioritize` boolean — The desired CRG to utilize ahead of other CRGs in the subscription.
      - `fallbackToOd` boolean — When set to `true` Elastigroup will launch On Demand instances if no spot market is available
    - `health` object — Set health check and auto-healing of unhealthy VMs.
      - `autoHealing` boolean — Enable auto-healing of unhealthy VMs.
      - `healthCheckTypes` string[] — Health check types to use in order to validate VM health.
      - `gracePeriod` integer — The amount of time (in seconds) after a new VM has launched before terminating the old VM.
      - `unhealthyDuration` integer — Amount of time (in seconds) for the VM to remain unhealthy before a replacement is triggered.
    - `compute` object, required — Elastigroup's Compute Configurtion
      - `vmSizes` object, required — Sizes of On-Demand and Low-Priority VMs.
        - `odSizes` string[], required — Array of string (s) with Available On-Demand sizes (pls chose items that correspond to your location or zone) https://docs.microsoft.com/uk-ua/azure/virtual-machines/sizes:
        - `spotSizes` string[], required — Available Spot-VM sizes. Find the list in Azure https://docs.microsoft.com/en-us/azure/virtual-machines/spot-vms?toc=/azure/virtual-machines/linux/toc.json&bc=/azure/virtual-machines/linux/breadcrumb/toc.json. <a style=color:red>Required if spotSizeAttributes isn't specified.</a>
        - `preferredSpotSizes` string[] — Prioritize Spot VM sizes when launching Spot VMs for the group. <a style=color:red>Must be a sublist of compute.vmSizes.spotSizes. </a>
        - `spotSizeAttributes` object — The values and ranges for spot size attributes when launching VMs. <a style=color:red>Required if spotSizes isn't specified.</a>
          - `minCpu` integer — Minimum instance CPU units.
          - `maxCpu` integer — Maximum instance CPU units.
          - `minStorage` integer — Minimum instance storage (GiB).
          - `maxStorage` integer — Maximum instance storage (GiB).
          - `minMemory` integer — Minimum instance memory (GiB).
          - `maxMemory` integer — Maximum instance memory (GiB).
        - `excludedVmSizes` string[] — Exclude these spot VM sizes when using attribute-based VM sizes.
      - `os` 'Linux' | 'Windows', required
      - `launchSpecification` object, required — Virtual Node Group Configuration
        - `image` object, required — Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image or chosen from shared gallery image.
          - `marketplace` object — Select an image from Azure's Marketplace image catalogue. Cannot be used with `custom` or `gallery`. <a style=color:red;>Required if custom or gallery image are not specified.</a>
            - `publisher` string — Image publisher. <a style=color:red;>Required if marketplace image is specified.</a>
            - `offer` string — Name of image to use. <a style=color:red;>Required if marketplace image is specified.</a>
            - `sku` string — Image's Stock Keeping Unit, which is the specific version of the image. <a style=color:red;>Required if marketplace image is specified.</a>
            - `version` string — Image's version. if version not provided we use 'latest'
          - `custom` object — Custom image to launch Elastigroup with. Cannot be used with `marketplace` or `gallery`. <a style=color:red;>Required if marketplace or gallery image are not specified.</a>
            - `resourceGroupName` string — Name of Resource Group for custom image. <a style=color:red;>Required if custom image is specified.</a>
            - `name` string — Name of the custom image. <a style=color:red;>Required if custom image is specified.</a>
          - `gallery` object — Gallery image to launch Elastigroup with. Cannot be used with `marketplace` or `custom`. <a style=color:red;>Required if marketplace or custom image are not specified.</a>
            - `resourceGroupName` string — Name of Resource Group for custom image. <a style=color:red;>Required if gallery image is specified.</a>
            - `galleryName` string — Name of the gallery. <a style=color:red;>Required if gallery image is specified.</a>
            - `imageName` string — Name of the gallery image. <a style=color:red;>Required if gallery image is specified.</a>
            - `version` string — Image's version. Can be in the format x.x.x or 'latest'. <a style=color:red;>Required if gallery image is specified.</a>
            - `spotAccountId` string — The Spot account ID that connected to the Azure subscription to which the gallery belongs. Relevant only in case of cross-subscription shared galleries. [Read more](https://docs.flexera.com/spot/elastigroup/features-azure/shared-image-galleries) about cross-subscription shared galleries in Elastigroup.
        - `loadBalancersConfig` object — Configure a Load Balancer
          - `loadBalancers` object[] — Add a load balancer. For Azure Gateway, each Backend Pool is a separate load balancer.
            - `type` 'loadBalancer' | 'applicationGateway' — The type of load balancer.
            - `resourceGroupName` string — The Resource Group name of the Load Balancer.
            - `name` string — Name of the Application Gateway/Load Balancer
            - `sku` string — * if type is LoadBalancer then possible values are: * “Standard" * Basic” * if ApplicationGateway then possible values are: * “Standard_Large” * “Standard_Medium” * “Standard_Small” * “Standard_v2 * “WAF_Large” * “WAF_Medium" * “WAF_v2"
            - `backendPoolNames` string[] — Name of the Backend Pool to register the Elastigroup VMs to.\ Each Backend Pool is a separate load balancer.\ Required if Type is APPLICATION_GATEWAY.
        - `managedServiceIdentities` object[] — Add a user-assigned managed identity to the VMs in the cluster.
          - `resourceGroupName` string — The Resource Group that the user-assigned managed identity resides in.
          - `name` string — Name of the managed identity
        - `shutdownScript` string — Shutdown script for the group. Value should be passed as a string encoded at Base64 only
        - `tags` object[] — Key-Value pairs for VMs in the Elastigroup.
          - `tagKey` string — Tag Key for Vms in Elastigroup.
          - `tagValue` string — Tag Value for VMs in Elastigroup.
        - `network` object, required — Define the Virtual Network and Subnet for your Elastigroup.
          - `resourceGroupName` string, required — Vnet Resource Group Name
          - `virtualNetworkName` string, required — Virtual Network
          - `networkInterfaces` object[], required — Virtual Network
            - `isPrimary` boolean, required — Defines whether the network interface is primary or not.
            - `subnetName` string, required — Subnet name
            - `assignPublicIp` boolean — Assign public IP
            - `publicIpSku` string — Required if assignPublicIp=true values=[STANDARD/BASIC]
            - `securityGroup` object — Security Group
              - …
            - `publicIps` object[] — Defined a pool of Public Ips (from Azure), that will be associated to the network interface. We will associate one public ip per instance until the pool is exhausted, in which case, we will create a new one.
              - …
            - `enableIPForwarding` boolean — Enable IP Forwarding
            - `additionalIpConfigurations` object[] — Additional configuration of network interface
              - …
            - `privateIpAddresses` string[] — A list with unique items that every item is a valid IP
            - `applicationSecurityGroups` object[] — List of Application Security Groups that will be associated to the primary ip configration of the network interface.
              - …
        - `extensions` object[] — List of objects for Azure extensions
          - `name` string, required — Required on compute.launchSpecification.extensions object.
          - `protectedSettings` object — Object for protected settings.
          - `enableAutomaticUpgrade` boolean — Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
          - `protectedSettingsFromKeyVault` object — The extensions protected settings that are passed by reference, and consumed from key vault.
            - `sourceVault` string, required — The relative URL of the Key Vault containing the secret.
            - `secretUrl` string, required — The URL referencing a secret in a Key Vault.
          - `publicSettings` object — Public Settings.
          - `publisher` string, required — Required on compute.launchSpecification.extensions object.
          - `type` string, required — Required on compute.launchSpecification.extensions object.
          - `apiVersion` string — The API version of the extension. Required if extension specified.
          - `minorVersionAutoUpgrade` boolean, required — Enable minor version upgrades of the extension. Required if extension specified.
        - `dataDisks` object[] — List of data disks to be attached to the vms in the group.
          - `type` string — The type of the data disk. Required if dataDisks is specified. Possible values: + Standard_LRS + Premium_LRS + StandardSSD_LRS + StandardSSD_ZRS + Premium_ZRS
          - `lun` integer — The lun of the data disk, Required if dataDisks is specified.
          - `sizeGB` integer — The size of the data disk in GB, Required if dataDisks is specified. Minimum value: 1 Maximum value: 1023
        - `osDisk` object — Specify OS disk specification other than default.
          - `type` string — The type of the OS disk. Required if dataDisks is specified. Possible values: + Standard_LRS + Premium_LRS + StandardSSD_LRS + StandardSSD_ZRS + Premium_ZRS
          - `size` integer — The size of the OS disk in GB, Required if dataDisks is specified. Minimum value: 1 Maximum value: 1023
        - `vmNamePrefix` string — Set a VM name prefix to be used for all launched VMs and the VM resources. * The prefix value should comply with the following limitations: * A maximal length of 25 characters. * The prefix can’t contain spaces, control characters, or these characters: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } | ; : . ' " , < > / ? * The VM prefix can't end with a hyphen.
        - `licenseType` string — Enables Azure Hybrid Benefit. Accepted values: Windows_Client, Windows_Server, RHEL_BYOS, SLES_BYOS.
        - `customData` string — This value will hold the YML in base64 and will be added to the scaleSets
        - `userData` string — Define a set of scripts or other metadata that's inserted to an Azure virtual machine at provision time. (Base64 encoded)
        - `login` object — Set admin access for accessing your VMs. <a style=color:red;>Required if custom, marketplace or generalized gallery image are specified. If specialized image is set, Login should not be defined</a>
          - `userName` string, required — User name for admin access to VMs. + for windows: compute.launchSpecification.login.password + for linux: compute.launchSpecification.login.sshPublicKey
          - `sshPublicKey` string — SSH for admin access to Linux VMs. <a style = color:red>Required for Linux. Can not exist simultaneously with 'password'</a>
          - `password` string — Password for admin access to Windows VMs. <a style = color:red>Required for Windows. Can not exist simultaneously with 'sshPublicKey'</a>
        - `bootDiagnostics` object — Will enable boot diagnostics in Azure when a new VM is launched
          - `isEnabled` boolean, required — Allows you to enable and disable the configuration of boot diagnostics at launch
          - `type` 'managed' | 'unmanaged', required — Defines the type of storage on VM launch in Azure.
          - `storageUri` string — The storage URI that is used if type is unmanaged. The storage URI must follow the blob storage URI format ("https://<blobstoragename>.blob.core.windows.net/"). StorageUri is required if the type is unmanaged. StorageUri must be ‘null’ in case the boot diagnostics type is managed
        - `secrets` object[] — Set of certificates that should be installed the VM
          - `sourceVault` object, required — The key vault reference, contains the required certificates
            - `resourceGroupName` string, required — The resource group name of the key vault
            - `name` string, required — The name of the key vault
          - `vaultCertificates` object[], required — The required certificate references
            - `certificateUrl` string, required — The URL of the certificate under the key vault
            - `certificateStore` string, required — The certificate store directory the VM. The directory is created in the LocalMachine account. * This field is required only when using windows OS type * This field must be ‘null’ when the OS type is Linux
        - `security` object — Specifies the Security related profile settings for the virtual machine.
          - `securityType` 'Standard' | 'TrustedLaunch' | 'ConfidentialVM' — Security type refers to the different security features of a virtual machine. Security features like Trusted launch virtual machines help to improve the security of Azure generation 2 virtual machines.
          - `secureBootEnabled` boolean — Specifies whether secure boot should be enabled on the virtual machine.
          - `vTpmEnabled` boolean — Specifies whether vTPM should be enabled on the virtual machine.
          - `confidentialOsDiskEncryption` boolean — Confidential disk encryption binds the disk encryption keys to the VM's TPM, ensuring VM-only access. The security type must be "ConfidentialVM" to enable defining this preference as “true”.
          - `encryptionAtHost` boolean — Enables host encryption for the virtual machine. Encryption at host can only be enabled if this property is set to true for the resource.
        - `proximityPlacementGroups` object[] — The proximity placement group where the VM is launched.
          - `name` string, required — The name of the proximity placement group.
          - `resourceGroupName` string, required — The resource group name of the proximity placement group.
      - `zones` string[] — List of Azure Availability Zones in the defined region; If not defined, Virtual machines will be launched regionally.
      - `preferredZones` string[] — The AZs to prioritize when launching VMs. If no markets are available in the Preferred AZs, VMs are launched in the non-preferred AZs. <a style=color:red>Must be a sublist of compute.zones.</a>
    - `scheduling` object — Define cron-based scheduled tasks.
      - `tasks` union[] — A list of scheduling tasks. Note: The type of each task defines the behavior of the cron execution.
        - union
          - object — This is a scheduled task that will allow to change the group's capacty. If the target is changed, then VMs will either be scaled up or down. Note: At least one of the following must be configured: [scaleTargetCapacity, scaleMaxCapacity, scaleMinCapacity]
            - `isEnabled` string, required — A list of scheduling tasks.
            - `cronExpression` string, required — A valid cron expression. The cron is running in UTC time zone and is in Unix cron format of Cron Expression Validator Script.
            - `type` 'scale', required — Define cron-based scheduled tasks.
            - `scaleTargetCapacity` integer — This will set the defined target group capacity when the scheduling task is triggered.
            - `scaleMaxCapacity` integer — This will set the defined maximum group capacity when the scheduling task is triggered.
            - `scaleMinCapacity` integer — This will set the defined maximum group capacity when the scheduling task is triggered.
          - object — This is a scheduled task that will allow to add VMs to the group's target capacity by a specific count.
            - `isEnabled` string, required — A list of scheduling tasks.
            - `cronExpression` string, required — A valid cron expression. The cron is running in UTC time zone and is in Unix cron format of Cron Expression Validator Script.
            - `type` 'scaleUp', required — Defines the type of the scheduled task.
            - `adjustment` integer, required — This will increase the target capacity by the defined amount when the scheduling task is triggered.
          - object — This is a scheduled task that will allow to remove VMs from the group's target capacity by a specific count.
            - `isEnabled` string, required — A list of scheduling tasks.
            - `cronExpression` string, required — A valid cron expression. The cron is running in UTC time zone and is in Unix cron format of Cron Expression Validator Script.
            - `type` 'scaleDown', required — Defines the type of the scheduled task.
            - `adjustment` integer, required — This will decrease the target capacity by the defined amount when the scheduling task is triggered.
          - object — This is a scheduled task that will allow to add VMs to the group's target capacity by a percentage of the group's current target.
            - `isEnabled` string, required — A list of scheduling tasks.
            - `cronExpression` string, required — A valid cron expression. The cron is running in UTC time zone and is in Unix cron format of Cron Expression Validator Script.
            - `type` 'scaleUpPercentage', required — Defines the type of the scheduled task.
            - `adjustmentPercentage` integer, required — This will increase the target capacity by the defined percentage value when the scheduling task is triggered. This will set the target capacity by the defined percentage of the current target when the scheduling task triggers.
          - object — This is a scheduled task that will allow to remove VMs from the group's target capacity by a percentage of the group's current target.
            - `isEnabled` string, required — A list of scheduling tasks.
            - `cronExpression` string, required — A valid cron expression. The cron is running in UTC time zone and is in Unix cron format of Cron Expression Validator Script.
            - `type` 'percentageScaleDown', required — Defines the type of the scheduled task.
            - `adjustmentPercentage` integer, required — This will decrease the target capacity by the defined percentage value when the scheduling task is triggered.
          - object — This is a scheduled task that will allow the deployment of an Elastigroup.
            - `isEnabled` string, required — A list of scheduling tasks.
            - `cronExpression` string, required — A valid cron expression. The cron is running in UTC time zone and is in Unix cron format of Cron Expression Validator Script.
            - `type` 'deployment', required — Defines the type of the scheduled task.
            - `batchSizePercentage` integer, required — Indicates the timeout (in seconds) to wait until the VM becomes healthy, based on the healthCheckType.
            - `gracePeriod` integer, required — The number of seconds the timeout waits until the instance becomes healthy based on the healthCheckType.
    - `integrations` object — Configure integrations for the VMs in the Elastigroup.
      - `azureDns` object — Configure DNS zones for the VMs in the Elastigroup. [Read more](https://docs.flexera.com/spot/elastigroup/features-azure/dns)
        - `dnsZones` object[], required
          - `type` 'public', required — The type of DNS zone. Currently, only public is supported.
          - `resourceGroup` string, required — The resource group name of the DNS zone.
          - `name` string, required — The name of the DNS zone.
          - `recordSets` object[], required — The record sets of virtual machine IPs to add to the DNS.
            - `name` string
          - `spotAccountId` string — For cross-subscription shared DNS zones, this is the Spot account ID of the Azure subscription in the DNS zone.
      - `insights` object — Configure Azure Insights for Elastigroup VMs.
        - `isEnabled` boolean, required — Enable insights for the VMs in the Elastigroup.
        - `dataCollectionRuleId` string, required — The ID of the data collection rule to be associated with the VMs in the Elastigroup.

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/spot/apis/spot-by-flexera-api.md) · [All operations](https://skmtc.net/spot/apis/spot-by-flexera-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spot/spot-by-flexera-api/revisions/72813baf8d47/schema)
