|
|
|
@ -43,12 +43,14 @@ option (google.api.resource_definition) = { |
|
|
|
|
// of Compute Engine instances. |
|
|
|
|
service ClusterController { |
|
|
|
|
option (google.api.default_host) = "dataproc.googleapis.com"; |
|
|
|
|
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; |
|
|
|
|
option (google.api.oauth_scopes) = |
|
|
|
|
"https://www.googleapis.com/auth/cloud-platform"; |
|
|
|
|
|
|
|
|
|
// Creates a cluster in a project. The returned |
|
|
|
|
// [Operation.metadata][google.longrunning.Operation.metadata] will be |
|
|
|
|
// [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). |
|
|
|
|
rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) { |
|
|
|
|
rpc CreateCluster(CreateClusterRequest) |
|
|
|
|
returns (google.longrunning.Operation) { |
|
|
|
|
option (google.api.http) = { |
|
|
|
|
post: "/v1/projects/{project_id}/regions/{region}/clusters" |
|
|
|
|
body: "cluster" |
|
|
|
@ -63,14 +65,17 @@ service ClusterController { |
|
|
|
|
// Updates a cluster in a project. The returned |
|
|
|
|
// [Operation.metadata][google.longrunning.Operation.metadata] will be |
|
|
|
|
// [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). |
|
|
|
|
// The cluster must be in a [`RUNNING`][google.cloud.dataproc.v1.ClusterStatus.State] state or an error |
|
|
|
|
// The cluster must be in a |
|
|
|
|
// [`RUNNING`][google.cloud.dataproc.v1.ClusterStatus.State] state or an error |
|
|
|
|
// is returned. |
|
|
|
|
rpc UpdateCluster(UpdateClusterRequest) returns (google.longrunning.Operation) { |
|
|
|
|
rpc UpdateCluster(UpdateClusterRequest) |
|
|
|
|
returns (google.longrunning.Operation) { |
|
|
|
|
option (google.api.http) = { |
|
|
|
|
patch: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}" |
|
|
|
|
body: "cluster" |
|
|
|
|
}; |
|
|
|
|
option (google.api.method_signature) = "project_id,region,cluster_name,cluster,update_mask"; |
|
|
|
|
option (google.api.method_signature) = |
|
|
|
|
"project_id,region,cluster_name,cluster,update_mask"; |
|
|
|
|
option (google.longrunning.operation_info) = { |
|
|
|
|
response_type: "Cluster" |
|
|
|
|
metadata_type: "google.cloud.dataproc.v1.ClusterOperationMetadata" |
|
|
|
@ -104,7 +109,8 @@ service ClusterController { |
|
|
|
|
// Deletes a cluster in a project. The returned |
|
|
|
|
// [Operation.metadata][google.longrunning.Operation.metadata] will be |
|
|
|
|
// [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). |
|
|
|
|
rpc DeleteCluster(DeleteClusterRequest) returns (google.longrunning.Operation) { |
|
|
|
|
rpc DeleteCluster(DeleteClusterRequest) |
|
|
|
|
returns (google.longrunning.Operation) { |
|
|
|
|
option (google.api.http) = { |
|
|
|
|
delete: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}" |
|
|
|
|
}; |
|
|
|
@ -139,7 +145,8 @@ service ClusterController { |
|
|
|
|
// [Operation.response][google.longrunning.Operation.response] |
|
|
|
|
// contains |
|
|
|
|
// [DiagnoseClusterResults](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#diagnoseclusterresults). |
|
|
|
|
rpc DiagnoseCluster(DiagnoseClusterRequest) returns (google.longrunning.Operation) { |
|
|
|
|
rpc DiagnoseCluster(DiagnoseClusterRequest) |
|
|
|
|
returns (google.longrunning.Operation) { |
|
|
|
|
option (google.api.http) = { |
|
|
|
|
post: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}:diagnose" |
|
|
|
|
body: "*" |
|
|
|
@ -158,8 +165,10 @@ message Cluster { |
|
|
|
|
// Required. The Google Cloud Platform project ID that the cluster belongs to. |
|
|
|
|
string project_id = 1 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
|
|
|
|
|
// Required. The cluster name. Cluster names within a project must be |
|
|
|
|
// unique. Names of deleted clusters can be reused. |
|
|
|
|
// Required. The cluster name, which must be unique within a project. |
|
|
|
|
// The name must start with a lowercase letter, and can contain |
|
|
|
|
// up to 51 lowercase letters, numbers, and hyphens. It cannot end |
|
|
|
|
// with a hyphen. The name of a deleted cluster can be reused. |
|
|
|
|
string cluster_name = 2 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
|
|
|
|
|
// Optional. The cluster config for a cluster of Compute Engine Instances. |
|
|
|
@ -167,14 +176,17 @@ message Cluster { |
|
|
|
|
// when clusters are updated. |
|
|
|
|
ClusterConfig config = 3 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The virtual cluster config, used when creating a Dataproc cluster that |
|
|
|
|
// does not directly control the underlying compute resources, for example, |
|
|
|
|
// when creating a [Dataproc-on-GKE |
|
|
|
|
// cluster](https://cloud.google.com/dataproc/docs/concepts/jobs/dataproc-gke#create-a-dataproc-on-gke-cluster). |
|
|
|
|
// Note that Dataproc may set default values, and values may change when |
|
|
|
|
// clusters are updated. Exactly one of config or virtualClusterConfig must be |
|
|
|
|
// specified. |
|
|
|
|
VirtualClusterConfig virtual_cluster_config = 10 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
// Optional. The virtual cluster config is used when creating a Dataproc |
|
|
|
|
// cluster that does not directly control the underlying compute resources, |
|
|
|
|
// for example, when creating a [Dataproc-on-GKE |
|
|
|
|
// cluster](https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke). |
|
|
|
|
// Dataproc may set default values, and values may change when |
|
|
|
|
// clusters are updated. Exactly one of |
|
|
|
|
// [config][google.cloud.dataproc.v1.Cluster.config] or |
|
|
|
|
// [virtual_cluster_config][google.cloud.dataproc.v1.Cluster.virtual_cluster_config] |
|
|
|
|
// must be specified. |
|
|
|
|
VirtualClusterConfig virtual_cluster_config = 10 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The labels to associate with this cluster. |
|
|
|
|
// Label **keys** must contain 1 to 63 characters, and must conform to |
|
|
|
@ -189,7 +201,8 @@ message Cluster { |
|
|
|
|
ClusterStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
|
|
|
|
|
// Output only. The previous cluster status. |
|
|
|
|
repeated ClusterStatus status_history = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
repeated ClusterStatus status_history = 7 |
|
|
|
|
[(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
|
|
|
|
|
// Output only. A cluster UUID (Unique Universal Identifier). Dataproc |
|
|
|
|
// generates this value when it creates the cluster. |
|
|
|
@ -217,15 +230,13 @@ message ClusterConfig { |
|
|
|
|
// a Cloud Storage bucket.** |
|
|
|
|
string config_bucket = 1 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, |
|
|
|
|
// such as Spark and MapReduce history files. |
|
|
|
|
// If you do not specify a temp bucket, |
|
|
|
|
// Dataproc will determine a Cloud Storage location (US, |
|
|
|
|
// ASIA, or EU) for your cluster's temp bucket according to the |
|
|
|
|
// Compute Engine zone where your cluster is deployed, and then create |
|
|
|
|
// and manage this project-level, per-location bucket. The default bucket has |
|
|
|
|
// a TTL of 90 days, but you can use any TTL (or none) if you specify a |
|
|
|
|
// bucket (see |
|
|
|
|
// Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs |
|
|
|
|
// data, such as Spark and MapReduce history files. If you do not specify a |
|
|
|
|
// temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or |
|
|
|
|
// EU) for your cluster's temp bucket according to the Compute Engine zone |
|
|
|
|
// where your cluster is deployed, and then create and manage this |
|
|
|
|
// project-level, per-location bucket. The default bucket has a TTL of 90 |
|
|
|
|
// days, but you can use any TTL (or none) if you specify a bucket (see |
|
|
|
|
// [Dataproc staging and temp |
|
|
|
|
// buckets](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). |
|
|
|
|
// **This field requires a Cloud Storage bucket name, not a `gs://...` URI to |
|
|
|
@ -234,19 +245,23 @@ message ClusterConfig { |
|
|
|
|
|
|
|
|
|
// Optional. The shared Compute Engine config settings for |
|
|
|
|
// all instances in a cluster. |
|
|
|
|
GceClusterConfig gce_cluster_config = 8 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
GceClusterConfig gce_cluster_config = 8 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The Compute Engine config settings for |
|
|
|
|
// the cluster's master instance. |
|
|
|
|
InstanceGroupConfig master_config = 9 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
InstanceGroupConfig master_config = 9 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The Compute Engine config settings for |
|
|
|
|
// the cluster's worker instances. |
|
|
|
|
InstanceGroupConfig worker_config = 10 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
InstanceGroupConfig worker_config = 10 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The Compute Engine config settings for |
|
|
|
|
// a cluster's secondary worker instances |
|
|
|
|
InstanceGroupConfig secondary_worker_config = 12 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
InstanceGroupConfig secondary_worker_config = 12 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The config settings for cluster software. |
|
|
|
|
SoftwareConfig software_config = 13 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
@ -264,36 +279,46 @@ message ClusterConfig { |
|
|
|
|
// else |
|
|
|
|
// ... worker specific actions ... |
|
|
|
|
// fi |
|
|
|
|
repeated NodeInitializationAction initialization_actions = 11 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
repeated NodeInitializationAction initialization_actions = 11 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Encryption settings for the cluster. |
|
|
|
|
EncryptionConfig encryption_config = 15 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
EncryptionConfig encryption_config = 15 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Autoscaling config for the policy associated with the cluster. |
|
|
|
|
// Cluster does not autoscale if this field is unset. |
|
|
|
|
AutoscalingConfig autoscaling_config = 18 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
AutoscalingConfig autoscaling_config = 18 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Security settings for the cluster. |
|
|
|
|
SecurityConfig security_config = 16 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Lifecycle setting for the cluster. |
|
|
|
|
LifecycleConfig lifecycle_config = 17 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
LifecycleConfig lifecycle_config = 17 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Port/endpoint configuration for this cluster |
|
|
|
|
EndpointConfig endpoint_config = 19 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Metastore configuration. |
|
|
|
|
MetastoreConfig metastore_config = 20 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
MetastoreConfig metastore_config = 20 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The config for Dataproc metrics. |
|
|
|
|
DataprocMetricConfig dataproc_metric_config = 23 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
DataprocMetricConfig dataproc_metric_config = 23 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The node group settings. |
|
|
|
|
repeated AuxiliaryNodeGroup auxiliary_node_groups = 25 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Dataproc cluster config for a cluster that does not directly control the |
|
|
|
|
// The Dataproc cluster config for a cluster that does not directly control the |
|
|
|
|
// underlying compute resources, such as a [Dataproc-on-GKE |
|
|
|
|
// cluster](https://cloud.google.com/dataproc/docs/concepts/jobs/dataproc-gke#create-a-dataproc-on-gke-cluster). |
|
|
|
|
// cluster](https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke). |
|
|
|
|
message VirtualClusterConfig { |
|
|
|
|
// Optional. A Storage bucket used to stage job |
|
|
|
|
// Optional. A Cloud Storage bucket used to stage job |
|
|
|
|
// dependencies, config files, and job driver console output. |
|
|
|
|
// If you do not specify a staging bucket, Cloud |
|
|
|
|
// Dataproc will determine a Cloud Storage location (US, |
|
|
|
@ -307,12 +332,15 @@ message VirtualClusterConfig { |
|
|
|
|
string staging_bucket = 1 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
oneof infrastructure_config { |
|
|
|
|
// Required. The configuration for running the Dataproc cluster on Kubernetes. |
|
|
|
|
KubernetesClusterConfig kubernetes_cluster_config = 6 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
// Required. The configuration for running the Dataproc cluster on |
|
|
|
|
// Kubernetes. |
|
|
|
|
KubernetesClusterConfig kubernetes_cluster_config = 6 |
|
|
|
|
[(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Optional. Configuration of auxiliary services used by this cluster. |
|
|
|
|
AuxiliaryServicesConfig auxiliary_services_config = 7 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
AuxiliaryServicesConfig auxiliary_services_config = 7 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Auxiliary services configuration for a Cluster. |
|
|
|
@ -321,14 +349,16 @@ message AuxiliaryServicesConfig { |
|
|
|
|
MetastoreConfig metastore_config = 1 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The Spark History Server configuration for the workload. |
|
|
|
|
SparkHistoryServerConfig spark_history_server_config = 2 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
SparkHistoryServerConfig spark_history_server_config = 2 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Endpoint config for this cluster |
|
|
|
|
message EndpointConfig { |
|
|
|
|
// Output only. The map of port descriptions to URLs. Will only be populated |
|
|
|
|
// if enable_http_port_access is true. |
|
|
|
|
map<string, string> http_ports = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
map<string, string> http_ports = 1 |
|
|
|
|
[(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
|
|
|
|
|
// Optional. If true, enable http access to specific ports on the cluster |
|
|
|
|
// from external sources. Defaults to false. |
|
|
|
@ -366,7 +396,8 @@ message GceClusterConfig { |
|
|
|
|
// fields](https://cloud.google.com/compute/docs/reference/rest/v1/instances). |
|
|
|
|
enum PrivateIpv6GoogleAccess { |
|
|
|
|
// If unspecified, Compute Engine default behavior will apply, which |
|
|
|
|
// is the same as [INHERIT_FROM_SUBNETWORK][google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess.INHERIT_FROM_SUBNETWORK]. |
|
|
|
|
// is the same as |
|
|
|
|
// [INHERIT_FROM_SUBNETWORK][google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess.INHERIT_FROM_SUBNETWORK]. |
|
|
|
|
PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0; |
|
|
|
|
|
|
|
|
|
// Private access to and from Google Services configuration |
|
|
|
@ -429,7 +460,8 @@ message GceClusterConfig { |
|
|
|
|
bool internal_ip_only = 7 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The type of IPv6 access for a cluster. |
|
|
|
|
PrivateIpv6GoogleAccess private_ipv6_google_access = 12 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
PrivateIpv6GoogleAccess private_ipv6_google_access = 12 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The [Dataproc service |
|
|
|
|
// account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) |
|
|
|
@ -458,7 +490,8 @@ message GceClusterConfig { |
|
|
|
|
// * https://www.googleapis.com/auth/bigtable.admin.table |
|
|
|
|
// * https://www.googleapis.com/auth/bigtable.data |
|
|
|
|
// * https://www.googleapis.com/auth/devstorage.full_control |
|
|
|
|
repeated string service_account_scopes = 3 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
repeated string service_account_scopes = 3 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// The Compute Engine tags to add to all instances (see [Tagging |
|
|
|
|
// instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)). |
|
|
|
@ -470,21 +503,28 @@ message GceClusterConfig { |
|
|
|
|
map<string, string> metadata = 5; |
|
|
|
|
|
|
|
|
|
// Optional. Reservation Affinity for consuming Zonal reservation. |
|
|
|
|
ReservationAffinity reservation_affinity = 11 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
ReservationAffinity reservation_affinity = 11 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Node Group Affinity for sole-tenant clusters. |
|
|
|
|
NodeGroupAffinity node_group_affinity = 13 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
NodeGroupAffinity node_group_affinity = 13 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Shielded Instance Config for clusters using [Compute Engine Shielded |
|
|
|
|
// Optional. Shielded Instance Config for clusters using [Compute Engine |
|
|
|
|
// Shielded |
|
|
|
|
// VMs](https://cloud.google.com/security/shielded-cloud/shielded-vm). |
|
|
|
|
ShieldedInstanceConfig shielded_instance_config = 14 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
ShieldedInstanceConfig shielded_instance_config = 14 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Confidential Instance Config for clusters using [Confidential |
|
|
|
|
// VMs](https://cloud.google.com/compute/confidential-vm/docs). |
|
|
|
|
ConfidentialInstanceConfig confidential_instance_config = 15 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
ConfidentialInstanceConfig confidential_instance_config = 15 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Node Group Affinity for clusters using sole-tenant node groups. |
|
|
|
|
// **The Dataproc `NodeGroupAffinity` resource is not related to the |
|
|
|
|
// Dataproc [NodeGroup][google.cloud.dataproc.v1.NodeGroup] resource.** |
|
|
|
|
message NodeGroupAffinity { |
|
|
|
|
// Required. The URI of a |
|
|
|
|
// sole-tenant [node group |
|
|
|
@ -515,17 +555,15 @@ message ShieldedInstanceConfig { |
|
|
|
|
// Confidential Instance Config for clusters using [Confidential |
|
|
|
|
// VMs](https://cloud.google.com/compute/confidential-vm/docs) |
|
|
|
|
message ConfidentialInstanceConfig { |
|
|
|
|
// Optional. Defines whether the instance should have confidential compute enabled. |
|
|
|
|
// Optional. Defines whether the instance should have confidential compute |
|
|
|
|
// enabled. |
|
|
|
|
bool enable_confidential_compute = 1 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// The config settings for Compute Engine resources in |
|
|
|
|
// an instance group, such as a master or worker group. |
|
|
|
|
message InstanceGroupConfig { |
|
|
|
|
// Controls the use of |
|
|
|
|
// [preemptible instances] |
|
|
|
|
// (https://cloud.google.com/compute/docs/instances/preemptible) |
|
|
|
|
// within the group. |
|
|
|
|
// Controls the use of preemptible instances within the group. |
|
|
|
|
enum Preemptibility { |
|
|
|
|
// Preemptibility is unspecified, the system will choose the |
|
|
|
|
// appropriate setting for each instance group. |
|
|
|
@ -537,9 +575,12 @@ message InstanceGroupConfig { |
|
|
|
|
// value for Master and Worker instance groups. |
|
|
|
|
NON_PREEMPTIBLE = 1; |
|
|
|
|
|
|
|
|
|
// Instances are preemptible. |
|
|
|
|
// Instances are [preemptible] |
|
|
|
|
// (https://cloud.google.com/compute/docs/instances/preemptible). |
|
|
|
|
// |
|
|
|
|
// This option is allowed only for secondary worker groups. |
|
|
|
|
// This option is allowed only for [secondary worker] |
|
|
|
|
// (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms) |
|
|
|
|
// groups. |
|
|
|
|
PREEMPTIBLE = 2; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -553,7 +594,8 @@ message InstanceGroupConfig { |
|
|
|
|
|
|
|
|
|
// Output only. The list of instance names. Dataproc derives the names |
|
|
|
|
// from `cluster_name`, `num_instances`, and the instance group. |
|
|
|
|
repeated string instance_names = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
repeated string instance_names = 2 |
|
|
|
|
[(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
|
|
|
|
|
// Optional. The Compute Engine image resource used for cluster instances. |
|
|
|
|
// |
|
|
|
@ -609,11 +651,13 @@ message InstanceGroupConfig { |
|
|
|
|
// Output only. The config for Compute Engine Instance Group |
|
|
|
|
// Manager that manages this group. |
|
|
|
|
// This is only used for preemptible instance groups. |
|
|
|
|
ManagedGroupConfig managed_group_config = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
ManagedGroupConfig managed_group_config = 7 |
|
|
|
|
[(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
|
|
|
|
|
// Optional. The Compute Engine accelerator configuration for these |
|
|
|
|
// instances. |
|
|
|
|
repeated AcceleratorConfig accelerators = 8 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
repeated AcceleratorConfig accelerators = 8 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Specifies the minimum cpu platform for the Instance Group. |
|
|
|
|
// See [Dataproc -> Minimum CPU |
|
|
|
@ -628,7 +672,8 @@ message ManagedGroupConfig { |
|
|
|
|
string instance_template_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
|
|
|
|
|
// Output only. The name of the Instance Group Manager for this group. |
|
|
|
|
string instance_group_manager_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
string instance_group_manager_name = 2 |
|
|
|
|
[(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Specifies the type and number of accelerator cards attached to the instances |
|
|
|
@ -669,7 +714,7 @@ message DiskConfig { |
|
|
|
|
// Optional. Size in GB of the boot disk (default is 500GB). |
|
|
|
|
int32 boot_disk_size_gb = 1 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Number of attached SSDs, from 0 to 4 (default is 0). |
|
|
|
|
// Optional. Number of attached SSDs, from 0 to 8 (default is 0). |
|
|
|
|
// If SSDs are not attached, the boot disk is used to store runtime logs and |
|
|
|
|
// [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. |
|
|
|
|
// If one or more SSDs are attached, this runtime bulk |
|
|
|
@ -685,6 +730,59 @@ message DiskConfig { |
|
|
|
|
string local_ssd_interface = 4 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Node group identification and configuration information. |
|
|
|
|
message AuxiliaryNodeGroup { |
|
|
|
|
// Required. Node group configuration. |
|
|
|
|
NodeGroup node_group = 1 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
|
|
|
|
|
// Optional. A node group ID. Generated if not specified. |
|
|
|
|
// |
|
|
|
|
// The ID must contain only letters (a-z, A-Z), numbers (0-9), |
|
|
|
|
// underscores (_), and hyphens (-). Cannot begin or end with underscore |
|
|
|
|
// or hyphen. Must consist of from 3 to 33 characters. |
|
|
|
|
string node_group_id = 2 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Dataproc Node Group. |
|
|
|
|
// **The Dataproc `NodeGroup` resource is not related to the |
|
|
|
|
// Dataproc [NodeGroupAffinity][google.cloud.dataproc.v1.NodeGroupAffinity] |
|
|
|
|
// resource.** |
|
|
|
|
message NodeGroup { |
|
|
|
|
option (google.api.resource) = { |
|
|
|
|
type: "dataproc.googleapis.com/NodeGroup" |
|
|
|
|
pattern: "projects/{project}/regions/{region}/clusters/{cluster}/nodeGroups/{node_group}" |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// Node group roles. |
|
|
|
|
enum Role { |
|
|
|
|
// Required unspecified role. |
|
|
|
|
ROLE_UNSPECIFIED = 0; |
|
|
|
|
|
|
|
|
|
// Job drivers run on the node group. |
|
|
|
|
DRIVER = 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// The Node group [resource name](https://aip.dev/122). |
|
|
|
|
string name = 1; |
|
|
|
|
|
|
|
|
|
// Required. Node group roles. |
|
|
|
|
repeated Role roles = 2 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
|
|
|
|
|
// Optional. The node group instance group configuration. |
|
|
|
|
InstanceGroupConfig node_group_config = 3 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// 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 labels. |
|
|
|
|
map<string, string> labels = 4 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Specifies an executable to run on a fully configured node and a |
|
|
|
|
// timeout period for executable completion. |
|
|
|
|
message NodeInitializationAction { |
|
|
|
@ -698,7 +796,8 @@ message NodeInitializationAction { |
|
|
|
|
// Cluster creation fails with an explanatory error message (the |
|
|
|
|
// name of the executable that caused the error and the exceeded timeout |
|
|
|
|
// period) if the executable is not completed at end of the timeout period. |
|
|
|
|
google.protobuf.Duration execution_timeout = 2 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
google.protobuf.Duration execution_timeout = 2 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// The status of a cluster and its instances. |
|
|
|
@ -771,7 +870,8 @@ message ClusterStatus { |
|
|
|
|
|
|
|
|
|
// Output only. Time when this state was entered (see JSON representation of |
|
|
|
|
// [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)). |
|
|
|
|
google.protobuf.Timestamp state_start_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
google.protobuf.Timestamp state_start_time = 3 |
|
|
|
|
[(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
|
|
|
|
|
// Output only. Additional state information that includes |
|
|
|
|
// status reported by the agent. |
|
|
|
@ -790,13 +890,14 @@ message SecurityConfig { |
|
|
|
|
|
|
|
|
|
// Specifies Kerberos related configuration. |
|
|
|
|
message KerberosConfig { |
|
|
|
|
// Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set |
|
|
|
|
// this field to true to enable Kerberos on a cluster. |
|
|
|
|
// Optional. Flag to indicate whether to Kerberize the cluster (default: |
|
|
|
|
// false). Set this field to true to enable Kerberos on a cluster. |
|
|
|
|
bool enable_kerberos = 1 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The Cloud Storage URI of a KMS encrypted file containing the root |
|
|
|
|
// principal password. |
|
|
|
|
string root_principal_password_uri = 2 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
string root_principal_password_uri = 2 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The uri of the KMS key used to encrypt various sensitive |
|
|
|
|
// files. |
|
|
|
@ -837,12 +938,14 @@ message KerberosConfig { |
|
|
|
|
|
|
|
|
|
// Optional. The admin server (IP or hostname) for the remote trusted realm in |
|
|
|
|
// a cross realm trust relationship. |
|
|
|
|
string cross_realm_trust_admin_server = 11 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
string cross_realm_trust_admin_server = 11 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The Cloud Storage URI of a KMS encrypted file containing the |
|
|
|
|
// shared password between the on-cluster Kerberos realm and the remote |
|
|
|
|
// trusted realm, in a cross realm trust relationship. |
|
|
|
|
string cross_realm_trust_shared_password_uri = 12 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
string cross_realm_trust_shared_password_uri = 12 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The Cloud Storage URI of a KMS encrypted file containing the |
|
|
|
|
// master key of the KDC database. |
|
|
|
@ -862,7 +965,8 @@ message KerberosConfig { |
|
|
|
|
// secure multi-tenancy user mappings. |
|
|
|
|
message IdentityConfig { |
|
|
|
|
// Required. Map of user to service account. |
|
|
|
|
map<string, string> user_service_account_mapping = 1 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
map<string, string> user_service_account_mapping = 1 |
|
|
|
|
[(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Specifies the selection and config of software inside the cluster. |
|
|
|
@ -897,7 +1001,8 @@ message SoftwareConfig { |
|
|
|
|
map<string, string> properties = 2 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The set of components to activate on the cluster. |
|
|
|
|
repeated Component optional_components = 3 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
repeated Component optional_components = 3 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Specifies the cluster auto-delete schedule configuration. |
|
|
|
@ -907,27 +1012,32 @@ message LifecycleConfig { |
|
|
|
|
// deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON |
|
|
|
|
// representation of |
|
|
|
|
// [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). |
|
|
|
|
google.protobuf.Duration idle_delete_ttl = 1 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
google.protobuf.Duration idle_delete_ttl = 1 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Either the exact time the cluster should be deleted at or |
|
|
|
|
// the cluster maximum age. |
|
|
|
|
oneof ttl { |
|
|
|
|
// Optional. The time when cluster will be auto-deleted (see JSON representation of |
|
|
|
|
// Optional. The time when cluster will be auto-deleted (see JSON |
|
|
|
|
// representation of |
|
|
|
|
// [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)). |
|
|
|
|
google.protobuf.Timestamp auto_delete_time = 2 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
google.protobuf.Timestamp auto_delete_time = 2 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. The lifetime duration of cluster. The cluster will be |
|
|
|
|
// auto-deleted at the end of this period. Minimum value is 10 minutes; |
|
|
|
|
// maximum value is 14 days (see JSON representation of |
|
|
|
|
// [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). |
|
|
|
|
google.protobuf.Duration auto_delete_ttl = 3 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
google.protobuf.Duration auto_delete_ttl = 3 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Output only. The time when cluster became idle (most recent job finished) |
|
|
|
|
// and became eligible for deletion due to idleness (see JSON representation |
|
|
|
|
// of |
|
|
|
|
// [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)). |
|
|
|
|
google.protobuf.Timestamp idle_start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
google.protobuf.Timestamp idle_start_time = 4 |
|
|
|
|
[(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Specifies a Metastore configuration. |
|
|
|
@ -945,7 +1055,6 @@ message MetastoreConfig { |
|
|
|
|
]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Dataproc metric config. |
|
|
|
|
message DataprocMetricConfig { |
|
|
|
|
// A source for the collection of Dataproc OSS metrics (see [available OSS |
|
|
|
@ -1014,7 +1123,8 @@ message DataprocMetricConfig { |
|
|
|
|
// sources is unaffected. For example, if both `SPARK` andd `YARN` metric |
|
|
|
|
// sources are enabled, and overrides are provided for Spark metrics only, |
|
|
|
|
// all default YARN metrics will be collected. |
|
|
|
|
repeated string metric_overrides = 2 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
repeated string metric_overrides = 2 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Required. Metrics sources to enable. |
|
|
|
@ -1045,11 +1155,12 @@ message CreateClusterRequest { |
|
|
|
|
// Required. The cluster to create. |
|
|
|
|
Cluster cluster = 2 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
|
|
|
|
|
// Optional. A unique ID used to identify the request. If the server receives two |
|
|
|
|
// Optional. A unique ID used to identify the request. If the server receives |
|
|
|
|
// two |
|
|
|
|
// [CreateClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateClusterRequest)s |
|
|
|
|
// with the same id, then the second request will be ignored and the |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the backend |
|
|
|
|
// is returned. |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created |
|
|
|
|
// and stored in the backend is returned. |
|
|
|
|
// |
|
|
|
|
// It is recommended to always set this value to a |
|
|
|
|
// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). |
|
|
|
@ -1059,7 +1170,8 @@ message CreateClusterRequest { |
|
|
|
|
string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Optional. Failure action when primary worker creation fails. |
|
|
|
|
FailureAction action_on_failed_primary_workers = 5 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
FailureAction action_on_failed_primary_workers = 5 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// A request to update a cluster. |
|
|
|
@ -1086,7 +1198,8 @@ message UpdateClusterRequest { |
|
|
|
|
// [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). |
|
|
|
|
// |
|
|
|
|
// Only supported on Dataproc image versions 1.2 and higher. |
|
|
|
|
google.protobuf.Duration graceful_decommission_timeout = 6 [(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
google.protobuf.Duration graceful_decommission_timeout = 6 |
|
|
|
|
[(google.api.field_behavior) = OPTIONAL]; |
|
|
|
|
|
|
|
|
|
// Required. Specifies the path, relative to `Cluster`, of |
|
|
|
|
// the field to update. For example, to change the number of workers |
|
|
|
@ -1139,14 +1252,15 @@ message UpdateClusterRequest { |
|
|
|
|
// </tr> |
|
|
|
|
// </tbody> |
|
|
|
|
// </table> |
|
|
|
|
google.protobuf.FieldMask update_mask = 4 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
google.protobuf.FieldMask update_mask = 4 |
|
|
|
|
[(google.api.field_behavior) = REQUIRED]; |
|
|
|
|
|
|
|
|
|
// Optional. A unique ID used to identify the request. If the server |
|
|
|
|
// receives two |
|
|
|
|
// [UpdateClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.UpdateClusterRequest)s |
|
|
|
|
// with the same id, then the second request will be ignored and the |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the |
|
|
|
|
// backend is returned. |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created |
|
|
|
|
// and stored in the backend is returned. |
|
|
|
|
// |
|
|
|
|
// It is recommended to always set this value to a |
|
|
|
|
// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). |
|
|
|
@ -1176,8 +1290,8 @@ message StopClusterRequest { |
|
|
|
|
// receives two |
|
|
|
|
// [StopClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StopClusterRequest)s |
|
|
|
|
// with the same id, then the second request will be ignored and the |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the |
|
|
|
|
// backend is returned. |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created |
|
|
|
|
// and stored in the backend is returned. |
|
|
|
|
// |
|
|
|
|
// Recommendation: Set this value to a |
|
|
|
|
// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). |
|
|
|
@ -1207,8 +1321,8 @@ message StartClusterRequest { |
|
|
|
|
// receives two |
|
|
|
|
// [StartClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StartClusterRequest)s |
|
|
|
|
// with the same id, then the second request will be ignored and the |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the |
|
|
|
|
// backend is returned. |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created |
|
|
|
|
// and stored in the backend is returned. |
|
|
|
|
// |
|
|
|
|
// Recommendation: Set this value to a |
|
|
|
|
// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). |
|
|
|
@ -1238,8 +1352,8 @@ message DeleteClusterRequest { |
|
|
|
|
// receives two |
|
|
|
|
// [DeleteClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteClusterRequest)s |
|
|
|
|
// with the same id, then the second request will be ignored and the |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the |
|
|
|
|
// backend is returned. |
|
|
|
|
// first [google.longrunning.Operation][google.longrunning.Operation] created |
|
|
|
|
// and stored in the backend is returned. |
|
|
|
|
// |
|
|
|
|
// It is recommended to always set this value to a |
|
|
|
|
// [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). |
|
|
|
|