Class NodePoolArgs.Builder

  • Enclosing class:
    NodePoolArgs

    public static final class NodePoolArgs.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • autoscaling

        public NodePoolArgs.Builder autoscaling​(@Nullable
                                                com.pulumi.core.Output<NodePoolAutoscalingArgs> autoscaling)
        Parameters:
        autoscaling - Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.
        Returns:
        builder
      • autoscaling

        public NodePoolArgs.Builder autoscaling​(NodePoolAutoscalingArgs autoscaling)
        Parameters:
        autoscaling - Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.
        Returns:
        builder
      • cluster

        public NodePoolArgs.Builder cluster​(com.pulumi.core.Output<java.lang.String> cluster)
        Parameters:
        cluster - The cluster to create the node pool for. Cluster must be present in `location` provided for clusters. May be specified in the format `projects/{{project}}/locations/{{location}}/clusters/{{cluster}}` or as just the name of the cluster. ***
        Returns:
        builder
      • cluster

        public NodePoolArgs.Builder cluster​(java.lang.String cluster)
        Parameters:
        cluster - The cluster to create the node pool for. Cluster must be present in `location` provided for clusters. May be specified in the format `projects/{{project}}/locations/{{location}}/clusters/{{cluster}}` or as just the name of the cluster. ***
        Returns:
        builder
      • initialNodeCount

        public NodePoolArgs.Builder initialNodeCount​(@Nullable
                                                     com.pulumi.core.Output<java.lang.Integer> initialNodeCount)
        Parameters:
        initialNodeCount - The initial number of nodes for the pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource. WARNING: Resizing your node pool manually may change this value in your existing cluster, which will trigger destruction and recreation on the next provider run (to rectify the discrepancy). If you don't need this value, don't set it. If you do need it, you can use a lifecycle block to ignore subsqeuent changes to this field.
        Returns:
        builder
      • initialNodeCount

        public NodePoolArgs.Builder initialNodeCount​(java.lang.Integer initialNodeCount)
        Parameters:
        initialNodeCount - The initial number of nodes for the pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource. WARNING: Resizing your node pool manually may change this value in your existing cluster, which will trigger destruction and recreation on the next provider run (to rectify the discrepancy). If you don't need this value, don't set it. If you do need it, you can use a lifecycle block to ignore subsqeuent changes to this field.
        Returns:
        builder
      • location

        public NodePoolArgs.Builder location​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> location)
        Parameters:
        location - The location (region or zone) of the cluster. ***
        Returns:
        builder
      • location

        public NodePoolArgs.Builder location​(java.lang.String location)
        Parameters:
        location - The location (region or zone) of the cluster. ***
        Returns:
        builder
      • management

        public NodePoolArgs.Builder management​(@Nullable
                                               com.pulumi.core.Output<NodePoolManagementArgs> management)
        Parameters:
        management - Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.
        Returns:
        builder
      • management

        public NodePoolArgs.Builder management​(NodePoolManagementArgs management)
        Parameters:
        management - Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.
        Returns:
        builder
      • maxPodsPerNode

        public NodePoolArgs.Builder maxPodsPerNode​(@Nullable
                                                   com.pulumi.core.Output<java.lang.Integer> maxPodsPerNode)
        Parameters:
        maxPodsPerNode - The maximum number of pods per node in this node pool. Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr) for more information.
        Returns:
        builder
      • maxPodsPerNode

        public NodePoolArgs.Builder maxPodsPerNode​(java.lang.Integer maxPodsPerNode)
        Parameters:
        maxPodsPerNode - The maximum number of pods per node in this node pool. Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr) for more information.
        Returns:
        builder
      • name

        public NodePoolArgs.Builder name​(@Nullable
                                         com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - The name of the node pool. If left blank, the provider will auto-generate a unique name.
        Returns:
        builder
      • name

        public NodePoolArgs.Builder name​(java.lang.String name)
        Parameters:
        name - The name of the node pool. If left blank, the provider will auto-generate a unique name.
        Returns:
        builder
      • namePrefix

        public NodePoolArgs.Builder namePrefix​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> namePrefix)
        Parameters:
        namePrefix - Creates a unique name for the node pool beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • namePrefix

        public NodePoolArgs.Builder namePrefix​(java.lang.String namePrefix)
        Parameters:
        namePrefix - Creates a unique name for the node pool beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • networkConfig

        public NodePoolArgs.Builder networkConfig​(@Nullable
                                                  com.pulumi.core.Output<NodePoolNetworkConfigArgs> networkConfig)
        Parameters:
        networkConfig - The network configuration of the pool. Such as configuration for [Adding Pod IP address ranges](https://cloud.google.com/kubernetes-engine/docs/how-to/multi-pod-cidr)) to the node pool. Or enabling private nodes. Structure is documented below
        Returns:
        builder
      • networkConfig

        public NodePoolArgs.Builder networkConfig​(NodePoolNetworkConfigArgs networkConfig)
        Parameters:
        networkConfig - The network configuration of the pool. Such as configuration for [Adding Pod IP address ranges](https://cloud.google.com/kubernetes-engine/docs/how-to/multi-pod-cidr)) to the node pool. Or enabling private nodes. Structure is documented below
        Returns:
        builder
      • nodeConfig

        public NodePoolArgs.Builder nodeConfig​(@Nullable
                                               com.pulumi.core.Output<NodePoolNodeConfigArgs> nodeConfig)
        Parameters:
        nodeConfig - Parameters used in creating the node pool. See gcp.container.Cluster for schema.
        Returns:
        builder
      • nodeConfig

        public NodePoolArgs.Builder nodeConfig​(NodePoolNodeConfigArgs nodeConfig)
        Parameters:
        nodeConfig - Parameters used in creating the node pool. See gcp.container.Cluster for schema.
        Returns:
        builder
      • nodeCount

        public NodePoolArgs.Builder nodeCount​(@Nullable
                                              com.pulumi.core.Output<java.lang.Integer> nodeCount)
        Parameters:
        nodeCount - The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside `autoscaling`.
        Returns:
        builder
      • nodeCount

        public NodePoolArgs.Builder nodeCount​(java.lang.Integer nodeCount)
        Parameters:
        nodeCount - The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside `autoscaling`.
        Returns:
        builder
      • nodeLocations

        public NodePoolArgs.Builder nodeLocations​(@Nullable
                                                  com.pulumi.core.Output<java.util.List<java.lang.String>> nodeLocations)
        Parameters:
        nodeLocations - The list of zones in which the node pool's nodes should be located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If unspecified, the cluster-level `node_locations` will be used. > Note: `node_locations` will not revert to the cluster's default set of zones upon being unset. You must manually reconcile the list of zones with your cluster.
        Returns:
        builder
      • nodeLocations

        public NodePoolArgs.Builder nodeLocations​(java.util.List<java.lang.String> nodeLocations)
        Parameters:
        nodeLocations - The list of zones in which the node pool's nodes should be located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If unspecified, the cluster-level `node_locations` will be used. > Note: `node_locations` will not revert to the cluster's default set of zones upon being unset. You must manually reconcile the list of zones with your cluster.
        Returns:
        builder
      • nodeLocations

        public NodePoolArgs.Builder nodeLocations​(java.lang.String... nodeLocations)
        Parameters:
        nodeLocations - The list of zones in which the node pool's nodes should be located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If unspecified, the cluster-level `node_locations` will be used. > Note: `node_locations` will not revert to the cluster's default set of zones upon being unset. You must manually reconcile the list of zones with your cluster.
        Returns:
        builder
      • placementPolicy

        public NodePoolArgs.Builder placementPolicy​(@Nullable
                                                    com.pulumi.core.Output<NodePoolPlacementPolicyArgs> placementPolicy)
        Parameters:
        placementPolicy - Specifies a custom placement policy for the nodes. <a name="nested_autoscaling"></a>The `autoscaling` block supports (either total or per zone limits are required):
        Returns:
        builder
      • placementPolicy

        public NodePoolArgs.Builder placementPolicy​(NodePoolPlacementPolicyArgs placementPolicy)
        Parameters:
        placementPolicy - Specifies a custom placement policy for the nodes. <a name="nested_autoscaling"></a>The `autoscaling` block supports (either total or per zone limits are required):
        Returns:
        builder
      • project

        public NodePoolArgs.Builder project​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> project)
        Parameters:
        project - The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.
        Returns:
        builder
      • project

        public NodePoolArgs.Builder project​(java.lang.String project)
        Parameters:
        project - The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.
        Returns:
        builder
      • upgradeSettings

        public NodePoolArgs.Builder upgradeSettings​(@Nullable
                                                    com.pulumi.core.Output<NodePoolUpgradeSettingsArgs> upgradeSettings)
        Parameters:
        upgradeSettings - Specify node upgrade settings to change how GKE upgrades nodes. The maximum number of nodes upgraded simultaneously is limited to 20. Structure is documented below.
        Returns:
        builder
      • upgradeSettings

        public NodePoolArgs.Builder upgradeSettings​(NodePoolUpgradeSettingsArgs upgradeSettings)
        Parameters:
        upgradeSettings - Specify node upgrade settings to change how GKE upgrades nodes. The maximum number of nodes upgraded simultaneously is limited to 20. Structure is documented below.
        Returns:
        builder
      • version

        public NodePoolArgs.Builder version​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> version)
        Parameters:
        version - The Kubernetes version for the nodes in this pool. Note that if this field and `auto_upgrade` are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See the `gcp.container.getEngineVersions` data source's `version_prefix` field to approximate fuzzy versions in a provider-compatible way.
        Returns:
        builder
      • version

        public NodePoolArgs.Builder version​(java.lang.String version)
        Parameters:
        version - The Kubernetes version for the nodes in this pool. Note that if this field and `auto_upgrade` are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See the `gcp.container.getEngineVersions` data source's `version_prefix` field to approximate fuzzy versions in a provider-compatible way.
        Returns:
        builder