diff --git a/model/clusters_mgmt/v1/azure_node_pool_type.model b/model/clusters_mgmt/v1/azure_node_pool_type.model new file mode 100644 index 00000000..dcfd1f30 --- /dev/null +++ b/model/clusters_mgmt/v1/azure_node_pool_type.model @@ -0,0 +1,58 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of azure node pool specific parameters. +struct AzureNodePool { + // ResourceName is the Azure Resource Name of the NodePool. + // ResourceName must be within the Azure Resource Group Name of the parent + // Cluster it belongs to. + // ResourceName must be located in the same Azure Location as the parent + // Cluster it belongs to. + // ResourceName must be located in the same Azure Subscription as the parent + // Cluster it belongs to. + // ResourceName must belong to the same Microsoft Entra Tenant ID as the parent + // Cluster it belongs to. + // Required during creation. + // Immutable. + ResourceName String + + // The Azure Virtual Machine size identifier used for the + // Nodes of the Node Pool. + // Availability of VM sizes are dependent on the Azure Location + // of the parent Cluster. + // Required during creation. + VMSize String + + // The size in GiB to assign to the OS disks of the + // Nodes in the Node Pool. The property + // is the number of bytes x 1024^3. + // If not specified, OS disk size is 30 GiB. + OSDiskSizeGibibytes String + + // The disk storage account type to use for the OS disks of the Nodes in the + // Node Pool. Valid values are: + // * Standard_LRS: HDD + // * StandardSSD_LRS: Standard SSD + // * Premium_LRS: Premium SDD + // * UltraSSD_LRS: Ultra SDD + // + // If not specified, `Premium_LRS` is used. + OSDiskStorageAccountType String + + // Enables Ephemeral OS Disks for the Nodes in the Node Pool. + // If not specified, no Ephemeral OS Disks are used. + EphemeralOSDiskEnabled Boolean +} diff --git a/model/clusters_mgmt/v1/node_pool_type.model b/model/clusters_mgmt/v1/node_pool_type.model index 0e8149c2..106b9824 100644 --- a/model/clusters_mgmt/v1/node_pool_type.model +++ b/model/clusters_mgmt/v1/node_pool_type.model @@ -30,6 +30,9 @@ class NodePool { // AWS specific parameters (Optional). AWSNodePool AWSNodePool + // Azure specific parameters. + AzureNodePool AzureNodePool + // The availability zone upon which the node is created. AvailabilityZone String