{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/ManagedClusterAgentPoolProfile", "title": "ManagedClusterAgentPoolProfile", "type": "object", "description": "Profile for the container service agent pool.", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "The unique name of the agent pool profile in the context of the subscription and resource group.", "minLength": 1, "maxLength": 12, "pattern": "^[a-z][a-z0-9]{0,11}$", "example": "Example Title" }, "count": { "type": "integer", "format": "int32", "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools.", "example": 10 }, "vmSize": { "type": "string", "description": "The size of the agent VMs. Example: Standard_DS2_v2", "example": "example_value" }, "osDiskSizeGB": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2048, "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool.", "example": 10 }, "osDiskType": { "type": "string", "description": "The OS disk type to be used for machines in the agent pool.", "enum": [ "Managed", "Ephemeral" ], "example": "Managed" }, "kubeletDiskType": { "type": "string", "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.", "enum": [ "OS", "Temporary" ], "example": "OS" }, "maxPods": { "type": "integer", "format": "int32", "description": "The maximum number of pods that can run on a node.", "example": 10 }, "osType": { "type": "string", "description": "The operating system type.", "enum": [ "Linux", "Windows" ], "default": "Linux", "example": "Linux" }, "osSKU": { "type": "string", "description": "Specifies the OS SKU used by the agent pool.", "enum": [ "Ubuntu", "AzureLinux", "CBLMariner", "Windows2019", "Windows2022", "WindowsAnnual" ], "example": "Ubuntu" }, "type": { "type": "string", "description": "The type of Agent Pool.", "enum": [ "VirtualMachineScaleSets", "AvailabilitySet", "VirtualMachines" ], "example": "VirtualMachineScaleSets" }, "mode": { "type": "string", "description": "The mode of an agent pool. A cluster must have at least one System agent pool at all times.", "enum": [ "System", "User", "Gateway" ], "example": "System" }, "orchestratorVersion": { "type": "string", "description": "The version of Kubernetes running on the Agent Pool.", "example": "example_value" }, "currentOrchestratorVersion": { "type": "string", "readOnly": true, "description": "The version of Kubernetes the Agent Pool is running.", "example": "example_value" }, "nodeImageVersion": { "type": "string", "readOnly": true, "description": "The version of node image.", "example": "example_value" }, "enableAutoScaling": { "type": "boolean", "description": "Whether to enable auto-scaler.", "example": true }, "minCount": { "type": "integer", "format": "int32", "description": "The minimum number of nodes for auto-scaling.", "example": 10 }, "maxCount": { "type": "integer", "format": "int32", "description": "The maximum number of nodes for auto-scaling.", "example": 10 }, "scaleSetPriority": { "type": "string", "description": "The Virtual Machine Scale Set priority.", "enum": [ "Spot", "Regular" ], "default": "Regular", "example": "Spot" }, "scaleSetEvictionPolicy": { "type": "string", "description": "The Virtual Machine Scale Set eviction policy.", "enum": [ "Delete", "Deallocate" ], "default": "Delete", "example": "Delete" }, "spotMaxPrice": { "type": "number", "format": "float", "description": "The maximum price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates that default price is up-to on-demand.", "example": 42.5 }, "scaleDownMode": { "type": "string", "description": "Describes how VMs are added to or removed from Agent Pools.", "enum": [ "Delete", "Deallocate" ], "default": "Delete", "example": "Delete" }, "vnetSubnetID": { "type": "string", "description": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.", "example": "500123" }, "podSubnetID": { "type": "string", "description": "The ID of the subnet which pods will join when launched.", "example": "500123" }, "enableNodePublicIP": { "type": "boolean", "description": "Whether each node is allocated its own public IP.", "example": true }, "nodePublicIPPrefixID": { "type": "string", "description": "The public IP prefix ID for the nodes in the agent pool.", "example": "500123" }, "enableEncryptionAtHost": { "type": "boolean", "description": "Whether to enable host-based OS and data drive encryption.", "example": true }, "enableFIPS": { "type": "boolean", "description": "Whether to use a FIPS-enabled OS.", "example": true }, "enableUltraSSD": { "type": "boolean", "description": "Whether to enable UltraSSD.", "example": true }, "nodeLabels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The node labels to be persisted across all nodes in agent pool.", "example": "example_value" }, "nodeTaints": { "type": "array", "items": { "type": "string" }, "description": "The taints added to new nodes during node pool create and scale.", "example": [] }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The tags to be persisted on the agent pool virtual machine scale set.", "example": "example_value" }, "proximityPlacementGroupID": { "type": "string", "description": "The ID for Proximity Placement Group.", "example": "500123" }, "upgradeSettings": { "$ref": "#/components/schemas/AgentPoolUpgradeSettings" }, "powerState": { "$ref": "#/components/schemas/PowerState" }, "availabilityZones": { "type": "array", "items": { "type": "string" }, "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is VirtualMachineScaleSets.", "example": [] }, "creationData": { "$ref": "#/components/schemas/CreationData" }, "workloadRuntime": { "type": "string", "description": "Determines the type of workload a node can run.", "enum": [ "OCIContainer", "WasmWasi", "KataMshvVmIsolation" ], "example": "OCIContainer" }, "messageOfTheDay": { "type": "string", "description": "A base64-encoded string which will be written to /etc/motd after decoding. Applicable only for Linux nodes.", "example": "example_value" } } }