/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (KubeletConfig != null) { KubeletConfig.Validate(); } }
/// <summary> /// Initializes a new instance of the AgentPool class. /// </summary> /// <param name="id">Resource ID.</param> /// <param name="name">The name of the resource that is unique within a /// resource group. This name can be used to access the /// resource.</param> /// <param name="type">Resource type</param> /// <param name="count">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. The default value is 1.</param> /// <param name="vmSize">The size of the agent pool VMs.</param> /// <param name="osDiskType">Possible values include: 'Managed', /// 'Ephemeral'</param> /// <param name="kubeletDiskType">Possible values include: 'OS', /// 'Temporary'</param> /// <param name="vnetSubnetID">The ID of the subnet which agent pool /// nodes and optionally pods will join on startup.</param> /// <param name="podSubnetID">The ID of the subnet which pods will join /// when launched.</param> /// <param name="maxPods">The maximum number of pods that can run on a /// node.</param> /// <param name="osType">Possible values include: 'Linux', /// 'Windows'</param> /// <param name="osSKU">Possible values include: 'Ubuntu', /// 'CBLMariner'</param> /// <param name="maxCount">The maximum number of nodes for /// auto-scaling</param> /// <param name="minCount">The minimum number of nodes for /// auto-scaling</param> /// <param name="enableAutoScaling">Whether to enable /// auto-scaler</param> /// <param name="scaleDownMode">The scale down mode to use when scaling /// the Agent Pool.</param> /// <param name="agentPoolType">Possible values include: /// 'VirtualMachineScaleSets', 'AvailabilitySet'</param> /// <param name="mode">Possible values include: 'System', /// 'User'</param> /// <param name="orchestratorVersion">The version of Kubernetes running /// on the Agent Pool.</param> /// <param name="nodeImageVersion">The version of node image</param> /// <param name="upgradeSettings">Settings for upgrading the /// agentpool</param> /// <param name="provisioningState">The current deployment or /// provisioning state.</param> /// <param name="powerState">Describes whether the Agent Pool is /// Running or Stopped</param> /// <param name="availabilityZones">The list of Availability zones to /// use for nodes. This can only be specified if the AgentPoolType /// property is 'VirtualMachineScaleSets'.</param> /// <param name="enableNodePublicIP">Whether each node is allocated its /// own public IP.</param> /// <param name="nodePublicIPPrefixID">The public IP prefix ID which VM /// nodes should use IPs from.</param> /// <param name="scaleSetPriority">The Virtual Machine Scale Set /// priority. If not specified, the default is 'Regular'. Possible /// values include: 'Spot', 'Regular'</param> /// <param name="scaleSetEvictionPolicy">The Virtual Machine Scale Set /// eviction policy to use.</param> /// <param name="spotMaxPrice">The max 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 default price to be /// up-to on-demand.</param> /// <param name="tags">The tags to be persisted on the agent pool /// virtual machine scale set.</param> /// <param name="nodeLabels">The node labels to be persisted across all /// nodes in agent pool.</param> /// <param name="nodeTaints">The taints added to new nodes during node /// pool create and scale. For example, key=value:NoSchedule.</param> /// <param name="proximityPlacementGroupID">The ID for Proximity /// Placement Group.</param> /// <param name="kubeletConfig">The Kubelet configuration on the agent /// pool nodes.</param> /// <param name="linuxOSConfig">The OS configuration of Linux agent /// nodes.</param> /// <param name="enableEncryptionAtHost">Whether to enable host based /// OS and data drive encryption.</param> /// <param name="enableUltraSSD">Whether to enable UltraSSD</param> /// <param name="enableFIPS">Whether to use a FIPS-enabled OS.</param> /// <param name="gpuInstanceProfile">GPUInstanceProfile to be used to /// specify GPU MIG instance profile for supported GPU VM SKU. Possible /// values include: 'MIG1g', 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'</param> public AgentPool(string id = default(string), string name = default(string), string type = default(string), int?count = default(int?), string vmSize = default(string), int?osDiskSizeGB = default(int?), string osDiskType = default(string), string kubeletDiskType = default(string), string vnetSubnetID = default(string), string podSubnetID = default(string), int?maxPods = default(int?), string osType = default(string), string osSKU = default(string), int?maxCount = default(int?), int?minCount = default(int?), bool?enableAutoScaling = default(bool?), string scaleDownMode = default(string), string agentPoolType = default(string), string mode = default(string), string orchestratorVersion = default(string), string nodeImageVersion = default(string), AgentPoolUpgradeSettings upgradeSettings = default(AgentPoolUpgradeSettings), string provisioningState = default(string), PowerState powerState = default(PowerState), IList <string> availabilityZones = default(IList <string>), bool?enableNodePublicIP = default(bool?), string nodePublicIPPrefixID = default(string), string scaleSetPriority = default(string), string scaleSetEvictionPolicy = default(string), double?spotMaxPrice = default(double?), IDictionary <string, string> tags = default(IDictionary <string, string>), IDictionary <string, string> nodeLabels = default(IDictionary <string, string>), IList <string> nodeTaints = default(IList <string>), string proximityPlacementGroupID = default(string), KubeletConfig kubeletConfig = default(KubeletConfig), LinuxOSConfig linuxOSConfig = default(LinuxOSConfig), bool?enableEncryptionAtHost = default(bool?), bool?enableUltraSSD = default(bool?), bool?enableFIPS = default(bool?), string gpuInstanceProfile = default(string)) : base(id, name, type) { Count = count; VmSize = vmSize; OsDiskSizeGB = osDiskSizeGB; OsDiskType = osDiskType; KubeletDiskType = kubeletDiskType; VnetSubnetID = vnetSubnetID; PodSubnetID = podSubnetID; MaxPods = maxPods; OsType = osType; OsSKU = osSKU; MaxCount = maxCount; MinCount = minCount; EnableAutoScaling = enableAutoScaling; ScaleDownMode = scaleDownMode; AgentPoolType = agentPoolType; Mode = mode; OrchestratorVersion = orchestratorVersion; NodeImageVersion = nodeImageVersion; UpgradeSettings = upgradeSettings; ProvisioningState = provisioningState; PowerState = powerState; AvailabilityZones = availabilityZones; EnableNodePublicIP = enableNodePublicIP; NodePublicIPPrefixID = nodePublicIPPrefixID; ScaleSetPriority = scaleSetPriority; ScaleSetEvictionPolicy = scaleSetEvictionPolicy; SpotMaxPrice = spotMaxPrice; Tags = tags; NodeLabels = nodeLabels; NodeTaints = nodeTaints; ProximityPlacementGroupID = proximityPlacementGroupID; KubeletConfig = kubeletConfig; LinuxOSConfig = linuxOSConfig; EnableEncryptionAtHost = enableEncryptionAtHost; EnableUltraSSD = enableUltraSSD; EnableFIPS = enableFIPS; GpuInstanceProfile = gpuInstanceProfile; CustomInit(); }
/// <summary> /// Initializes a new instance of the ManagedClusterAgentPoolProfile /// class. /// </summary> /// <param name="name">Unique name of the agent pool profile in the /// context of the subscription and resource group.</param> /// <param name="count">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. The default value is 1.</param> /// <param name="vmSize">The size of the agent pool VMs.</param> /// <param name="osDiskType">Possible values include: 'Managed', /// 'Ephemeral'</param> /// <param name="kubeletDiskType">Possible values include: 'OS', /// 'Temporary'</param> /// <param name="vnetSubnetID">The ID of the subnet which agent pool /// nodes and optionally pods will join on startup.</param> /// <param name="podSubnetID">The ID of the subnet which pods will join /// when launched.</param> /// <param name="maxPods">The maximum number of pods that can run on a /// node.</param> /// <param name="osType">Possible values include: 'Linux', /// 'Windows'</param> /// <param name="osSKU">Possible values include: 'Ubuntu', /// 'CBLMariner'</param> /// <param name="maxCount">The maximum number of nodes for /// auto-scaling</param> /// <param name="minCount">The minimum number of nodes for /// auto-scaling</param> /// <param name="enableAutoScaling">Whether to enable /// auto-scaler</param> /// <param name="scaleDownMode">The scale down mode to use when scaling /// the Agent Pool.</param> /// <param name="type">Possible values include: /// 'VirtualMachineScaleSets', 'AvailabilitySet'</param> /// <param name="mode">Possible values include: 'System', /// 'User'</param> /// <param name="orchestratorVersion">The version of Kubernetes running /// on the Agent Pool.</param> /// <param name="nodeImageVersion">The version of node image</param> /// <param name="upgradeSettings">Settings for upgrading the /// agentpool</param> /// <param name="provisioningState">The current deployment or /// provisioning state.</param> /// <param name="powerState">Describes whether the Agent Pool is /// Running or Stopped</param> /// <param name="availabilityZones">The list of Availability zones to /// use for nodes. This can only be specified if the AgentPoolType /// property is 'VirtualMachineScaleSets'.</param> /// <param name="enableNodePublicIP">Whether each node is allocated its /// own public IP.</param> /// <param name="nodePublicIPPrefixID">The public IP prefix ID which VM /// nodes should use IPs from.</param> /// <param name="scaleSetPriority">The Virtual Machine Scale Set /// priority. If not specified, the default is 'Regular'. Possible /// values include: 'Spot', 'Regular'</param> /// <param name="scaleSetEvictionPolicy">The Virtual Machine Scale Set /// eviction policy to use.</param> /// <param name="spotMaxPrice">The max 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 default price to be /// up-to on-demand.</param> /// <param name="tags">The tags to be persisted on the agent pool /// virtual machine scale set.</param> /// <param name="nodeLabels">The node labels to be persisted across all /// nodes in agent pool.</param> /// <param name="nodeTaints">The taints added to new nodes during node /// pool create and scale. For example, key=value:NoSchedule.</param> /// <param name="proximityPlacementGroupID">The ID for Proximity /// Placement Group.</param> /// <param name="kubeletConfig">The Kubelet configuration on the agent /// pool nodes.</param> /// <param name="linuxOSConfig">The OS configuration of Linux agent /// nodes.</param> /// <param name="enableEncryptionAtHost">Whether to enable host based /// OS and data drive encryption.</param> /// <param name="enableUltraSSD">Whether to enable UltraSSD</param> /// <param name="enableFIPS">Whether to use a FIPS-enabled OS.</param> /// <param name="gpuInstanceProfile">GPUInstanceProfile to be used to /// specify GPU MIG instance profile for supported GPU VM SKU. Possible /// values include: 'MIG1g', 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'</param> public ManagedClusterAgentPoolProfile(string name, int?count = default(int?), string vmSize = default(string), int?osDiskSizeGB = default(int?), string osDiskType = default(string), string kubeletDiskType = default(string), string vnetSubnetID = default(string), string podSubnetID = default(string), int?maxPods = default(int?), string osType = default(string), string osSKU = default(string), int?maxCount = default(int?), int?minCount = default(int?), bool?enableAutoScaling = default(bool?), string scaleDownMode = default(string), string type = default(string), string mode = default(string), string orchestratorVersion = default(string), string nodeImageVersion = default(string), AgentPoolUpgradeSettings upgradeSettings = default(AgentPoolUpgradeSettings), string provisioningState = default(string), PowerState powerState = default(PowerState), IList <string> availabilityZones = default(IList <string>), bool?enableNodePublicIP = default(bool?), string nodePublicIPPrefixID = default(string), string scaleSetPriority = default(string), string scaleSetEvictionPolicy = default(string), double?spotMaxPrice = default(double?), IDictionary <string, string> tags = default(IDictionary <string, string>), IDictionary <string, string> nodeLabels = default(IDictionary <string, string>), IList <string> nodeTaints = default(IList <string>), string proximityPlacementGroupID = default(string), KubeletConfig kubeletConfig = default(KubeletConfig), LinuxOSConfig linuxOSConfig = default(LinuxOSConfig), bool?enableEncryptionAtHost = default(bool?), bool?enableUltraSSD = default(bool?), bool?enableFIPS = default(bool?), string gpuInstanceProfile = default(string)) : base(count, vmSize, osDiskSizeGB, osDiskType, kubeletDiskType, vnetSubnetID, podSubnetID, maxPods, osType, osSKU, maxCount, minCount, enableAutoScaling, scaleDownMode, type, mode, orchestratorVersion, nodeImageVersion, upgradeSettings, provisioningState, powerState, availabilityZones, enableNodePublicIP, nodePublicIPPrefixID, scaleSetPriority, scaleSetEvictionPolicy, spotMaxPrice, tags, nodeLabels, nodeTaints, proximityPlacementGroupID, kubeletConfig, linuxOSConfig, enableEncryptionAtHost, enableUltraSSD, enableFIPS, gpuInstanceProfile) { Name = name; CustomInit(); }