
com.pulumi.azurenative.networkcloud.AgentPool Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.networkcloud;
import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.networkcloud.AgentPoolArgs;
import com.pulumi.azurenative.networkcloud.outputs.AdministratorConfigurationResponse;
import com.pulumi.azurenative.networkcloud.outputs.AgentOptionsResponse;
import com.pulumi.azurenative.networkcloud.outputs.AgentPoolUpgradeSettingsResponse;
import com.pulumi.azurenative.networkcloud.outputs.AttachedNetworkConfigurationResponse;
import com.pulumi.azurenative.networkcloud.outputs.ExtendedLocationResponse;
import com.pulumi.azurenative.networkcloud.outputs.KubernetesLabelResponse;
import com.pulumi.azurenative.networkcloud.outputs.SystemDataResponse;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Azure REST API version: 2023-10-01-preview.
*
* Other available API versions: 2023-07-01, 2024-06-01-preview, 2024-07-01.
*
* ## Example Usage
* ### Create or update Kubernetes cluster agent pool
*
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azurenative.networkcloud.AgentPool;
* import com.pulumi.azurenative.networkcloud.AgentPoolArgs;
* import com.pulumi.azurenative.networkcloud.inputs.AdministratorConfigurationArgs;
* import com.pulumi.azurenative.networkcloud.inputs.AgentOptionsArgs;
* import com.pulumi.azurenative.networkcloud.inputs.AttachedNetworkConfigurationArgs;
* import com.pulumi.azurenative.networkcloud.inputs.ExtendedLocationArgs;
* import com.pulumi.azurenative.networkcloud.inputs.KubernetesLabelArgs;
* import com.pulumi.azurenative.networkcloud.inputs.AgentPoolUpgradeSettingsArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
*
* public class App }{{@code
* public static void main(String[] args) }{{@code
* Pulumi.run(App::stack);
* }}{@code
*
* public static void stack(Context ctx) }{{@code
* var agentPool = new AgentPool("agentPool", AgentPoolArgs.builder()
* .administratorConfiguration(AdministratorConfigurationArgs.builder()
* .adminUsername("azure")
* .sshPublicKeys(SshPublicKeyArgs.builder()
* .keyData("ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin}{@literal @}{@code vm")
* .build())
* .build())
* .agentOptions(AgentOptionsArgs.builder()
* .hugepagesCount(96)
* .hugepagesSize("1G")
* .build())
* .agentPoolName("agentPoolName")
* .attachedNetworkConfiguration(AttachedNetworkConfigurationArgs.builder()
* .l2Networks(L2NetworkAttachmentConfigurationArgs.builder()
* .networkId("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName")
* .pluginType("DPDK")
* .build())
* .l3Networks(L3NetworkAttachmentConfigurationArgs.builder()
* .ipamEnabled("False")
* .networkId("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName")
* .pluginType("SRIOV")
* .build())
* .trunkedNetworks(TrunkedNetworkAttachmentConfigurationArgs.builder()
* .networkId("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName")
* .pluginType("MACVLAN")
* .build())
* .build())
* .availabilityZones(
* "1",
* "2",
* "3")
* .count(3)
* .extendedLocation(ExtendedLocationArgs.builder()
* .name("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName")
* .type("CustomLocation")
* .build())
* .kubernetesClusterName("kubernetesClusterName")
* .labels(KubernetesLabelArgs.builder()
* .key("kubernetes.label")
* .value("true")
* .build())
* .location("location")
* .mode("System")
* .resourceGroupName("resourceGroupName")
* .tags(Map.ofEntries(
* Map.entry("key1", "myvalue1"),
* Map.entry("key2", "myvalue2")
* ))
* .taints(KubernetesLabelArgs.builder()
* .key("kubernetes.taint")
* .value("true")
* .build())
* .upgradeSettings(AgentPoolUpgradeSettingsArgs.builder()
* .maxSurge("1")
* .build())
* .vmSkuName("NC_M16_v1")
* .build());
*
* }}{@code
* }}{@code
*
* }
*
*
* ## Import
*
* An existing resource can be imported using its type token, name, and identifier, e.g.
*
* ```sh
* $ pulumi import azure-native:networkcloud:AgentPool default /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/agentPools/{agentPoolName}
* ```
*
*/
@ResourceType(type="azure-native:networkcloud:AgentPool")
public class AgentPool extends com.pulumi.resources.CustomResource {
/**
* The administrator credentials to be used for the nodes in this agent pool.
*
*/
@Export(name="administratorConfiguration", refs={AdministratorConfigurationResponse.class}, tree="[0]")
private Output* @Nullable */ AdministratorConfigurationResponse> administratorConfiguration;
/**
* @return The administrator credentials to be used for the nodes in this agent pool.
*
*/
public Output> administratorConfiguration() {
return Codegen.optional(this.administratorConfiguration);
}
/**
* The configurations that will be applied to each agent in this agent pool.
*
*/
@Export(name="agentOptions", refs={AgentOptionsResponse.class}, tree="[0]")
private Output* @Nullable */ AgentOptionsResponse> agentOptions;
/**
* @return The configurations that will be applied to each agent in this agent pool.
*
*/
public Output> agentOptions() {
return Codegen.optional(this.agentOptions);
}
/**
* The configuration of networks being attached to the agent pool for use by the workloads that run on this Kubernetes cluster.
*
*/
@Export(name="attachedNetworkConfiguration", refs={AttachedNetworkConfigurationResponse.class}, tree="[0]")
private Output* @Nullable */ AttachedNetworkConfigurationResponse> attachedNetworkConfiguration;
/**
* @return The configuration of networks being attached to the agent pool for use by the workloads that run on this Kubernetes cluster.
*
*/
public Output> attachedNetworkConfiguration() {
return Codegen.optional(this.attachedNetworkConfiguration);
}
/**
* The list of availability zones of the Network Cloud cluster used for the provisioning of nodes in this agent pool. If not specified, all availability zones will be used.
*
*/
@Export(name="availabilityZones", refs={List.class,String.class}, tree="[0,1]")
private Output* @Nullable */ List> availabilityZones;
/**
* @return The list of availability zones of the Network Cloud cluster used for the provisioning of nodes in this agent pool. If not specified, all availability zones will be used.
*
*/
public Output>> availabilityZones() {
return Codegen.optional(this.availabilityZones);
}
/**
* The number of virtual machines that use this configuration.
*
*/
@Export(name="count", refs={Double.class}, tree="[0]")
private Output count;
/**
* @return The number of virtual machines that use this configuration.
*
*/
public Output count() {
return this.count;
}
/**
* The current status of the agent pool.
*
*/
@Export(name="detailedStatus", refs={String.class}, tree="[0]")
private Output detailedStatus;
/**
* @return The current status of the agent pool.
*
*/
public Output detailedStatus() {
return this.detailedStatus;
}
/**
* The descriptive message about the current detailed status.
*
*/
@Export(name="detailedStatusMessage", refs={String.class}, tree="[0]")
private Output detailedStatusMessage;
/**
* @return The descriptive message about the current detailed status.
*
*/
public Output detailedStatusMessage() {
return this.detailedStatusMessage;
}
/**
* The extended location of the cluster associated with the resource.
*
*/
@Export(name="extendedLocation", refs={ExtendedLocationResponse.class}, tree="[0]")
private Output* @Nullable */ ExtendedLocationResponse> extendedLocation;
/**
* @return The extended location of the cluster associated with the resource.
*
*/
public Output> extendedLocation() {
return Codegen.optional(this.extendedLocation);
}
/**
* The Kubernetes version running in this agent pool.
*
*/
@Export(name="kubernetesVersion", refs={String.class}, tree="[0]")
private Output kubernetesVersion;
/**
* @return The Kubernetes version running in this agent pool.
*
*/
public Output kubernetesVersion() {
return this.kubernetesVersion;
}
/**
* The labels applied to the nodes in this agent pool.
*
*/
@Export(name="labels", refs={List.class,KubernetesLabelResponse.class}, tree="[0,1]")
private Output* @Nullable */ List> labels;
/**
* @return The labels applied to the nodes in this agent pool.
*
*/
public Output>> labels() {
return Codegen.optional(this.labels);
}
/**
* The geo-location where the resource lives
*
*/
@Export(name="location", refs={String.class}, tree="[0]")
private Output location;
/**
* @return The geo-location where the resource lives
*
*/
public Output location() {
return this.location;
}
/**
* The selection of how this agent pool is utilized, either as a system pool or a user pool. System pools run the features and critical services for the Kubernetes Cluster, while user pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one system node pool with at least one node.
*
*/
@Export(name="mode", refs={String.class}, tree="[0]")
private Output mode;
/**
* @return The selection of how this agent pool is utilized, either as a system pool or a user pool. System pools run the features and critical services for the Kubernetes Cluster, while user pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one system node pool with at least one node.
*
*/
public Output mode() {
return this.mode;
}
/**
* The name of the resource
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private Output name;
/**
* @return The name of the resource
*
*/
public Output name() {
return this.name;
}
/**
* The provisioning state of the agent pool.
*
*/
@Export(name="provisioningState", refs={String.class}, tree="[0]")
private Output provisioningState;
/**
* @return The provisioning state of the agent pool.
*
*/
public Output provisioningState() {
return this.provisioningState;
}
/**
* Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
*/
@Export(name="systemData", refs={SystemDataResponse.class}, tree="[0]")
private Output systemData;
/**
* @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
*/
public Output systemData() {
return this.systemData;
}
/**
* Resource tags.
*
*/
@Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]")
private Output* @Nullable */ Map> tags;
/**
* @return Resource tags.
*
*/
public Output>> tags() {
return Codegen.optional(this.tags);
}
/**
* The taints applied to the nodes in this agent pool.
*
*/
@Export(name="taints", refs={List.class,KubernetesLabelResponse.class}, tree="[0,1]")
private Output* @Nullable */ List> taints;
/**
* @return The taints applied to the nodes in this agent pool.
*
*/
public Output>> taints() {
return Codegen.optional(this.taints);
}
/**
* The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*
*/
@Export(name="type", refs={String.class}, tree="[0]")
private Output type;
/**
* @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*
*/
public Output type() {
return this.type;
}
/**
* The configuration of the agent pool.
*
*/
@Export(name="upgradeSettings", refs={AgentPoolUpgradeSettingsResponse.class}, tree="[0]")
private Output* @Nullable */ AgentPoolUpgradeSettingsResponse> upgradeSettings;
/**
* @return The configuration of the agent pool.
*
*/
public Output> upgradeSettings() {
return Codegen.optional(this.upgradeSettings);
}
/**
* The name of the VM SKU that determines the size of resources allocated for node VMs.
*
*/
@Export(name="vmSkuName", refs={String.class}, tree="[0]")
private Output vmSkuName;
/**
* @return The name of the VM SKU that determines the size of resources allocated for node VMs.
*
*/
public Output vmSkuName() {
return this.vmSkuName;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public AgentPool(java.lang.String name) {
this(name, AgentPoolArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public AgentPool(java.lang.String name, AgentPoolArgs args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public AgentPool(java.lang.String name, AgentPoolArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:networkcloud:AgentPool", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private AgentPool(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:networkcloud:AgentPool", name, null, makeResourceOptions(options, id), false);
}
private static AgentPoolArgs makeArgs(AgentPoolArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? AgentPoolArgs.Empty : args;
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.aliases(List.of(
Output.of(Alias.builder().type("azure-native:networkcloud/v20230701:AgentPool").build()),
Output.of(Alias.builder().type("azure-native:networkcloud/v20231001preview:AgentPool").build()),
Output.of(Alias.builder().type("azure-native:networkcloud/v20240601preview:AgentPool").build()),
Output.of(Alias.builder().type("azure-native:networkcloud/v20240701:AgentPool").build())
))
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
/**
* Get an existing Host resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static AgentPool get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new AgentPool(name, id, options);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy