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