All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.googlenative.dataproc.v1.outputs.NodeGroupResponse Maven / Gradle / Ivy

// *** 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.googlenative.dataproc.v1.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.googlenative.dataproc.v1.outputs.InstanceGroupConfigResponse;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;

@CustomType
public final class NodeGroupResponse {
    /**
     * @return Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labelsn.
     * 
     */
    private Map labels;
    /**
     * @return The Node group resource name (https://aip.dev/122).
     * 
     */
    private String name;
    /**
     * @return Optional. The node group instance group configuration.
     * 
     */
    private InstanceGroupConfigResponse nodeGroupConfig;
    /**
     * @return Node group roles.
     * 
     */
    private List roles;

    private NodeGroupResponse() {}
    /**
     * @return Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labelsn.
     * 
     */
    public Map labels() {
        return this.labels;
    }
    /**
     * @return The Node group resource name (https://aip.dev/122).
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Optional. The node group instance group configuration.
     * 
     */
    public InstanceGroupConfigResponse nodeGroupConfig() {
        return this.nodeGroupConfig;
    }
    /**
     * @return Node group roles.
     * 
     */
    public List roles() {
        return this.roles;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(NodeGroupResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private Map labels;
        private String name;
        private InstanceGroupConfigResponse nodeGroupConfig;
        private List roles;
        public Builder() {}
        public Builder(NodeGroupResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.labels = defaults.labels;
    	      this.name = defaults.name;
    	      this.nodeGroupConfig = defaults.nodeGroupConfig;
    	      this.roles = defaults.roles;
        }

        @CustomType.Setter
        public Builder labels(Map labels) {
            this.labels = Objects.requireNonNull(labels);
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            this.name = Objects.requireNonNull(name);
            return this;
        }
        @CustomType.Setter
        public Builder nodeGroupConfig(InstanceGroupConfigResponse nodeGroupConfig) {
            this.nodeGroupConfig = Objects.requireNonNull(nodeGroupConfig);
            return this;
        }
        @CustomType.Setter
        public Builder roles(List roles) {
            this.roles = Objects.requireNonNull(roles);
            return this;
        }
        public Builder roles(String... roles) {
            return roles(List.of(roles));
        }
        public NodeGroupResponse build() {
            final var o = new NodeGroupResponse();
            o.labels = labels;
            o.name = name;
            o.nodeGroupConfig = nodeGroupConfig;
            o.roles = roles;
            return o;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy