
com.google.api.services.dataproc.model.GceClusterConfig Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.dataproc.model;
/**
* Common config settings for resources of Compute Engine cluster instances, applicable to all
* instances in the cluster.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Cloud Dataproc API. For a detailed explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class GceClusterConfig extends com.google.api.client.json.GenericJson {
/**
* Optional. Confidential Instance Config for clusters using Confidential VMs
* (https://cloud.google.com/compute/confidential-vm/docs).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ConfidentialInstanceConfig confidentialInstanceConfig;
/**
* Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in
* clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP
* addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must
* be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be
* configured to be accessible without external IP addresses.When set to false: Cluster VMs are
* not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each
* cluster VM.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean internalIpOnly;
/**
* Optional. The Compute Engine metadata entries to add to all instances (see Project and instance
* metadata (https://cloud.google.com/compute/docs/storing-retrieving-
* metadata#project_and_instance_metadata)).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map metadata;
/**
* Optional. The Compute Engine network to be used for machine communications. Cannot be specified
* with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default"
* network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see Using
* Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full
* URL, partial URI, or short name are valid. Examples:
* https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default
* projects/[project_id]/global/networks/default default
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String networkUri;
/**
* Optional. Node Group Affinity for sole-tenant clusters.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private NodeGroupAffinity nodeGroupAffinity;
/**
* Optional. The type of IPv6 access for a cluster.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String privateIpv6GoogleAccess;
/**
* Optional. Reservation Affinity for consuming Zonal reservation.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ReservationAffinity reservationAffinity;
/**
* Optional. The Dataproc service account
* (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-
* accounts#service_accounts_in_dataproc) (also see VM Data Plane identity
* (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-
* principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to
* access Google Cloud Platform services.If not specified, the Compute Engine default service
* account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
* is used.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String serviceAccount;
/**
* Optional. The URIs of service account scopes to be included in Compute Engine instances. The
* following base set of scopes is always included:
* https://www.googleapis.com/auth/cloud.useraccounts.readonly
* https://www.googleapis.com/auth/devstorage.read_write
* https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults
* are also provided: https://www.googleapis.com/auth/bigquery
* https://www.googleapis.com/auth/bigtable.admin.table
* https://www.googleapis.com/auth/bigtable.data
* https://www.googleapis.com/auth/devstorage.full_control
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List serviceAccountScopes;
/**
* Optional. Shielded Instance Config for clusters using Compute Engine Shielded VMs
* (https://cloud.google.com/security/shielded-cloud/shielded-vm).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ShieldedInstanceConfig shieldedInstanceConfig;
/**
* Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be
* specified with network_uri.A full URL, partial URI, or short name are valid. Examples:
* https://www.googleapis.com/compute/v1/projects/[project_id]/regions/[region]/subnetworks/sub0
* projects/[project_id]/regions/[region]/subnetworks/sub0 sub0
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String subnetworkUri;
/**
* The Compute Engine network tags to add to all instances (see Tagging instances
* (https://cloud.google.com/vpc/docs/add-remove-network-tags)).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List tags;
/**
* Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the
* service will pick a zone in the cluster's Compute Engine region. On a get request, zone will
* always be present.A full URL, partial URI, or short name are valid. Examples:
* https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]
* projects/[project_id]/zones/[zone] [zone]
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String zoneUri;
/**
* Optional. Confidential Instance Config for clusters using Confidential VMs
* (https://cloud.google.com/compute/confidential-vm/docs).
* @return value or {@code null} for none
*/
public ConfidentialInstanceConfig getConfidentialInstanceConfig() {
return confidentialInstanceConfig;
}
/**
* Optional. Confidential Instance Config for clusters using Confidential VMs
* (https://cloud.google.com/compute/confidential-vm/docs).
* @param confidentialInstanceConfig confidentialInstanceConfig or {@code null} for none
*/
public GceClusterConfig setConfidentialInstanceConfig(ConfidentialInstanceConfig confidentialInstanceConfig) {
this.confidentialInstanceConfig = confidentialInstanceConfig;
return this;
}
/**
* Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in
* clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP
* addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must
* be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be
* configured to be accessible without external IP addresses.When set to false: Cluster VMs are
* not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each
* cluster VM.
* @return value or {@code null} for none
*/
public java.lang.Boolean getInternalIpOnly() {
return internalIpOnly;
}
/**
* Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in
* clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP
* addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must
* be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be
* configured to be accessible without external IP addresses.When set to false: Cluster VMs are
* not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each
* cluster VM.
* @param internalIpOnly internalIpOnly or {@code null} for none
*/
public GceClusterConfig setInternalIpOnly(java.lang.Boolean internalIpOnly) {
this.internalIpOnly = internalIpOnly;
return this;
}
/**
* Optional. The Compute Engine metadata entries to add to all instances (see Project and instance
* metadata (https://cloud.google.com/compute/docs/storing-retrieving-
* metadata#project_and_instance_metadata)).
* @return value or {@code null} for none
*/
public java.util.Map getMetadata() {
return metadata;
}
/**
* Optional. The Compute Engine metadata entries to add to all instances (see Project and instance
* metadata (https://cloud.google.com/compute/docs/storing-retrieving-
* metadata#project_and_instance_metadata)).
* @param metadata metadata or {@code null} for none
*/
public GceClusterConfig setMetadata(java.util.Map metadata) {
this.metadata = metadata;
return this;
}
/**
* Optional. The Compute Engine network to be used for machine communications. Cannot be specified
* with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default"
* network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see Using
* Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full
* URL, partial URI, or short name are valid. Examples:
* https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default
* projects/[project_id]/global/networks/default default
* @return value or {@code null} for none
*/
public java.lang.String getNetworkUri() {
return networkUri;
}
/**
* Optional. The Compute Engine network to be used for machine communications. Cannot be specified
* with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default"
* network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see Using
* Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full
* URL, partial URI, or short name are valid. Examples:
* https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default
* projects/[project_id]/global/networks/default default
* @param networkUri networkUri or {@code null} for none
*/
public GceClusterConfig setNetworkUri(java.lang.String networkUri) {
this.networkUri = networkUri;
return this;
}
/**
* Optional. Node Group Affinity for sole-tenant clusters.
* @return value or {@code null} for none
*/
public NodeGroupAffinity getNodeGroupAffinity() {
return nodeGroupAffinity;
}
/**
* Optional. Node Group Affinity for sole-tenant clusters.
* @param nodeGroupAffinity nodeGroupAffinity or {@code null} for none
*/
public GceClusterConfig setNodeGroupAffinity(NodeGroupAffinity nodeGroupAffinity) {
this.nodeGroupAffinity = nodeGroupAffinity;
return this;
}
/**
* Optional. The type of IPv6 access for a cluster.
* @return value or {@code null} for none
*/
public java.lang.String getPrivateIpv6GoogleAccess() {
return privateIpv6GoogleAccess;
}
/**
* Optional. The type of IPv6 access for a cluster.
* @param privateIpv6GoogleAccess privateIpv6GoogleAccess or {@code null} for none
*/
public GceClusterConfig setPrivateIpv6GoogleAccess(java.lang.String privateIpv6GoogleAccess) {
this.privateIpv6GoogleAccess = privateIpv6GoogleAccess;
return this;
}
/**
* Optional. Reservation Affinity for consuming Zonal reservation.
* @return value or {@code null} for none
*/
public ReservationAffinity getReservationAffinity() {
return reservationAffinity;
}
/**
* Optional. Reservation Affinity for consuming Zonal reservation.
* @param reservationAffinity reservationAffinity or {@code null} for none
*/
public GceClusterConfig setReservationAffinity(ReservationAffinity reservationAffinity) {
this.reservationAffinity = reservationAffinity;
return this;
}
/**
* Optional. The Dataproc service account
* (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-
* accounts#service_accounts_in_dataproc) (also see VM Data Plane identity
* (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-
* principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to
* access Google Cloud Platform services.If not specified, the Compute Engine default service
* account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
* is used.
* @return value or {@code null} for none
*/
public java.lang.String getServiceAccount() {
return serviceAccount;
}
/**
* Optional. The Dataproc service account
* (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-
* accounts#service_accounts_in_dataproc) (also see VM Data Plane identity
* (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-
* principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to
* access Google Cloud Platform services.If not specified, the Compute Engine default service
* account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
* is used.
* @param serviceAccount serviceAccount or {@code null} for none
*/
public GceClusterConfig setServiceAccount(java.lang.String serviceAccount) {
this.serviceAccount = serviceAccount;
return this;
}
/**
* Optional. The URIs of service account scopes to be included in Compute Engine instances. The
* following base set of scopes is always included:
* https://www.googleapis.com/auth/cloud.useraccounts.readonly
* https://www.googleapis.com/auth/devstorage.read_write
* https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults
* are also provided: https://www.googleapis.com/auth/bigquery
* https://www.googleapis.com/auth/bigtable.admin.table
* https://www.googleapis.com/auth/bigtable.data
* https://www.googleapis.com/auth/devstorage.full_control
* @return value or {@code null} for none
*/
public java.util.List getServiceAccountScopes() {
return serviceAccountScopes;
}
/**
* Optional. The URIs of service account scopes to be included in Compute Engine instances. The
* following base set of scopes is always included:
* https://www.googleapis.com/auth/cloud.useraccounts.readonly
* https://www.googleapis.com/auth/devstorage.read_write
* https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults
* are also provided: https://www.googleapis.com/auth/bigquery
* https://www.googleapis.com/auth/bigtable.admin.table
* https://www.googleapis.com/auth/bigtable.data
* https://www.googleapis.com/auth/devstorage.full_control
* @param serviceAccountScopes serviceAccountScopes or {@code null} for none
*/
public GceClusterConfig setServiceAccountScopes(java.util.List serviceAccountScopes) {
this.serviceAccountScopes = serviceAccountScopes;
return this;
}
/**
* Optional. Shielded Instance Config for clusters using Compute Engine Shielded VMs
* (https://cloud.google.com/security/shielded-cloud/shielded-vm).
* @return value or {@code null} for none
*/
public ShieldedInstanceConfig getShieldedInstanceConfig() {
return shieldedInstanceConfig;
}
/**
* Optional. Shielded Instance Config for clusters using Compute Engine Shielded VMs
* (https://cloud.google.com/security/shielded-cloud/shielded-vm).
* @param shieldedInstanceConfig shieldedInstanceConfig or {@code null} for none
*/
public GceClusterConfig setShieldedInstanceConfig(ShieldedInstanceConfig shieldedInstanceConfig) {
this.shieldedInstanceConfig = shieldedInstanceConfig;
return this;
}
/**
* Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be
* specified with network_uri.A full URL, partial URI, or short name are valid. Examples:
* https://www.googleapis.com/compute/v1/projects/[project_id]/regions/[region]/subnetworks/sub0
* projects/[project_id]/regions/[region]/subnetworks/sub0 sub0
* @return value or {@code null} for none
*/
public java.lang.String getSubnetworkUri() {
return subnetworkUri;
}
/**
* Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be
* specified with network_uri.A full URL, partial URI, or short name are valid. Examples:
* https://www.googleapis.com/compute/v1/projects/[project_id]/regions/[region]/subnetworks/sub0
* projects/[project_id]/regions/[region]/subnetworks/sub0 sub0
* @param subnetworkUri subnetworkUri or {@code null} for none
*/
public GceClusterConfig setSubnetworkUri(java.lang.String subnetworkUri) {
this.subnetworkUri = subnetworkUri;
return this;
}
/**
* The Compute Engine network tags to add to all instances (see Tagging instances
* (https://cloud.google.com/vpc/docs/add-remove-network-tags)).
* @return value or {@code null} for none
*/
public java.util.List getTags() {
return tags;
}
/**
* The Compute Engine network tags to add to all instances (see Tagging instances
* (https://cloud.google.com/vpc/docs/add-remove-network-tags)).
* @param tags tags or {@code null} for none
*/
public GceClusterConfig setTags(java.util.List tags) {
this.tags = tags;
return this;
}
/**
* Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the
* service will pick a zone in the cluster's Compute Engine region. On a get request, zone will
* always be present.A full URL, partial URI, or short name are valid. Examples:
* https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]
* projects/[project_id]/zones/[zone] [zone]
* @return value or {@code null} for none
*/
public java.lang.String getZoneUri() {
return zoneUri;
}
/**
* Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the
* service will pick a zone in the cluster's Compute Engine region. On a get request, zone will
* always be present.A full URL, partial URI, or short name are valid. Examples:
* https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]
* projects/[project_id]/zones/[zone] [zone]
* @param zoneUri zoneUri or {@code null} for none
*/
public GceClusterConfig setZoneUri(java.lang.String zoneUri) {
this.zoneUri = zoneUri;
return this;
}
@Override
public GceClusterConfig set(String fieldName, Object value) {
return (GceClusterConfig) super.set(fieldName, value);
}
@Override
public GceClusterConfig clone() {
return (GceClusterConfig) super.clone();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy