diff --git a/protos/google/cloud/dataproc/v1/clusters.proto b/protos/google/cloud/dataproc/v1/clusters.proto index ccff3522..147c95b7 100644 --- a/protos/google/cloud/dataproc/v1/clusters.proto +++ b/protos/google/cloud/dataproc/v1/clusters.proto @@ -19,6 +19,7 @@ package google.cloud.dataproc.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/cloud/dataproc/v1/shared.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/duration.proto"; @@ -29,6 +30,14 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/v1;dat option java_multiple_files = true; option java_outer_classname = "ClustersProto"; option java_package = "com.google.cloud.dataproc.v1"; +option (google.api.resource_definition) = { + type: "container.googleapis.com/Cluster" + pattern: "projects/{project}/locations/{location}/clusters/{cluster}" +}; +option (google.api.resource_definition) = { + type: "metastore.googleapis.com/Service" + pattern: "projects/{project}/locations/{location}/services/{service}" +}; // The ClusterControllerService provides methods to manage clusters // of Compute Engine instances. @@ -66,6 +75,30 @@ service ClusterController { }; } + // Stops a cluster in a project. + rpc StopCluster(StopClusterRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}:stop" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Cluster" + metadata_type: "google.cloud.dataproc.v1.ClusterOperationMetadata" + }; + } + + // Starts a cluster in a project. + rpc StartCluster(StartClusterRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}:start" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Cluster" + metadata_type: "google.cloud.dataproc.v1.ClusterOperationMetadata" + }; + } + // 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). @@ -168,6 +201,8 @@ message ClusterConfig { // and manage this project-level, per-location bucket (see // [Dataproc staging // bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). + // **This field requires a Cloud Storage bucket name, not a URI to 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, @@ -179,6 +214,8 @@ message ClusterConfig { // 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. + // **This field requires a Cloud Storage bucket name, not a URI to a Cloud + // Storage bucket.** string temp_bucket = 2 [(google.api.field_behavior) = OPTIONAL]; // Optional. The shared Compute Engine config settings for @@ -230,6 +267,36 @@ message ClusterConfig { // 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]; + + // Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to + // Kubernetes. Setting this is considered mutually exclusive with Compute + // Engine-based options such as `gce_cluster_config`, `master_config`, + // `worker_config`, `secondary_worker_config`, and `autoscaling_config`. + GkeClusterConfig gke_cluster_config = 21 [(google.api.field_behavior) = OPTIONAL]; +} + +// The GKE config for this cluster. +message GkeClusterConfig { + // A full, namespace-isolated deployment target for an existing GKE cluster. + message NamespacedGkeDeploymentTarget { + // Optional. The target GKE cluster to deploy to. + // Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' + string target_gke_cluster = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "container.googleapis.com/Cluster" + } + ]; + + // Optional. A namespace within the GKE cluster to deploy into. + string cluster_namespace = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. A target for the deployment. + NamespacedGkeDeploymentTarget namespaced_gke_deployment_target = 1 [(google.api.field_behavior) = OPTIONAL]; } // Endpoint config for this cluster @@ -267,6 +334,30 @@ message EncryptionConfig { // Common config settings for resources of Compute Engine cluster // instances, applicable to all instances in the cluster. message GceClusterConfig { + // `PrivateIpv6GoogleAccess` controls whether and how Dataproc cluster nodes + // can communicate with Google Services through gRPC over IPv6. + // These values are directly mapped to corresponding values in the + // [Compute Engine Instance + // 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]. + PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0; + + // Private access to and from Google Services configuration + // inherited from the subnetwork configuration. This is the + // default Compute Engine behavior. + INHERIT_FROM_SUBNETWORK = 1; + + // Enables outbound private IPv6 access to Google Services from the Dataproc + // cluster. + OUTBOUND = 2; + + // Enables bidirectional private IPv6 access between Google Services and the + // Dataproc cluster. + BIDIRECTIONAL = 3; + } + // Optional. The zone where the Compute Engine cluster will be located. // On a create request, it is required in the "global" region. If omitted // in a non-global Dataproc region, the service will pick a zone in the @@ -312,6 +403,9 @@ message GceClusterConfig { // configured to be accessible without external IP addresses. 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]; + // 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 @@ -352,6 +446,41 @@ message GceClusterConfig { // Optional. Reservation Affinity for consuming Zonal reservation. 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]; + + // 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]; +} + +// Node Group Affinity for clusters using sole-tenant node groups. +message NodeGroupAffinity { + // Required. The URI of a + // sole-tenant [node group + // resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) + // that the cluster will be created on. + // + // A full URL, partial URI, or node group name are valid. Examples: + // + // * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1` + // * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1` + // * `node-group-1` + string node_group_uri = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Shielded Instance Config for clusters using [Compute Engine Shielded +// VMs](https://cloud.google.com/security/shielded-cloud/shielded-vm). +message ShieldedInstanceConfig { + // Optional. Defines whether instances have Secure Boot enabled. + bool enable_secure_boot = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Defines whether instances have the vTPM enabled. + bool enable_vtpm = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Defines whether instances have integrity monitoring enabled. + bool enable_integrity_monitoring = 3 [(google.api.field_behavior) = OPTIONAL]; } // The config settings for Compute Engine resources in @@ -379,7 +508,11 @@ message InstanceGroupConfig { } // Optional. The number of VM instances in the instance group. - // For master instance groups, must be set to 1. + // For [HA + // cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) + // [master_config](#FIELDS.master_config) groups, **must be set to 3**. + // For standard cluster [master_config](#FIELDS.master_config) groups, + // **must be set to 1**. int32 num_instances = 1 [(google.api.field_behavior) = OPTIONAL]; // Output only. The list of instance names. Dataproc derives the names @@ -491,8 +624,10 @@ message AcceleratorConfig { // Specifies the config of disk options for a group of VM instances. message DiskConfig { // Optional. Type of the boot disk (default is "pd-standard"). - // Valid values: "pd-ssd" (Persistent Disk Solid State Drive) or - // "pd-standard" (Persistent Disk Hard Disk Drive). + // Valid values: "pd-balanced" (Persistent Disk Balanced Solid State Drive), + // "pd-ssd" (Persistent Disk Solid State Drive), + // or "pd-standard" (Persistent Disk Hard Disk Drive). + // See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types). string boot_disk_type = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. Size in GB of the boot disk (default is 500GB). @@ -544,6 +679,15 @@ message ClusterStatus { // The cluster is being updated. It continues to accept and process jobs. UPDATING = 5; + + // The cluster is being stopped. It cannot be used. + STOPPING = 6; + + // The cluster is currently stopped. It is not ready for use. + STOPPED = 7; + + // The cluster is being started. It is not ready for use. + STARTING = 8; } // The cluster substate. @@ -583,10 +727,14 @@ message ClusterStatus { Substate substate = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } -// Security related configuration, including Kerberos. +// Security related configuration, including encryption, Kerberos, etc. message SecurityConfig { - // Kerberos related configuration. - KerberosConfig kerberos_config = 1; + // Optional. Kerberos related configuration. + KerberosConfig kerberos_config = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Identity related configuration, including service account based + // secure multi-tenancy user mappings. + IdentityConfig identity_config = 2 [(google.api.field_behavior) = OPTIONAL]; } // Specifies Kerberos related configuration. @@ -595,13 +743,13 @@ message KerberosConfig { // this field to true to enable Kerberos on a cluster. bool enable_kerberos = 1 [(google.api.field_behavior) = OPTIONAL]; - // Required. The Cloud Storage URI of a KMS encrypted file containing the root + // 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) = REQUIRED]; + string root_principal_password_uri = 2 [(google.api.field_behavior) = OPTIONAL]; - // Required. The uri of the KMS key used to encrypt various sensitive + // Optional. The uri of the KMS key used to encrypt various sensitive // files. - string kms_key_uri = 3 [(google.api.field_behavior) = REQUIRED]; + string kms_key_uri = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. The Cloud Storage URI of the keystore file used for SSL // encryption. If not provided, Dataproc will provide a self-signed @@ -659,6 +807,13 @@ message KerberosConfig { string realm = 15 [(google.api.field_behavior) = OPTIONAL]; } +// Identity related configuration, including service account based +// secure multi-tenancy user mappings. +message IdentityConfig { + // Required. Map of user to service account. + map user_service_account_mapping = 1 [(google.api.field_behavior) = REQUIRED]; +} + // Specifies the selection and config of software inside the cluster. message SoftwareConfig { // Optional. The version of software inside the cluster. It must be one of the @@ -698,9 +853,9 @@ message SoftwareConfig { message LifecycleConfig { // Optional. The duration to keep the cluster alive while idling (when no jobs // are running). Passing this threshold will cause the cluster to be - // deleted. Minimum value is 10 minutes; maximum value is 14 days (see JSON + // 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). + // [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). google.protobuf.Duration idle_delete_ttl = 1 [(google.api.field_behavior) = OPTIONAL]; // Either the exact time the cluster should be deleted at or @@ -724,6 +879,21 @@ message LifecycleConfig { google.protobuf.Timestamp idle_start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } +// Specifies a Metastore configuration. +message MetastoreConfig { + // Required. Resource name of an existing Dataproc Metastore service. + // + // Example: + // + // * `projects/[project_id]/locations/[dataproc_region]/services/[service-name]` + string dataproc_metastore_service = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "metastore.googleapis.com/Service" + } + ]; +} + // Contains cluster daemon metrics, such as HDFS and YARN stats. // // **Beta Feature**: This report is available for testing purposes only. It may @@ -748,9 +918,9 @@ 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 [CreateClusterRequest][google.cloud.dataproc.v1.CreateClusterRequest] requests with the same - // id, then the second request will be ignored and the + // 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. // @@ -842,8 +1012,9 @@ message UpdateClusterRequest { 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][google.cloud.dataproc.v1.UpdateClusterRequest] requests with the same - // id, then the second request will be ignored and the + // 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. // @@ -855,6 +1026,68 @@ message UpdateClusterRequest { string request_id = 7 [(google.api.field_behavior) = OPTIONAL]; } +// A request to stop a cluster. +message StopClusterRequest { + // Required. The ID of the Google Cloud Platform project the + // cluster belongs to. + string project_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Dataproc region in which to handle the request. + string region = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The cluster name. + string cluster_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Specifying the `cluster_uuid` means the RPC will fail + // (with error NOT_FOUND) if a cluster with the specified UUID does not exist. + string cluster_uuid = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A unique id used to identify the request. If the server + // 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. + // + // Recommendation: Set this value to a + // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). + // + // The id must contain only letters (a-z, A-Z), numbers (0-9), + // underscores (_), and hyphens (-). The maximum length is 40 characters. + string request_id = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to start a cluster. +message StartClusterRequest { + // Required. The ID of the Google Cloud Platform project the + // cluster belongs to. + string project_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Dataproc region in which to handle the request. + string region = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The cluster name. + string cluster_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Specifying the `cluster_uuid` means the RPC will fail + // (with error NOT_FOUND) if a cluster with the specified UUID does not exist. + string cluster_uuid = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A unique id used to identify the request. If the server + // 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. + // + // Recommendation: Set this value to a + // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). + // + // The id must contain only letters (a-z, A-Z), numbers (0-9), + // underscores (_), and hyphens (-). The maximum length is 40 characters. + string request_id = 5 [(google.api.field_behavior) = OPTIONAL]; +} + // A request to delete a cluster. message DeleteClusterRequest { // Required. The ID of the Google Cloud Platform project that the cluster @@ -872,8 +1105,9 @@ message DeleteClusterRequest { string cluster_uuid = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. A unique id used to identify the request. If the server - // receives two [DeleteClusterRequest][google.cloud.dataproc.v1.DeleteClusterRequest] requests with the same - // id, then the second request will be ignored and the + // 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. // diff --git a/protos/google/cloud/dataproc/v1/jobs.proto b/protos/google/cloud/dataproc/v1/jobs.proto index 065530f3..f3521b5d 100644 --- a/protos/google/cloud/dataproc/v1/jobs.proto +++ b/protos/google/cloud/dataproc/v1/jobs.proto @@ -32,7 +32,8 @@ option java_package = "com.google.cloud.dataproc.v1"; // The JobController provides methods to manage jobs. service JobController { 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"; // Submits a job to a cluster. rpc SubmitJob(SubmitJobRequest) returns (Job) { @@ -44,7 +45,8 @@ service JobController { } // Submits job to a cluster. - rpc SubmitJobAsOperation(SubmitJobRequest) returns (google.longrunning.Operation) { + rpc SubmitJobAsOperation(SubmitJobRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/jobs:submitAsOperation" body: "*" @@ -286,9 +288,9 @@ message PySparkJob { // A list of queries to run on a cluster. message QueryList { - // Required. The queries to execute. You do not need to terminate a query - // with a semicolon. Multiple queries can be specified in one string - // by separating each with a semicolon. Here is an example of an Cloud + // Required. The queries to execute. You do not need to end a query expression + // with a semicolon. Multiple queries can be specified in one + // string by separating each with a semicolon. Here is an example of a // Dataproc API snippet that uses a QueryList to specify a HiveJob: // // "hiveJob": { @@ -323,7 +325,8 @@ message HiveJob { // Optional. Mapping of query variable names to values (equivalent to the // Hive command: `SET name="value";`). - map script_variables = 4 [(google.api.field_behavior) = OPTIONAL]; + map script_variables = 4 + [(google.api.field_behavior) = OPTIONAL]; // Optional. A mapping of property names and values, used to configure Hive. // Properties that conflict with values set by the Dataproc API may be @@ -352,7 +355,8 @@ message SparkSqlJob { // Optional. Mapping of query variable names to values (equivalent to the // Spark SQL command: SET `name="value";`). - map script_variables = 3 [(google.api.field_behavior) = OPTIONAL]; + map script_variables = 3 + [(google.api.field_behavior) = OPTIONAL]; // Optional. A mapping of property names to values, used to configure // Spark SQL's SparkConf. Properties that conflict with values set by the @@ -386,7 +390,8 @@ message PigJob { // Optional. Mapping of query variable names to values (equivalent to the Pig // command: `name=[value]`). - map script_variables = 4 [(google.api.field_behavior) = OPTIONAL]; + map script_variables = 4 + [(google.api.field_behavior) = OPTIONAL]; // Optional. A mapping of property names to values, used to configure Pig. // Properties that conflict with values set by the Dataproc API may be @@ -479,6 +484,11 @@ message JobPlacement { // Output only. A cluster UUID generated by the Dataproc service when // the job is submitted. string cluster_uuid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Cluster labels to identify a cluster where the job will be + // submitted. + map cluster_labels = 3 + [(google.api.field_behavior) = OPTIONAL]; } // Dataproc job status. @@ -557,7 +567,8 @@ message JobStatus { ]; // Output only. The time when this state was entered. - google.protobuf.Timestamp state_start_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp state_start_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Additional state information, which includes // status reported by the agent. @@ -566,8 +577,8 @@ message JobStatus { // Encapsulates the full scoping used to reference a job. message JobReference { - // Optional. The ID of the Google Cloud Platform project that the job belongs to. If - // specified, must match the request project ID. + // Optional. The ID of the Google Cloud Platform project that the job belongs + // to. If specified, must match the request project ID. string project_id = 1 [(google.api.field_behavior) = OPTIONAL]; // Optional. The job ID, which must be unique within the project. @@ -677,22 +688,26 @@ message Job { JobStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The previous job status. - repeated JobStatus status_history = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + repeated JobStatus status_history = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The collection of YARN applications spun up by this job. // // **Beta** Feature: This report is available for testing purposes only. It // may be changed before final release. - repeated YarnApplication yarn_applications = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + repeated YarnApplication yarn_applications = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. A URI pointing to the location of the stdout of the job's // driver program. - string driver_output_resource_uri = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + string driver_output_resource_uri = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. If present, the location of miscellaneous control files // which may be used as part of job setup and handling. If not present, // control files may be placed in the same location as `driver_output_uri`. - string driver_control_files_uri = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + string driver_control_files_uri = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Optional. The labels to associate with this job. // Label **keys** must contain 1 to 63 characters, and must conform to @@ -711,8 +726,8 @@ message Job { // may be reused over time. string job_uuid = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. Indicates whether the job is completed. If the value is `false`, - // the job is still in progress. If `true`, the job is completed, and + // Output only. Indicates whether the job is completed. If the value is + // `false`, the job is still in progress. If `true`, the job is completed, and // `status.state` field will indicate if it was successful, failed, // or cancelled. bool done = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; @@ -721,7 +736,7 @@ message Job { // Job scheduling options. message JobScheduling { // Optional. Maximum number of times per hour a driver may be restarted as - // a result of driver terminating with non-zero code before job is + // a result of driver exiting with non-zero code before job is // reported failed. // // A job may be reported as thrashing if driver exits with non-zero code @@ -729,6 +744,11 @@ message JobScheduling { // // Maximum value is 10. int32 max_failures_per_hour = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Maximum number of times in total a driver may be restarted as a + // result of driver exiting with non-zero code before job is reported failed. + // Maximum value is 240. + int32 max_failures_total = 2 [(google.api.field_behavior) = OPTIONAL]; } // A request to submit a job. @@ -744,8 +764,9 @@ message SubmitJobRequest { Job job = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. A unique id used to identify the request. If the server - // receives two [SubmitJobRequest][google.cloud.dataproc.v1.SubmitJobRequest] requests with the same - // id, then the second request will be ignored and the + // receives two + // [SubmitJobRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.SubmitJobRequest)s + // with the same id, then the second request will be ignored and the // first [Job][google.cloud.dataproc.v1.Job] created and stored in the backend // is returned. // @@ -769,7 +790,8 @@ message JobMetadata { string operation_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Job submission time. - google.protobuf.Timestamp start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp start_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // A request to get the resource representation for a job in a project. @@ -822,7 +844,8 @@ message ListJobsRequest { // (default = match ALL jobs). // // If `filter` is provided, `jobStateMatcher` will be ignored. - JobStateMatcher job_state_matcher = 5 [(google.api.field_behavior) = OPTIONAL]; + JobStateMatcher job_state_matcher = 5 + [(google.api.field_behavior) = OPTIONAL]; // Optional. A filter constraining the jobs to list. Filters are // case-sensitive and have the following syntax: @@ -862,7 +885,8 @@ message UpdateJobRequest { // labels, and the `PATCH` request body would specify the new // value. Note: Currently, labels is the only // field that can be updated. - google.protobuf.FieldMask update_mask = 5 [(google.api.field_behavior) = REQUIRED]; + google.protobuf.FieldMask update_mask = 5 + [(google.api.field_behavior) = REQUIRED]; } // A list of jobs in a project. diff --git a/protos/google/cloud/dataproc/v1/shared.proto b/protos/google/cloud/dataproc/v1/shared.proto index 7a1382f1..176e4535 100644 --- a/protos/google/cloud/dataproc/v1/shared.proto +++ b/protos/google/cloud/dataproc/v1/shared.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.cloud.dataproc.v1; import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/v1;dataproc"; option java_multiple_files = true; @@ -24,13 +25,30 @@ option java_outer_classname = "SharedProto"; option java_package = "com.google.cloud.dataproc.v1"; // Cluster components that can be activated. +// Next ID: 16. enum Component { // Unspecified component. Specifying this will cause Cluster creation to fail. COMPONENT_UNSPECIFIED = 0; - // The Anaconda python distribution. + // The Anaconda python distribution. The Anaconda component is not supported + // in the Dataproc + // 2.0 + // image. The 2.0 image is pre-installed with Miniconda. ANACONDA = 5; + // Docker + DOCKER = 13; + + // The Druid query engine. (alpha) + DRUID = 9; + + // Flink + FLINK = 14; + + // HBase. (beta) + HBASE = 11; + // The Hive Web HCatalog (the REST service for accessing HCatalog). HIVE_WEBHCAT = 3; @@ -40,6 +58,12 @@ enum Component { // The Presto query engine. PRESTO = 6; + // The Ranger service. + RANGER = 12; + + // The Solr service. + SOLR = 10; + // The Zeppelin notebook. ZEPPELIN = 4; diff --git a/protos/google/cloud/dataproc/v1/workflow_templates.proto b/protos/google/cloud/dataproc/v1/workflow_templates.proto index 04f81004..ea5bfd05 100644 --- a/protos/google/cloud/dataproc/v1/workflow_templates.proto +++ b/protos/google/cloud/dataproc/v1/workflow_templates.proto @@ -23,6 +23,7 @@ import "google/api/resource.proto"; import "google/cloud/dataproc/v1/clusters.proto"; import "google/cloud/dataproc/v1/jobs.proto"; import "google/longrunning/operations.proto"; +import "google/protobuf/duration.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; @@ -35,10 +36,12 @@ option java_package = "com.google.cloud.dataproc.v1"; // Dataproc API. service WorkflowTemplateService { 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 new workflow template. - rpc CreateWorkflowTemplate(CreateWorkflowTemplateRequest) returns (WorkflowTemplate) { + rpc CreateWorkflowTemplate(CreateWorkflowTemplateRequest) + returns (WorkflowTemplate) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/workflowTemplates" body: "template" @@ -54,7 +57,8 @@ service WorkflowTemplateService { // // Can retrieve previously instantiated template by specifying optional // version parameter. - rpc GetWorkflowTemplate(GetWorkflowTemplateRequest) returns (WorkflowTemplate) { + rpc GetWorkflowTemplate(GetWorkflowTemplateRequest) + returns (WorkflowTemplate) { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/workflowTemplates/*}" additional_bindings { @@ -84,7 +88,8 @@ service WorkflowTemplateService { // On successful completion, // [Operation.response][google.longrunning.Operation.response] will be // [Empty][google.protobuf.Empty]. - rpc InstantiateWorkflowTemplate(InstantiateWorkflowTemplateRequest) returns (google.longrunning.Operation) { + rpc InstantiateWorkflowTemplate(InstantiateWorkflowTemplateRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{name=projects/*/locations/*/workflowTemplates/*}:instantiate" body: "*" @@ -104,7 +109,8 @@ service WorkflowTemplateService { // Instantiates a template and begins execution. // // This method is equivalent to executing the sequence - // [CreateWorkflowTemplate][google.cloud.dataproc.v1.WorkflowTemplateService.CreateWorkflowTemplate], [InstantiateWorkflowTemplate][google.cloud.dataproc.v1.WorkflowTemplateService.InstantiateWorkflowTemplate], + // [CreateWorkflowTemplate][google.cloud.dataproc.v1.WorkflowTemplateService.CreateWorkflowTemplate], + // [InstantiateWorkflowTemplate][google.cloud.dataproc.v1.WorkflowTemplateService.InstantiateWorkflowTemplate], // [DeleteWorkflowTemplate][google.cloud.dataproc.v1.WorkflowTemplateService.DeleteWorkflowTemplate]. // // The returned Operation can be used to track execution of @@ -125,7 +131,9 @@ service WorkflowTemplateService { // On successful completion, // [Operation.response][google.longrunning.Operation.response] will be // [Empty][google.protobuf.Empty]. - rpc InstantiateInlineWorkflowTemplate(InstantiateInlineWorkflowTemplateRequest) returns (google.longrunning.Operation) { + rpc InstantiateInlineWorkflowTemplate( + InstantiateInlineWorkflowTemplateRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/workflowTemplates:instantiateInline" body: "template" @@ -143,7 +151,8 @@ service WorkflowTemplateService { // Updates (replaces) workflow template. The updated template // must contain version that matches the current server version. - rpc UpdateWorkflowTemplate(UpdateWorkflowTemplateRequest) returns (WorkflowTemplate) { + rpc UpdateWorkflowTemplate(UpdateWorkflowTemplateRequest) + returns (WorkflowTemplate) { option (google.api.http) = { put: "/v1/{template.name=projects/*/locations/*/workflowTemplates/*}" body: "template" @@ -156,7 +165,8 @@ service WorkflowTemplateService { } // Lists workflows that match the specified filter in the request. - rpc ListWorkflowTemplates(ListWorkflowTemplatesRequest) returns (ListWorkflowTemplatesResponse) { + rpc ListWorkflowTemplates(ListWorkflowTemplatesRequest) + returns (ListWorkflowTemplatesResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/workflowTemplates" additional_bindings { @@ -167,7 +177,8 @@ service WorkflowTemplateService { } // Deletes a workflow template. It does not cancel in-progress workflows. - rpc DeleteWorkflowTemplate(DeleteWorkflowTemplateRequest) returns (google.protobuf.Empty) { + rpc DeleteWorkflowTemplate(DeleteWorkflowTemplateRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/workflowTemplates/*}" additional_bindings { @@ -213,10 +224,12 @@ message WorkflowTemplate { int32 version = 3 [(google.api.field_behavior) = OPTIONAL]; // Output only. The time template was created. - google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time template was last updated. - google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Optional. The labels to associate with this template. These labels // will be propagated to all jobs and clusters created by the workflow @@ -233,7 +246,8 @@ message WorkflowTemplate { map labels = 6 [(google.api.field_behavior) = OPTIONAL]; // Required. WorkflowTemplate scheduling information. - WorkflowTemplatePlacement placement = 7 [(google.api.field_behavior) = REQUIRED]; + WorkflowTemplatePlacement placement = 7 + [(google.api.field_behavior) = REQUIRED]; // Required. The Directed Acyclic Graph of Jobs to submit. repeated OrderedJob jobs = 8 [(google.api.field_behavior) = REQUIRED]; @@ -241,7 +255,21 @@ message WorkflowTemplate { // Optional. Template parameters whose values are substituted into the // template. Values for parameters must be provided when the template is // instantiated. - repeated TemplateParameter parameters = 9 [(google.api.field_behavior) = OPTIONAL]; + repeated TemplateParameter parameters = 9 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Timeout duration for the DAG of jobs, expressed in seconds (see + // [JSON representation of + // duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + // The timeout duration must be from 10 minutes ("600s") to 24 hours + // ("86400s"). The timer begins when the first job is submitted. If the + // workflow is running at the end of the timeout period, any remaining jobs + // are cancelled, the workflow is ended, and if the workflow was running on a + // [managed + // cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster), + // the cluster is deleted. + google.protobuf.Duration dag_timeout = 10 + [(google.api.field_behavior) = OPTIONAL]; } // Specifies workflow execution target. @@ -299,7 +327,8 @@ message ClusterSelector { // Required. The cluster labels. Cluster must have all labels // to match. - map cluster_labels = 2 [(google.api.field_behavior) = REQUIRED]; + map cluster_labels = 2 + [(google.api.field_behavior) = REQUIRED]; } // A job executed by the workflow. @@ -309,8 +338,8 @@ message OrderedJob { // // The step id is used as prefix for job id, as job // `goog-dataproc-workflow-step-id` label, and in - // [prerequisiteStepIds][google.cloud.dataproc.v1.OrderedJob.prerequisite_step_ids] field from other - // steps. + // [prerequisiteStepIds][google.cloud.dataproc.v1.OrderedJob.prerequisite_step_ids] + // field from other steps. // // The id must contain only letters (a-z, A-Z), numbers (0-9), // underscores (_), and hyphens (-). Cannot begin or end with underscore @@ -361,7 +390,8 @@ message OrderedJob { // Optional. The optional list of prerequisite job step_ids. // If not specified, the job will start at the beginning of workflow. - repeated string prerequisite_step_ids = 10 [(google.api.field_behavior) = OPTIONAL]; + repeated string prerequisite_step_ids = 10 + [(google.api.field_behavior) = OPTIONAL]; } // A configurable parameter that replaces one or more fields in the template. @@ -387,10 +417,10 @@ message TemplateParameter { // A field is allowed to appear in at most one parameter's list of field // paths. // - // A field path is similar in syntax to a [google.protobuf.FieldMask][google.protobuf.FieldMask]. - // For example, a field path that references the zone field of a workflow - // template's cluster selector would be specified as - // `placement.clusterSelector.zone`. + // A field path is similar in syntax to a + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. For example, a + // field path that references the zone field of a workflow template's cluster + // selector would be specified as `placement.clusterSelector.zone`. // // Also, field paths can reference fields using the following syntax: // @@ -497,13 +527,15 @@ message WorkflowMetadata { int32 version = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The create cluster operation metadata. - ClusterOperation create_cluster = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + ClusterOperation create_cluster = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The workflow graph. WorkflowGraph graph = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The delete cluster operation metadata. - ClusterOperation delete_cluster = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + ClusterOperation delete_cluster = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The workflow state. State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; @@ -515,13 +547,33 @@ message WorkflowMetadata { map parameters = 8; // Output only. Workflow start time. - google.protobuf.Timestamp start_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp start_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Workflow end time. - google.protobuf.Timestamp end_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp end_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The UUID of target cluster. string cluster_uuid = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timeout duration for the DAG of jobs, expressed in seconds + // (see [JSON representation of + // duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + google.protobuf.Duration dag_timeout = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. DAG start time, only set for workflows with + // [dag_timeout][google.cloud.dataproc.v1.WorkflowMetadata.dag_timeout] when + // DAG begins. + google.protobuf.Timestamp dag_start_time = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. DAG end time, only set for workflows with + // [dag_timeout][google.cloud.dataproc.v1.WorkflowMetadata.dag_timeout] when + // DAG ends. + google.protobuf.Timestamp dag_end_time = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // The cluster operation triggered by a workflow. @@ -570,7 +622,8 @@ message WorkflowNode { string step_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Node's prerequisite nodes. - repeated string prerequisite_step_ids = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + repeated string prerequisite_step_ids = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The job id; populated after the node enters RUNNING state. string job_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; @@ -670,7 +723,7 @@ message InstantiateWorkflowTemplateRequest { string request_id = 5 [(google.api.field_behavior) = OPTIONAL]; // Optional. Map from parameter names to values that should be used for those - // parameters. Values may not exceed 100 characters. + // parameters. Values may not exceed 1000 characters. map parameters = 6 [(google.api.field_behavior) = OPTIONAL]; } @@ -746,7 +799,8 @@ message ListWorkflowTemplatesRequest { // A response to a request to list workflow templates in a project. message ListWorkflowTemplatesResponse { // Output only. WorkflowTemplates list. - repeated WorkflowTemplate templates = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + repeated WorkflowTemplate templates = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. This token is included in the response if there are more // results to fetch. To fetch additional results, provide this value as the diff --git a/protos/protos.d.ts b/protos/protos.d.ts index 6add4da3..b7aef53e 100644 --- a/protos/protos.d.ts +++ b/protos/protos.d.ts @@ -1196,6 +1196,34 @@ export namespace google { */ public updateCluster(request: google.cloud.dataproc.v1.IUpdateClusterRequest): Promise; + /** + * Calls StopCluster. + * @param request StopClusterRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public stopCluster(request: google.cloud.dataproc.v1.IStopClusterRequest, callback: google.cloud.dataproc.v1.ClusterController.StopClusterCallback): void; + + /** + * Calls StopCluster. + * @param request StopClusterRequest message or plain object + * @returns Promise + */ + public stopCluster(request: google.cloud.dataproc.v1.IStopClusterRequest): Promise; + + /** + * Calls StartCluster. + * @param request StartClusterRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public startCluster(request: google.cloud.dataproc.v1.IStartClusterRequest, callback: google.cloud.dataproc.v1.ClusterController.StartClusterCallback): void; + + /** + * Calls StartCluster. + * @param request StartClusterRequest message or plain object + * @returns Promise + */ + public startCluster(request: google.cloud.dataproc.v1.IStartClusterRequest): Promise; + /** * Calls DeleteCluster. * @param request DeleteClusterRequest message or plain object @@ -1269,6 +1297,20 @@ export namespace google { */ type UpdateClusterCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + /** + * Callback as used by {@link google.cloud.dataproc.v1.ClusterController#stopCluster}. + * @param error Error, if any + * @param [response] Operation + */ + type StopClusterCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.dataproc.v1.ClusterController#startCluster}. + * @param error Error, if any + * @param [response] Operation + */ + type StartClusterCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + /** * Callback as used by {@link google.cloud.dataproc.v1.ClusterController#deleteCluster}. * @param error Error, if any @@ -1471,6 +1513,12 @@ export namespace google { /** ClusterConfig endpointConfig */ endpointConfig?: (google.cloud.dataproc.v1.IEndpointConfig|null); + + /** ClusterConfig metastoreConfig */ + metastoreConfig?: (google.cloud.dataproc.v1.IMetastoreConfig|null); + + /** ClusterConfig gkeClusterConfig */ + gkeClusterConfig?: (google.cloud.dataproc.v1.IGkeClusterConfig|null); } /** Represents a ClusterConfig. */ @@ -1521,6 +1569,12 @@ export namespace google { /** ClusterConfig endpointConfig. */ public endpointConfig?: (google.cloud.dataproc.v1.IEndpointConfig|null); + /** ClusterConfig metastoreConfig. */ + public metastoreConfig?: (google.cloud.dataproc.v1.IMetastoreConfig|null); + + /** ClusterConfig gkeClusterConfig. */ + public gkeClusterConfig?: (google.cloud.dataproc.v1.IGkeClusterConfig|null); + /** * Creates a new ClusterConfig instance using the specified properties. * @param [properties] Properties to set @@ -1592,6 +1646,195 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a GkeClusterConfig. */ + interface IGkeClusterConfig { + + /** GkeClusterConfig namespacedGkeDeploymentTarget */ + namespacedGkeDeploymentTarget?: (google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget|null); + } + + /** Represents a GkeClusterConfig. */ + class GkeClusterConfig implements IGkeClusterConfig { + + /** + * Constructs a new GkeClusterConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.dataproc.v1.IGkeClusterConfig); + + /** GkeClusterConfig namespacedGkeDeploymentTarget. */ + public namespacedGkeDeploymentTarget?: (google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget|null); + + /** + * Creates a new GkeClusterConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns GkeClusterConfig instance + */ + public static create(properties?: google.cloud.dataproc.v1.IGkeClusterConfig): google.cloud.dataproc.v1.GkeClusterConfig; + + /** + * Encodes the specified GkeClusterConfig message. Does not implicitly {@link google.cloud.dataproc.v1.GkeClusterConfig.verify|verify} messages. + * @param message GkeClusterConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.dataproc.v1.IGkeClusterConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GkeClusterConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.GkeClusterConfig.verify|verify} messages. + * @param message GkeClusterConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.dataproc.v1.IGkeClusterConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GkeClusterConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GkeClusterConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.GkeClusterConfig; + + /** + * Decodes a GkeClusterConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GkeClusterConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.GkeClusterConfig; + + /** + * Verifies a GkeClusterConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GkeClusterConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GkeClusterConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.GkeClusterConfig; + + /** + * Creates a plain object from a GkeClusterConfig message. Also converts values to other types if specified. + * @param message GkeClusterConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.dataproc.v1.GkeClusterConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GkeClusterConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace GkeClusterConfig { + + /** Properties of a NamespacedGkeDeploymentTarget. */ + interface INamespacedGkeDeploymentTarget { + + /** NamespacedGkeDeploymentTarget targetGkeCluster */ + targetGkeCluster?: (string|null); + + /** NamespacedGkeDeploymentTarget clusterNamespace */ + clusterNamespace?: (string|null); + } + + /** Represents a NamespacedGkeDeploymentTarget. */ + class NamespacedGkeDeploymentTarget implements INamespacedGkeDeploymentTarget { + + /** + * Constructs a new NamespacedGkeDeploymentTarget. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget); + + /** NamespacedGkeDeploymentTarget targetGkeCluster. */ + public targetGkeCluster: string; + + /** NamespacedGkeDeploymentTarget clusterNamespace. */ + public clusterNamespace: string; + + /** + * Creates a new NamespacedGkeDeploymentTarget instance using the specified properties. + * @param [properties] Properties to set + * @returns NamespacedGkeDeploymentTarget instance + */ + public static create(properties?: google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget): google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget; + + /** + * Encodes the specified NamespacedGkeDeploymentTarget message. Does not implicitly {@link google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget.verify|verify} messages. + * @param message NamespacedGkeDeploymentTarget message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NamespacedGkeDeploymentTarget message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget.verify|verify} messages. + * @param message NamespacedGkeDeploymentTarget message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NamespacedGkeDeploymentTarget message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NamespacedGkeDeploymentTarget + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget; + + /** + * Decodes a NamespacedGkeDeploymentTarget message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NamespacedGkeDeploymentTarget + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget; + + /** + * Verifies a NamespacedGkeDeploymentTarget message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NamespacedGkeDeploymentTarget message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NamespacedGkeDeploymentTarget + */ + public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget; + + /** + * Creates a plain object from a NamespacedGkeDeploymentTarget message. Also converts values to other types if specified. + * @param message NamespacedGkeDeploymentTarget + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NamespacedGkeDeploymentTarget to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + /** Properties of an EndpointConfig. */ interface IEndpointConfig { @@ -1883,6 +2126,9 @@ export namespace google { /** GceClusterConfig internalIpOnly */ internalIpOnly?: (boolean|null); + /** GceClusterConfig privateIpv6GoogleAccess */ + privateIpv6GoogleAccess?: (google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess|keyof typeof google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess|null); + /** GceClusterConfig serviceAccount */ serviceAccount?: (string|null); @@ -1897,6 +2143,12 @@ export namespace google { /** GceClusterConfig reservationAffinity */ reservationAffinity?: (google.cloud.dataproc.v1.IReservationAffinity|null); + + /** GceClusterConfig nodeGroupAffinity */ + nodeGroupAffinity?: (google.cloud.dataproc.v1.INodeGroupAffinity|null); + + /** GceClusterConfig shieldedInstanceConfig */ + shieldedInstanceConfig?: (google.cloud.dataproc.v1.IShieldedInstanceConfig|null); } /** Represents a GceClusterConfig. */ @@ -1920,6 +2172,9 @@ export namespace google { /** GceClusterConfig internalIpOnly. */ public internalIpOnly: boolean; + /** GceClusterConfig privateIpv6GoogleAccess. */ + public privateIpv6GoogleAccess: (google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess|keyof typeof google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess); + /** GceClusterConfig serviceAccount. */ public serviceAccount: string; @@ -1935,6 +2190,12 @@ export namespace google { /** GceClusterConfig reservationAffinity. */ public reservationAffinity?: (google.cloud.dataproc.v1.IReservationAffinity|null); + /** GceClusterConfig nodeGroupAffinity. */ + public nodeGroupAffinity?: (google.cloud.dataproc.v1.INodeGroupAffinity|null); + + /** GceClusterConfig shieldedInstanceConfig. */ + public shieldedInstanceConfig?: (google.cloud.dataproc.v1.IShieldedInstanceConfig|null); + /** * Creates a new GceClusterConfig instance using the specified properties. * @param [properties] Properties to set @@ -2006,6 +2267,209 @@ export namespace google { public toJSON(): { [k: string]: any }; } + namespace GceClusterConfig { + + /** PrivateIpv6GoogleAccess enum. */ + enum PrivateIpv6GoogleAccess { + PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0, + INHERIT_FROM_SUBNETWORK = 1, + OUTBOUND = 2, + BIDIRECTIONAL = 3 + } + } + + /** Properties of a NodeGroupAffinity. */ + interface INodeGroupAffinity { + + /** NodeGroupAffinity nodeGroupUri */ + nodeGroupUri?: (string|null); + } + + /** Represents a NodeGroupAffinity. */ + class NodeGroupAffinity implements INodeGroupAffinity { + + /** + * Constructs a new NodeGroupAffinity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.dataproc.v1.INodeGroupAffinity); + + /** NodeGroupAffinity nodeGroupUri. */ + public nodeGroupUri: string; + + /** + * Creates a new NodeGroupAffinity instance using the specified properties. + * @param [properties] Properties to set + * @returns NodeGroupAffinity instance + */ + public static create(properties?: google.cloud.dataproc.v1.INodeGroupAffinity): google.cloud.dataproc.v1.NodeGroupAffinity; + + /** + * Encodes the specified NodeGroupAffinity message. Does not implicitly {@link google.cloud.dataproc.v1.NodeGroupAffinity.verify|verify} messages. + * @param message NodeGroupAffinity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.dataproc.v1.INodeGroupAffinity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NodeGroupAffinity message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.NodeGroupAffinity.verify|verify} messages. + * @param message NodeGroupAffinity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.dataproc.v1.INodeGroupAffinity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NodeGroupAffinity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NodeGroupAffinity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.NodeGroupAffinity; + + /** + * Decodes a NodeGroupAffinity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NodeGroupAffinity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.NodeGroupAffinity; + + /** + * Verifies a NodeGroupAffinity message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NodeGroupAffinity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NodeGroupAffinity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.NodeGroupAffinity; + + /** + * Creates a plain object from a NodeGroupAffinity message. Also converts values to other types if specified. + * @param message NodeGroupAffinity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.dataproc.v1.NodeGroupAffinity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NodeGroupAffinity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ShieldedInstanceConfig. */ + interface IShieldedInstanceConfig { + + /** ShieldedInstanceConfig enableSecureBoot */ + enableSecureBoot?: (boolean|null); + + /** ShieldedInstanceConfig enableVtpm */ + enableVtpm?: (boolean|null); + + /** ShieldedInstanceConfig enableIntegrityMonitoring */ + enableIntegrityMonitoring?: (boolean|null); + } + + /** Represents a ShieldedInstanceConfig. */ + class ShieldedInstanceConfig implements IShieldedInstanceConfig { + + /** + * Constructs a new ShieldedInstanceConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.dataproc.v1.IShieldedInstanceConfig); + + /** ShieldedInstanceConfig enableSecureBoot. */ + public enableSecureBoot: boolean; + + /** ShieldedInstanceConfig enableVtpm. */ + public enableVtpm: boolean; + + /** ShieldedInstanceConfig enableIntegrityMonitoring. */ + public enableIntegrityMonitoring: boolean; + + /** + * Creates a new ShieldedInstanceConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ShieldedInstanceConfig instance + */ + public static create(properties?: google.cloud.dataproc.v1.IShieldedInstanceConfig): google.cloud.dataproc.v1.ShieldedInstanceConfig; + + /** + * Encodes the specified ShieldedInstanceConfig message. Does not implicitly {@link google.cloud.dataproc.v1.ShieldedInstanceConfig.verify|verify} messages. + * @param message ShieldedInstanceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.dataproc.v1.IShieldedInstanceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ShieldedInstanceConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.ShieldedInstanceConfig.verify|verify} messages. + * @param message ShieldedInstanceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.dataproc.v1.IShieldedInstanceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ShieldedInstanceConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ShieldedInstanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.ShieldedInstanceConfig; + + /** + * Decodes a ShieldedInstanceConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ShieldedInstanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.ShieldedInstanceConfig; + + /** + * Verifies a ShieldedInstanceConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ShieldedInstanceConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ShieldedInstanceConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.ShieldedInstanceConfig; + + /** + * Creates a plain object from a ShieldedInstanceConfig message. Also converts values to other types if specified. + * @param message ShieldedInstanceConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.dataproc.v1.ShieldedInstanceConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ShieldedInstanceConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of an InstanceGroupConfig. */ interface IInstanceGroupConfig { @@ -2667,7 +3131,10 @@ export namespace google { RUNNING = 2, ERROR = 3, DELETING = 4, - UPDATING = 5 + UPDATING = 5, + STOPPING = 6, + STOPPED = 7, + STARTING = 8 } /** Substate enum. */ @@ -2683,6 +3150,9 @@ export namespace google { /** SecurityConfig kerberosConfig */ kerberosConfig?: (google.cloud.dataproc.v1.IKerberosConfig|null); + + /** SecurityConfig identityConfig */ + identityConfig?: (google.cloud.dataproc.v1.IIdentityConfig|null); } /** Represents a SecurityConfig. */ @@ -2697,6 +3167,9 @@ export namespace google { /** SecurityConfig kerberosConfig. */ public kerberosConfig?: (google.cloud.dataproc.v1.IKerberosConfig|null); + /** SecurityConfig identityConfig. */ + public identityConfig?: (google.cloud.dataproc.v1.IIdentityConfig|null); + /** * Creates a new SecurityConfig instance using the specified properties. * @param [properties] Properties to set @@ -2892,51 +3365,141 @@ export namespace google { * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.dataproc.v1.IKerberosConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.dataproc.v1.IKerberosConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a KerberosConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns KerberosConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.KerberosConfig; + + /** + * Decodes a KerberosConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns KerberosConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.KerberosConfig; + + /** + * Verifies a KerberosConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a KerberosConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns KerberosConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.KerberosConfig; + + /** + * Creates a plain object from a KerberosConfig message. Also converts values to other types if specified. + * @param message KerberosConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.dataproc.v1.KerberosConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this KerberosConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an IdentityConfig. */ + interface IIdentityConfig { + + /** IdentityConfig userServiceAccountMapping */ + userServiceAccountMapping?: ({ [k: string]: string }|null); + } + + /** Represents an IdentityConfig. */ + class IdentityConfig implements IIdentityConfig { + + /** + * Constructs a new IdentityConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.dataproc.v1.IIdentityConfig); + + /** IdentityConfig userServiceAccountMapping. */ + public userServiceAccountMapping: { [k: string]: string }; + + /** + * Creates a new IdentityConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns IdentityConfig instance + */ + public static create(properties?: google.cloud.dataproc.v1.IIdentityConfig): google.cloud.dataproc.v1.IdentityConfig; + + /** + * Encodes the specified IdentityConfig message. Does not implicitly {@link google.cloud.dataproc.v1.IdentityConfig.verify|verify} messages. + * @param message IdentityConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.dataproc.v1.IIdentityConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified IdentityConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.IdentityConfig.verify|verify} messages. + * @param message IdentityConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.dataproc.v1.IIdentityConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a KerberosConfig message from the specified reader or buffer. + * Decodes an IdentityConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns KerberosConfig + * @returns IdentityConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.KerberosConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.IdentityConfig; /** - * Decodes a KerberosConfig message from the specified reader or buffer, length delimited. + * Decodes an IdentityConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns KerberosConfig + * @returns IdentityConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.KerberosConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.IdentityConfig; /** - * Verifies a KerberosConfig message. + * Verifies an IdentityConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a KerberosConfig message from a plain object. Also converts values to their respective internal types. + * Creates an IdentityConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns KerberosConfig + * @returns IdentityConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.KerberosConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.IdentityConfig; /** - * Creates a plain object from a KerberosConfig message. Also converts values to other types if specified. - * @param message KerberosConfig + * Creates a plain object from an IdentityConfig message. Also converts values to other types if specified. + * @param message IdentityConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.dataproc.v1.KerberosConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.dataproc.v1.IdentityConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this KerberosConfig to JSON. + * Converts this IdentityConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; @@ -3155,6 +3718,96 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a MetastoreConfig. */ + interface IMetastoreConfig { + + /** MetastoreConfig dataprocMetastoreService */ + dataprocMetastoreService?: (string|null); + } + + /** Represents a MetastoreConfig. */ + class MetastoreConfig implements IMetastoreConfig { + + /** + * Constructs a new MetastoreConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.dataproc.v1.IMetastoreConfig); + + /** MetastoreConfig dataprocMetastoreService. */ + public dataprocMetastoreService: string; + + /** + * Creates a new MetastoreConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns MetastoreConfig instance + */ + public static create(properties?: google.cloud.dataproc.v1.IMetastoreConfig): google.cloud.dataproc.v1.MetastoreConfig; + + /** + * Encodes the specified MetastoreConfig message. Does not implicitly {@link google.cloud.dataproc.v1.MetastoreConfig.verify|verify} messages. + * @param message MetastoreConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.dataproc.v1.IMetastoreConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MetastoreConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.MetastoreConfig.verify|verify} messages. + * @param message MetastoreConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.dataproc.v1.IMetastoreConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MetastoreConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MetastoreConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.MetastoreConfig; + + /** + * Decodes a MetastoreConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MetastoreConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.MetastoreConfig; + + /** + * Verifies a MetastoreConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MetastoreConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MetastoreConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.MetastoreConfig; + + /** + * Creates a plain object from a MetastoreConfig message. Also converts values to other types if specified. + * @param message MetastoreConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.dataproc.v1.MetastoreConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MetastoreConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a ClusterMetrics. */ interface IClusterMetrics { @@ -3485,6 +4138,234 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a StopClusterRequest. */ + interface IStopClusterRequest { + + /** StopClusterRequest projectId */ + projectId?: (string|null); + + /** StopClusterRequest region */ + region?: (string|null); + + /** StopClusterRequest clusterName */ + clusterName?: (string|null); + + /** StopClusterRequest clusterUuid */ + clusterUuid?: (string|null); + + /** StopClusterRequest requestId */ + requestId?: (string|null); + } + + /** Represents a StopClusterRequest. */ + class StopClusterRequest implements IStopClusterRequest { + + /** + * Constructs a new StopClusterRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.dataproc.v1.IStopClusterRequest); + + /** StopClusterRequest projectId. */ + public projectId: string; + + /** StopClusterRequest region. */ + public region: string; + + /** StopClusterRequest clusterName. */ + public clusterName: string; + + /** StopClusterRequest clusterUuid. */ + public clusterUuid: string; + + /** StopClusterRequest requestId. */ + public requestId: string; + + /** + * Creates a new StopClusterRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns StopClusterRequest instance + */ + public static create(properties?: google.cloud.dataproc.v1.IStopClusterRequest): google.cloud.dataproc.v1.StopClusterRequest; + + /** + * Encodes the specified StopClusterRequest message. Does not implicitly {@link google.cloud.dataproc.v1.StopClusterRequest.verify|verify} messages. + * @param message StopClusterRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.dataproc.v1.IStopClusterRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StopClusterRequest message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.StopClusterRequest.verify|verify} messages. + * @param message StopClusterRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.dataproc.v1.IStopClusterRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StopClusterRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StopClusterRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.StopClusterRequest; + + /** + * Decodes a StopClusterRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StopClusterRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.StopClusterRequest; + + /** + * Verifies a StopClusterRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StopClusterRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StopClusterRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.StopClusterRequest; + + /** + * Creates a plain object from a StopClusterRequest message. Also converts values to other types if specified. + * @param message StopClusterRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.dataproc.v1.StopClusterRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StopClusterRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StartClusterRequest. */ + interface IStartClusterRequest { + + /** StartClusterRequest projectId */ + projectId?: (string|null); + + /** StartClusterRequest region */ + region?: (string|null); + + /** StartClusterRequest clusterName */ + clusterName?: (string|null); + + /** StartClusterRequest clusterUuid */ + clusterUuid?: (string|null); + + /** StartClusterRequest requestId */ + requestId?: (string|null); + } + + /** Represents a StartClusterRequest. */ + class StartClusterRequest implements IStartClusterRequest { + + /** + * Constructs a new StartClusterRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.dataproc.v1.IStartClusterRequest); + + /** StartClusterRequest projectId. */ + public projectId: string; + + /** StartClusterRequest region. */ + public region: string; + + /** StartClusterRequest clusterName. */ + public clusterName: string; + + /** StartClusterRequest clusterUuid. */ + public clusterUuid: string; + + /** StartClusterRequest requestId. */ + public requestId: string; + + /** + * Creates a new StartClusterRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns StartClusterRequest instance + */ + public static create(properties?: google.cloud.dataproc.v1.IStartClusterRequest): google.cloud.dataproc.v1.StartClusterRequest; + + /** + * Encodes the specified StartClusterRequest message. Does not implicitly {@link google.cloud.dataproc.v1.StartClusterRequest.verify|verify} messages. + * @param message StartClusterRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.dataproc.v1.IStartClusterRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StartClusterRequest message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.StartClusterRequest.verify|verify} messages. + * @param message StartClusterRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.dataproc.v1.IStartClusterRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StartClusterRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StartClusterRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dataproc.v1.StartClusterRequest; + + /** + * Decodes a StartClusterRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StartClusterRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dataproc.v1.StartClusterRequest; + + /** + * Verifies a StartClusterRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StartClusterRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StartClusterRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.dataproc.v1.StartClusterRequest; + + /** + * Creates a plain object from a StartClusterRequest message. Also converts values to other types if specified. + * @param message StartClusterRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.dataproc.v1.StartClusterRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StartClusterRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a DeleteClusterRequest. */ interface IDeleteClusterRequest { @@ -4220,9 +5101,15 @@ export namespace google { enum Component { COMPONENT_UNSPECIFIED = 0, ANACONDA = 5, + DOCKER = 13, + DRUID = 9, + FLINK = 14, + HBASE = 11, HIVE_WEBHCAT = 3, JUPYTER = 1, PRESTO = 6, + RANGER = 12, + SOLR = 10, ZEPPELIN = 4, ZOOKEEPER = 8 } @@ -5628,6 +6515,9 @@ export namespace google { /** JobPlacement clusterUuid */ clusterUuid?: (string|null); + + /** JobPlacement clusterLabels */ + clusterLabels?: ({ [k: string]: string }|null); } /** Represents a JobPlacement. */ @@ -5645,6 +6535,9 @@ export namespace google { /** JobPlacement clusterUuid. */ public clusterUuid: string; + /** JobPlacement clusterLabels. */ + public clusterLabels: { [k: string]: string }; + /** * Creates a new JobPlacement instance using the specified properties. * @param [properties] Properties to set @@ -6275,6 +7168,9 @@ export namespace google { /** JobScheduling maxFailuresPerHour */ maxFailuresPerHour?: (number|null); + + /** JobScheduling maxFailuresTotal */ + maxFailuresTotal?: (number|null); } /** Represents a JobScheduling. */ @@ -6289,6 +7185,9 @@ export namespace google { /** JobScheduling maxFailuresPerHour. */ public maxFailuresPerHour: number; + /** JobScheduling maxFailuresTotal. */ + public maxFailuresTotal: number; + /** * Creates a new JobScheduling instance using the specified properties. * @param [properties] Properties to set @@ -7679,6 +8578,9 @@ export namespace google { /** WorkflowTemplate parameters */ parameters?: (google.cloud.dataproc.v1.ITemplateParameter[]|null); + + /** WorkflowTemplate dagTimeout */ + dagTimeout?: (google.protobuf.IDuration|null); } /** Represents a WorkflowTemplate. */ @@ -7717,6 +8619,9 @@ export namespace google { /** WorkflowTemplate parameters. */ public parameters: google.cloud.dataproc.v1.ITemplateParameter[]; + /** WorkflowTemplate dagTimeout. */ + public dagTimeout?: (google.protobuf.IDuration|null); + /** * Creates a new WorkflowTemplate instance using the specified properties. * @param [properties] Properties to set @@ -8666,6 +9571,15 @@ export namespace google { /** WorkflowMetadata clusterUuid */ clusterUuid?: (string|null); + + /** WorkflowMetadata dagTimeout */ + dagTimeout?: (google.protobuf.IDuration|null); + + /** WorkflowMetadata dagStartTime */ + dagStartTime?: (google.protobuf.ITimestamp|null); + + /** WorkflowMetadata dagEndTime */ + dagEndTime?: (google.protobuf.ITimestamp|null); } /** Represents a WorkflowMetadata. */ @@ -8710,6 +9624,15 @@ export namespace google { /** WorkflowMetadata clusterUuid. */ public clusterUuid: string; + /** WorkflowMetadata dagTimeout. */ + public dagTimeout?: (google.protobuf.IDuration|null); + + /** WorkflowMetadata dagStartTime. */ + public dagStartTime?: (google.protobuf.ITimestamp|null); + + /** WorkflowMetadata dagEndTime. */ + public dagEndTime?: (google.protobuf.ITimestamp|null); + /** * Creates a new WorkflowMetadata instance using the specified properties. * @param [properties] Properties to set diff --git a/protos/protos.js b/protos/protos.js index fd551a67..9dc352d7 100644 --- a/protos/protos.js +++ b/protos/protos.js @@ -2652,6 +2652,72 @@ * @variation 2 */ + /** + * Callback as used by {@link google.cloud.dataproc.v1.ClusterController#stopCluster}. + * @memberof google.cloud.dataproc.v1.ClusterController + * @typedef StopClusterCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls StopCluster. + * @function stopCluster + * @memberof google.cloud.dataproc.v1.ClusterController + * @instance + * @param {google.cloud.dataproc.v1.IStopClusterRequest} request StopClusterRequest message or plain object + * @param {google.cloud.dataproc.v1.ClusterController.StopClusterCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ClusterController.prototype.stopCluster = function stopCluster(request, callback) { + return this.rpcCall(stopCluster, $root.google.cloud.dataproc.v1.StopClusterRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "StopCluster" }); + + /** + * Calls StopCluster. + * @function stopCluster + * @memberof google.cloud.dataproc.v1.ClusterController + * @instance + * @param {google.cloud.dataproc.v1.IStopClusterRequest} request StopClusterRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.dataproc.v1.ClusterController#startCluster}. + * @memberof google.cloud.dataproc.v1.ClusterController + * @typedef StartClusterCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls StartCluster. + * @function startCluster + * @memberof google.cloud.dataproc.v1.ClusterController + * @instance + * @param {google.cloud.dataproc.v1.IStartClusterRequest} request StartClusterRequest message or plain object + * @param {google.cloud.dataproc.v1.ClusterController.StartClusterCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ClusterController.prototype.startCluster = function startCluster(request, callback) { + return this.rpcCall(startCluster, $root.google.cloud.dataproc.v1.StartClusterRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "StartCluster" }); + + /** + * Calls StartCluster. + * @function startCluster + * @memberof google.cloud.dataproc.v1.ClusterController + * @instance + * @param {google.cloud.dataproc.v1.IStartClusterRequest} request StartClusterRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link google.cloud.dataproc.v1.ClusterController#deleteCluster}. * @memberof google.cloud.dataproc.v1.ClusterController @@ -3221,6 +3287,8 @@ * @property {google.cloud.dataproc.v1.ISecurityConfig|null} [securityConfig] ClusterConfig securityConfig * @property {google.cloud.dataproc.v1.ILifecycleConfig|null} [lifecycleConfig] ClusterConfig lifecycleConfig * @property {google.cloud.dataproc.v1.IEndpointConfig|null} [endpointConfig] ClusterConfig endpointConfig + * @property {google.cloud.dataproc.v1.IMetastoreConfig|null} [metastoreConfig] ClusterConfig metastoreConfig + * @property {google.cloud.dataproc.v1.IGkeClusterConfig|null} [gkeClusterConfig] ClusterConfig gkeClusterConfig */ /** @@ -3343,6 +3411,22 @@ */ ClusterConfig.prototype.endpointConfig = null; + /** + * ClusterConfig metastoreConfig. + * @member {google.cloud.dataproc.v1.IMetastoreConfig|null|undefined} metastoreConfig + * @memberof google.cloud.dataproc.v1.ClusterConfig + * @instance + */ + ClusterConfig.prototype.metastoreConfig = null; + + /** + * ClusterConfig gkeClusterConfig. + * @member {google.cloud.dataproc.v1.IGkeClusterConfig|null|undefined} gkeClusterConfig + * @memberof google.cloud.dataproc.v1.ClusterConfig + * @instance + */ + ClusterConfig.prototype.gkeClusterConfig = null; + /** * Creates a new ClusterConfig instance using the specified properties. * @function create @@ -3394,6 +3478,10 @@ $root.google.cloud.dataproc.v1.AutoscalingConfig.encode(message.autoscalingConfig, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); if (message.endpointConfig != null && Object.hasOwnProperty.call(message, "endpointConfig")) $root.google.cloud.dataproc.v1.EndpointConfig.encode(message.endpointConfig, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); + if (message.metastoreConfig != null && Object.hasOwnProperty.call(message, "metastoreConfig")) + $root.google.cloud.dataproc.v1.MetastoreConfig.encode(message.metastoreConfig, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); + if (message.gkeClusterConfig != null && Object.hasOwnProperty.call(message, "gkeClusterConfig")) + $root.google.cloud.dataproc.v1.GkeClusterConfig.encode(message.gkeClusterConfig, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); return writer; }; @@ -3469,6 +3557,12 @@ case 19: message.endpointConfig = $root.google.cloud.dataproc.v1.EndpointConfig.decode(reader, reader.uint32()); break; + case 20: + message.metastoreConfig = $root.google.cloud.dataproc.v1.MetastoreConfig.decode(reader, reader.uint32()); + break; + case 21: + message.gkeClusterConfig = $root.google.cloud.dataproc.v1.GkeClusterConfig.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -3569,6 +3663,16 @@ if (error) return "endpointConfig." + error; } + if (message.metastoreConfig != null && message.hasOwnProperty("metastoreConfig")) { + var error = $root.google.cloud.dataproc.v1.MetastoreConfig.verify(message.metastoreConfig); + if (error) + return "metastoreConfig." + error; + } + if (message.gkeClusterConfig != null && message.hasOwnProperty("gkeClusterConfig")) { + var error = $root.google.cloud.dataproc.v1.GkeClusterConfig.verify(message.gkeClusterConfig); + if (error) + return "gkeClusterConfig." + error; + } return null; }; @@ -3648,6 +3752,16 @@ throw TypeError(".google.cloud.dataproc.v1.ClusterConfig.endpointConfig: object expected"); message.endpointConfig = $root.google.cloud.dataproc.v1.EndpointConfig.fromObject(object.endpointConfig); } + if (object.metastoreConfig != null) { + if (typeof object.metastoreConfig !== "object") + throw TypeError(".google.cloud.dataproc.v1.ClusterConfig.metastoreConfig: object expected"); + message.metastoreConfig = $root.google.cloud.dataproc.v1.MetastoreConfig.fromObject(object.metastoreConfig); + } + if (object.gkeClusterConfig != null) { + if (typeof object.gkeClusterConfig !== "object") + throw TypeError(".google.cloud.dataproc.v1.ClusterConfig.gkeClusterConfig: object expected"); + message.gkeClusterConfig = $root.google.cloud.dataproc.v1.GkeClusterConfig.fromObject(object.gkeClusterConfig); + } return message; }; @@ -3679,6 +3793,8 @@ object.lifecycleConfig = null; object.autoscalingConfig = null; object.endpointConfig = null; + object.metastoreConfig = null; + object.gkeClusterConfig = null; } if (message.configBucket != null && message.hasOwnProperty("configBucket")) object.configBucket = message.configBucket; @@ -3709,6 +3825,10 @@ object.autoscalingConfig = $root.google.cloud.dataproc.v1.AutoscalingConfig.toObject(message.autoscalingConfig, options); if (message.endpointConfig != null && message.hasOwnProperty("endpointConfig")) object.endpointConfig = $root.google.cloud.dataproc.v1.EndpointConfig.toObject(message.endpointConfig, options); + if (message.metastoreConfig != null && message.hasOwnProperty("metastoreConfig")) + object.metastoreConfig = $root.google.cloud.dataproc.v1.MetastoreConfig.toObject(message.metastoreConfig, options); + if (message.gkeClusterConfig != null && message.hasOwnProperty("gkeClusterConfig")) + object.gkeClusterConfig = $root.google.cloud.dataproc.v1.GkeClusterConfig.toObject(message.gkeClusterConfig, options); return object; }; @@ -3726,26 +3846,24 @@ return ClusterConfig; })(); - v1.EndpointConfig = (function() { + v1.GkeClusterConfig = (function() { /** - * Properties of an EndpointConfig. + * Properties of a GkeClusterConfig. * @memberof google.cloud.dataproc.v1 - * @interface IEndpointConfig - * @property {Object.|null} [httpPorts] EndpointConfig httpPorts - * @property {boolean|null} [enableHttpPortAccess] EndpointConfig enableHttpPortAccess + * @interface IGkeClusterConfig + * @property {google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget|null} [namespacedGkeDeploymentTarget] GkeClusterConfig namespacedGkeDeploymentTarget */ /** - * Constructs a new EndpointConfig. + * Constructs a new GkeClusterConfig. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents an EndpointConfig. - * @implements IEndpointConfig + * @classdesc Represents a GkeClusterConfig. + * @implements IGkeClusterConfig * @constructor - * @param {google.cloud.dataproc.v1.IEndpointConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IGkeClusterConfig=} [properties] Properties to set */ - function EndpointConfig(properties) { - this.httpPorts = {}; + function GkeClusterConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -3753,108 +3871,75 @@ } /** - * EndpointConfig httpPorts. - * @member {Object.} httpPorts - * @memberof google.cloud.dataproc.v1.EndpointConfig - * @instance - */ - EndpointConfig.prototype.httpPorts = $util.emptyObject; - - /** - * EndpointConfig enableHttpPortAccess. - * @member {boolean} enableHttpPortAccess - * @memberof google.cloud.dataproc.v1.EndpointConfig + * GkeClusterConfig namespacedGkeDeploymentTarget. + * @member {google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget|null|undefined} namespacedGkeDeploymentTarget + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @instance */ - EndpointConfig.prototype.enableHttpPortAccess = false; + GkeClusterConfig.prototype.namespacedGkeDeploymentTarget = null; /** - * Creates a new EndpointConfig instance using the specified properties. + * Creates a new GkeClusterConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.EndpointConfig + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @static - * @param {google.cloud.dataproc.v1.IEndpointConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.EndpointConfig} EndpointConfig instance + * @param {google.cloud.dataproc.v1.IGkeClusterConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.GkeClusterConfig} GkeClusterConfig instance */ - EndpointConfig.create = function create(properties) { - return new EndpointConfig(properties); + GkeClusterConfig.create = function create(properties) { + return new GkeClusterConfig(properties); }; /** - * Encodes the specified EndpointConfig message. Does not implicitly {@link google.cloud.dataproc.v1.EndpointConfig.verify|verify} messages. + * Encodes the specified GkeClusterConfig message. Does not implicitly {@link google.cloud.dataproc.v1.GkeClusterConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.EndpointConfig + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @static - * @param {google.cloud.dataproc.v1.IEndpointConfig} message EndpointConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IGkeClusterConfig} message GkeClusterConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EndpointConfig.encode = function encode(message, writer) { + GkeClusterConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.httpPorts != null && Object.hasOwnProperty.call(message, "httpPorts")) - for (var keys = Object.keys(message.httpPorts), i = 0; i < keys.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.httpPorts[keys[i]]).ldelim(); - if (message.enableHttpPortAccess != null && Object.hasOwnProperty.call(message, "enableHttpPortAccess")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.enableHttpPortAccess); + if (message.namespacedGkeDeploymentTarget != null && Object.hasOwnProperty.call(message, "namespacedGkeDeploymentTarget")) + $root.google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget.encode(message.namespacedGkeDeploymentTarget, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified EndpointConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.EndpointConfig.verify|verify} messages. + * Encodes the specified GkeClusterConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.GkeClusterConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.EndpointConfig + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @static - * @param {google.cloud.dataproc.v1.IEndpointConfig} message EndpointConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IGkeClusterConfig} message GkeClusterConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EndpointConfig.encodeDelimited = function encodeDelimited(message, writer) { + GkeClusterConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EndpointConfig message from the specified reader or buffer. + * Decodes a GkeClusterConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.EndpointConfig + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.EndpointConfig} EndpointConfig + * @returns {google.cloud.dataproc.v1.GkeClusterConfig} GkeClusterConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EndpointConfig.decode = function decode(reader, length) { + GkeClusterConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.EndpointConfig(), key, value; + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.GkeClusterConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (message.httpPorts === $util.emptyObject) - message.httpPorts = {}; - var end2 = reader.uint32() + reader.pos; - key = ""; - value = ""; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.string(); - break; - case 2: - value = reader.string(); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.httpPorts[key] = value; - break; - case 2: - message.enableHttpPortAccess = reader.bool(); + message.namespacedGkeDeploymentTarget = $root.google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -3865,130 +3950,2386 @@ }; /** - * Decodes an EndpointConfig message from the specified reader or buffer, length delimited. + * Decodes a GkeClusterConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.EndpointConfig + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.EndpointConfig} EndpointConfig + * @returns {google.cloud.dataproc.v1.GkeClusterConfig} GkeClusterConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EndpointConfig.decodeDelimited = function decodeDelimited(reader) { + GkeClusterConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EndpointConfig message. + * Verifies a GkeClusterConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.EndpointConfig + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EndpointConfig.verify = function verify(message) { + GkeClusterConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.httpPorts != null && message.hasOwnProperty("httpPorts")) { - if (!$util.isObject(message.httpPorts)) - return "httpPorts: object expected"; - var key = Object.keys(message.httpPorts); - for (var i = 0; i < key.length; ++i) - if (!$util.isString(message.httpPorts[key[i]])) - return "httpPorts: string{k:string} expected"; + if (message.namespacedGkeDeploymentTarget != null && message.hasOwnProperty("namespacedGkeDeploymentTarget")) { + var error = $root.google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget.verify(message.namespacedGkeDeploymentTarget); + if (error) + return "namespacedGkeDeploymentTarget." + error; } - if (message.enableHttpPortAccess != null && message.hasOwnProperty("enableHttpPortAccess")) - if (typeof message.enableHttpPortAccess !== "boolean") - return "enableHttpPortAccess: boolean expected"; return null; }; /** - * Creates an EndpointConfig message from a plain object. Also converts values to their respective internal types. + * Creates a GkeClusterConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.EndpointConfig + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.EndpointConfig} EndpointConfig + * @returns {google.cloud.dataproc.v1.GkeClusterConfig} GkeClusterConfig */ - EndpointConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.EndpointConfig) + GkeClusterConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.GkeClusterConfig) return object; - var message = new $root.google.cloud.dataproc.v1.EndpointConfig(); - if (object.httpPorts) { - if (typeof object.httpPorts !== "object") - throw TypeError(".google.cloud.dataproc.v1.EndpointConfig.httpPorts: object expected"); - message.httpPorts = {}; - for (var keys = Object.keys(object.httpPorts), i = 0; i < keys.length; ++i) - message.httpPorts[keys[i]] = String(object.httpPorts[keys[i]]); + var message = new $root.google.cloud.dataproc.v1.GkeClusterConfig(); + if (object.namespacedGkeDeploymentTarget != null) { + if (typeof object.namespacedGkeDeploymentTarget !== "object") + throw TypeError(".google.cloud.dataproc.v1.GkeClusterConfig.namespacedGkeDeploymentTarget: object expected"); + message.namespacedGkeDeploymentTarget = $root.google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget.fromObject(object.namespacedGkeDeploymentTarget); } - if (object.enableHttpPortAccess != null) - message.enableHttpPortAccess = Boolean(object.enableHttpPortAccess); return message; }; /** - * Creates a plain object from an EndpointConfig message. Also converts values to other types if specified. + * Creates a plain object from a GkeClusterConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.EndpointConfig + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @static - * @param {google.cloud.dataproc.v1.EndpointConfig} message EndpointConfig + * @param {google.cloud.dataproc.v1.GkeClusterConfig} message GkeClusterConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EndpointConfig.toObject = function toObject(message, options) { + GkeClusterConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.objects || options.defaults) - object.httpPorts = {}; if (options.defaults) - object.enableHttpPortAccess = false; - var keys2; - if (message.httpPorts && (keys2 = Object.keys(message.httpPorts)).length) { - object.httpPorts = {}; - for (var j = 0; j < keys2.length; ++j) - object.httpPorts[keys2[j]] = message.httpPorts[keys2[j]]; - } - if (message.enableHttpPortAccess != null && message.hasOwnProperty("enableHttpPortAccess")) - object.enableHttpPortAccess = message.enableHttpPortAccess; + object.namespacedGkeDeploymentTarget = null; + if (message.namespacedGkeDeploymentTarget != null && message.hasOwnProperty("namespacedGkeDeploymentTarget")) + object.namespacedGkeDeploymentTarget = $root.google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget.toObject(message.namespacedGkeDeploymentTarget, options); return object; }; /** - * Converts this EndpointConfig to JSON. + * Converts this GkeClusterConfig to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.EndpointConfig + * @memberof google.cloud.dataproc.v1.GkeClusterConfig * @instance * @returns {Object.} JSON object */ - EndpointConfig.prototype.toJSON = function toJSON() { + GkeClusterConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EndpointConfig; - })(); + GkeClusterConfig.NamespacedGkeDeploymentTarget = (function() { - v1.AutoscalingConfig = (function() { + /** + * Properties of a NamespacedGkeDeploymentTarget. + * @memberof google.cloud.dataproc.v1.GkeClusterConfig + * @interface INamespacedGkeDeploymentTarget + * @property {string|null} [targetGkeCluster] NamespacedGkeDeploymentTarget targetGkeCluster + * @property {string|null} [clusterNamespace] NamespacedGkeDeploymentTarget clusterNamespace + */ - /** - * Properties of an AutoscalingConfig. - * @memberof google.cloud.dataproc.v1 - * @interface IAutoscalingConfig - * @property {string|null} [policyUri] AutoscalingConfig policyUri - */ + /** + * Constructs a new NamespacedGkeDeploymentTarget. + * @memberof google.cloud.dataproc.v1.GkeClusterConfig + * @classdesc Represents a NamespacedGkeDeploymentTarget. + * @implements INamespacedGkeDeploymentTarget + * @constructor + * @param {google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget=} [properties] Properties to set + */ + function NamespacedGkeDeploymentTarget(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new AutoscalingConfig. - * @memberof google.cloud.dataproc.v1 - * @classdesc Represents an AutoscalingConfig. - * @implements IAutoscalingConfig + /** + * NamespacedGkeDeploymentTarget targetGkeCluster. + * @member {string} targetGkeCluster + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @instance + */ + NamespacedGkeDeploymentTarget.prototype.targetGkeCluster = ""; + + /** + * NamespacedGkeDeploymentTarget clusterNamespace. + * @member {string} clusterNamespace + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @instance + */ + NamespacedGkeDeploymentTarget.prototype.clusterNamespace = ""; + + /** + * Creates a new NamespacedGkeDeploymentTarget instance using the specified properties. + * @function create + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @static + * @param {google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget} NamespacedGkeDeploymentTarget instance + */ + NamespacedGkeDeploymentTarget.create = function create(properties) { + return new NamespacedGkeDeploymentTarget(properties); + }; + + /** + * Encodes the specified NamespacedGkeDeploymentTarget message. Does not implicitly {@link google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget.verify|verify} messages. + * @function encode + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @static + * @param {google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget} message NamespacedGkeDeploymentTarget message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamespacedGkeDeploymentTarget.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.targetGkeCluster != null && Object.hasOwnProperty.call(message, "targetGkeCluster")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.targetGkeCluster); + if (message.clusterNamespace != null && Object.hasOwnProperty.call(message, "clusterNamespace")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.clusterNamespace); + return writer; + }; + + /** + * Encodes the specified NamespacedGkeDeploymentTarget message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @static + * @param {google.cloud.dataproc.v1.GkeClusterConfig.INamespacedGkeDeploymentTarget} message NamespacedGkeDeploymentTarget message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamespacedGkeDeploymentTarget.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NamespacedGkeDeploymentTarget message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget} NamespacedGkeDeploymentTarget + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamespacedGkeDeploymentTarget.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.targetGkeCluster = reader.string(); + break; + case 2: + message.clusterNamespace = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NamespacedGkeDeploymentTarget message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget} NamespacedGkeDeploymentTarget + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamespacedGkeDeploymentTarget.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NamespacedGkeDeploymentTarget message. + * @function verify + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NamespacedGkeDeploymentTarget.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.targetGkeCluster != null && message.hasOwnProperty("targetGkeCluster")) + if (!$util.isString(message.targetGkeCluster)) + return "targetGkeCluster: string expected"; + if (message.clusterNamespace != null && message.hasOwnProperty("clusterNamespace")) + if (!$util.isString(message.clusterNamespace)) + return "clusterNamespace: string expected"; + return null; + }; + + /** + * Creates a NamespacedGkeDeploymentTarget message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget} NamespacedGkeDeploymentTarget + */ + NamespacedGkeDeploymentTarget.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget) + return object; + var message = new $root.google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget(); + if (object.targetGkeCluster != null) + message.targetGkeCluster = String(object.targetGkeCluster); + if (object.clusterNamespace != null) + message.clusterNamespace = String(object.clusterNamespace); + return message; + }; + + /** + * Creates a plain object from a NamespacedGkeDeploymentTarget message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @static + * @param {google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget} message NamespacedGkeDeploymentTarget + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NamespacedGkeDeploymentTarget.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.targetGkeCluster = ""; + object.clusterNamespace = ""; + } + if (message.targetGkeCluster != null && message.hasOwnProperty("targetGkeCluster")) + object.targetGkeCluster = message.targetGkeCluster; + if (message.clusterNamespace != null && message.hasOwnProperty("clusterNamespace")) + object.clusterNamespace = message.clusterNamespace; + return object; + }; + + /** + * Converts this NamespacedGkeDeploymentTarget to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.GkeClusterConfig.NamespacedGkeDeploymentTarget + * @instance + * @returns {Object.} JSON object + */ + NamespacedGkeDeploymentTarget.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NamespacedGkeDeploymentTarget; + })(); + + return GkeClusterConfig; + })(); + + v1.EndpointConfig = (function() { + + /** + * Properties of an EndpointConfig. + * @memberof google.cloud.dataproc.v1 + * @interface IEndpointConfig + * @property {Object.|null} [httpPorts] EndpointConfig httpPorts + * @property {boolean|null} [enableHttpPortAccess] EndpointConfig enableHttpPortAccess + */ + + /** + * Constructs a new EndpointConfig. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents an EndpointConfig. + * @implements IEndpointConfig + * @constructor + * @param {google.cloud.dataproc.v1.IEndpointConfig=} [properties] Properties to set + */ + function EndpointConfig(properties) { + this.httpPorts = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EndpointConfig httpPorts. + * @member {Object.} httpPorts + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @instance + */ + EndpointConfig.prototype.httpPorts = $util.emptyObject; + + /** + * EndpointConfig enableHttpPortAccess. + * @member {boolean} enableHttpPortAccess + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @instance + */ + EndpointConfig.prototype.enableHttpPortAccess = false; + + /** + * Creates a new EndpointConfig instance using the specified properties. + * @function create + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @static + * @param {google.cloud.dataproc.v1.IEndpointConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.EndpointConfig} EndpointConfig instance + */ + EndpointConfig.create = function create(properties) { + return new EndpointConfig(properties); + }; + + /** + * Encodes the specified EndpointConfig message. Does not implicitly {@link google.cloud.dataproc.v1.EndpointConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @static + * @param {google.cloud.dataproc.v1.IEndpointConfig} message EndpointConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EndpointConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.httpPorts != null && Object.hasOwnProperty.call(message, "httpPorts")) + for (var keys = Object.keys(message.httpPorts), i = 0; i < keys.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.httpPorts[keys[i]]).ldelim(); + if (message.enableHttpPortAccess != null && Object.hasOwnProperty.call(message, "enableHttpPortAccess")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.enableHttpPortAccess); + return writer; + }; + + /** + * Encodes the specified EndpointConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.EndpointConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @static + * @param {google.cloud.dataproc.v1.IEndpointConfig} message EndpointConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EndpointConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EndpointConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.dataproc.v1.EndpointConfig} EndpointConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EndpointConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.EndpointConfig(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (message.httpPorts === $util.emptyObject) + message.httpPorts = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.httpPorts[key] = value; + break; + case 2: + message.enableHttpPortAccess = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EndpointConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.dataproc.v1.EndpointConfig} EndpointConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EndpointConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EndpointConfig message. + * @function verify + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EndpointConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.httpPorts != null && message.hasOwnProperty("httpPorts")) { + if (!$util.isObject(message.httpPorts)) + return "httpPorts: object expected"; + var key = Object.keys(message.httpPorts); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.httpPorts[key[i]])) + return "httpPorts: string{k:string} expected"; + } + if (message.enableHttpPortAccess != null && message.hasOwnProperty("enableHttpPortAccess")) + if (typeof message.enableHttpPortAccess !== "boolean") + return "enableHttpPortAccess: boolean expected"; + return null; + }; + + /** + * Creates an EndpointConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dataproc.v1.EndpointConfig} EndpointConfig + */ + EndpointConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.EndpointConfig) + return object; + var message = new $root.google.cloud.dataproc.v1.EndpointConfig(); + if (object.httpPorts) { + if (typeof object.httpPorts !== "object") + throw TypeError(".google.cloud.dataproc.v1.EndpointConfig.httpPorts: object expected"); + message.httpPorts = {}; + for (var keys = Object.keys(object.httpPorts), i = 0; i < keys.length; ++i) + message.httpPorts[keys[i]] = String(object.httpPorts[keys[i]]); + } + if (object.enableHttpPortAccess != null) + message.enableHttpPortAccess = Boolean(object.enableHttpPortAccess); + return message; + }; + + /** + * Creates a plain object from an EndpointConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @static + * @param {google.cloud.dataproc.v1.EndpointConfig} message EndpointConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EndpointConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.httpPorts = {}; + if (options.defaults) + object.enableHttpPortAccess = false; + var keys2; + if (message.httpPorts && (keys2 = Object.keys(message.httpPorts)).length) { + object.httpPorts = {}; + for (var j = 0; j < keys2.length; ++j) + object.httpPorts[keys2[j]] = message.httpPorts[keys2[j]]; + } + if (message.enableHttpPortAccess != null && message.hasOwnProperty("enableHttpPortAccess")) + object.enableHttpPortAccess = message.enableHttpPortAccess; + return object; + }; + + /** + * Converts this EndpointConfig to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.EndpointConfig + * @instance + * @returns {Object.} JSON object + */ + EndpointConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EndpointConfig; + })(); + + v1.AutoscalingConfig = (function() { + + /** + * Properties of an AutoscalingConfig. + * @memberof google.cloud.dataproc.v1 + * @interface IAutoscalingConfig + * @property {string|null} [policyUri] AutoscalingConfig policyUri + */ + + /** + * Constructs a new AutoscalingConfig. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents an AutoscalingConfig. + * @implements IAutoscalingConfig + * @constructor + * @param {google.cloud.dataproc.v1.IAutoscalingConfig=} [properties] Properties to set + */ + function AutoscalingConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AutoscalingConfig policyUri. + * @member {string} policyUri + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @instance + */ + AutoscalingConfig.prototype.policyUri = ""; + + /** + * Creates a new AutoscalingConfig instance using the specified properties. + * @function create + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @static + * @param {google.cloud.dataproc.v1.IAutoscalingConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.AutoscalingConfig} AutoscalingConfig instance + */ + AutoscalingConfig.create = function create(properties) { + return new AutoscalingConfig(properties); + }; + + /** + * Encodes the specified AutoscalingConfig message. Does not implicitly {@link google.cloud.dataproc.v1.AutoscalingConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @static + * @param {google.cloud.dataproc.v1.IAutoscalingConfig} message AutoscalingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AutoscalingConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.policyUri != null && Object.hasOwnProperty.call(message, "policyUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.policyUri); + return writer; + }; + + /** + * Encodes the specified AutoscalingConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.AutoscalingConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @static + * @param {google.cloud.dataproc.v1.IAutoscalingConfig} message AutoscalingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AutoscalingConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AutoscalingConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.dataproc.v1.AutoscalingConfig} AutoscalingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AutoscalingConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.AutoscalingConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.policyUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AutoscalingConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.dataproc.v1.AutoscalingConfig} AutoscalingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AutoscalingConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AutoscalingConfig message. + * @function verify + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AutoscalingConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.policyUri != null && message.hasOwnProperty("policyUri")) + if (!$util.isString(message.policyUri)) + return "policyUri: string expected"; + return null; + }; + + /** + * Creates an AutoscalingConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dataproc.v1.AutoscalingConfig} AutoscalingConfig + */ + AutoscalingConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.AutoscalingConfig) + return object; + var message = new $root.google.cloud.dataproc.v1.AutoscalingConfig(); + if (object.policyUri != null) + message.policyUri = String(object.policyUri); + return message; + }; + + /** + * Creates a plain object from an AutoscalingConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @static + * @param {google.cloud.dataproc.v1.AutoscalingConfig} message AutoscalingConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AutoscalingConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.policyUri = ""; + if (message.policyUri != null && message.hasOwnProperty("policyUri")) + object.policyUri = message.policyUri; + return object; + }; + + /** + * Converts this AutoscalingConfig to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @instance + * @returns {Object.} JSON object + */ + AutoscalingConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AutoscalingConfig; + })(); + + v1.EncryptionConfig = (function() { + + /** + * Properties of an EncryptionConfig. + * @memberof google.cloud.dataproc.v1 + * @interface IEncryptionConfig + * @property {string|null} [gcePdKmsKeyName] EncryptionConfig gcePdKmsKeyName + */ + + /** + * Constructs a new EncryptionConfig. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents an EncryptionConfig. + * @implements IEncryptionConfig + * @constructor + * @param {google.cloud.dataproc.v1.IEncryptionConfig=} [properties] Properties to set + */ + function EncryptionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EncryptionConfig gcePdKmsKeyName. + * @member {string} gcePdKmsKeyName + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @instance + */ + EncryptionConfig.prototype.gcePdKmsKeyName = ""; + + /** + * Creates a new EncryptionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @static + * @param {google.cloud.dataproc.v1.IEncryptionConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.EncryptionConfig} EncryptionConfig instance + */ + EncryptionConfig.create = function create(properties) { + return new EncryptionConfig(properties); + }; + + /** + * Encodes the specified EncryptionConfig message. Does not implicitly {@link google.cloud.dataproc.v1.EncryptionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @static + * @param {google.cloud.dataproc.v1.IEncryptionConfig} message EncryptionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EncryptionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcePdKmsKeyName != null && Object.hasOwnProperty.call(message, "gcePdKmsKeyName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcePdKmsKeyName); + return writer; + }; + + /** + * Encodes the specified EncryptionConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.EncryptionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @static + * @param {google.cloud.dataproc.v1.IEncryptionConfig} message EncryptionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EncryptionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EncryptionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.dataproc.v1.EncryptionConfig} EncryptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EncryptionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.EncryptionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcePdKmsKeyName = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EncryptionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.dataproc.v1.EncryptionConfig} EncryptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EncryptionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EncryptionConfig message. + * @function verify + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EncryptionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcePdKmsKeyName != null && message.hasOwnProperty("gcePdKmsKeyName")) + if (!$util.isString(message.gcePdKmsKeyName)) + return "gcePdKmsKeyName: string expected"; + return null; + }; + + /** + * Creates an EncryptionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dataproc.v1.EncryptionConfig} EncryptionConfig + */ + EncryptionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.EncryptionConfig) + return object; + var message = new $root.google.cloud.dataproc.v1.EncryptionConfig(); + if (object.gcePdKmsKeyName != null) + message.gcePdKmsKeyName = String(object.gcePdKmsKeyName); + return message; + }; + + /** + * Creates a plain object from an EncryptionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @static + * @param {google.cloud.dataproc.v1.EncryptionConfig} message EncryptionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EncryptionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.gcePdKmsKeyName = ""; + if (message.gcePdKmsKeyName != null && message.hasOwnProperty("gcePdKmsKeyName")) + object.gcePdKmsKeyName = message.gcePdKmsKeyName; + return object; + }; + + /** + * Converts this EncryptionConfig to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @instance + * @returns {Object.} JSON object + */ + EncryptionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EncryptionConfig; + })(); + + v1.GceClusterConfig = (function() { + + /** + * Properties of a GceClusterConfig. + * @memberof google.cloud.dataproc.v1 + * @interface IGceClusterConfig + * @property {string|null} [zoneUri] GceClusterConfig zoneUri + * @property {string|null} [networkUri] GceClusterConfig networkUri + * @property {string|null} [subnetworkUri] GceClusterConfig subnetworkUri + * @property {boolean|null} [internalIpOnly] GceClusterConfig internalIpOnly + * @property {google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess|null} [privateIpv6GoogleAccess] GceClusterConfig privateIpv6GoogleAccess + * @property {string|null} [serviceAccount] GceClusterConfig serviceAccount + * @property {Array.|null} [serviceAccountScopes] GceClusterConfig serviceAccountScopes + * @property {Array.|null} [tags] GceClusterConfig tags + * @property {Object.|null} [metadata] GceClusterConfig metadata + * @property {google.cloud.dataproc.v1.IReservationAffinity|null} [reservationAffinity] GceClusterConfig reservationAffinity + * @property {google.cloud.dataproc.v1.INodeGroupAffinity|null} [nodeGroupAffinity] GceClusterConfig nodeGroupAffinity + * @property {google.cloud.dataproc.v1.IShieldedInstanceConfig|null} [shieldedInstanceConfig] GceClusterConfig shieldedInstanceConfig + */ + + /** + * Constructs a new GceClusterConfig. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents a GceClusterConfig. + * @implements IGceClusterConfig + * @constructor + * @param {google.cloud.dataproc.v1.IGceClusterConfig=} [properties] Properties to set + */ + function GceClusterConfig(properties) { + this.serviceAccountScopes = []; + this.tags = []; + this.metadata = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GceClusterConfig zoneUri. + * @member {string} zoneUri + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.zoneUri = ""; + + /** + * GceClusterConfig networkUri. + * @member {string} networkUri + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.networkUri = ""; + + /** + * GceClusterConfig subnetworkUri. + * @member {string} subnetworkUri + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.subnetworkUri = ""; + + /** + * GceClusterConfig internalIpOnly. + * @member {boolean} internalIpOnly + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.internalIpOnly = false; + + /** + * GceClusterConfig privateIpv6GoogleAccess. + * @member {google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess} privateIpv6GoogleAccess + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.privateIpv6GoogleAccess = 0; + + /** + * GceClusterConfig serviceAccount. + * @member {string} serviceAccount + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.serviceAccount = ""; + + /** + * GceClusterConfig serviceAccountScopes. + * @member {Array.} serviceAccountScopes + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.serviceAccountScopes = $util.emptyArray; + + /** + * GceClusterConfig tags. + * @member {Array.} tags + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.tags = $util.emptyArray; + + /** + * GceClusterConfig metadata. + * @member {Object.} metadata + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.metadata = $util.emptyObject; + + /** + * GceClusterConfig reservationAffinity. + * @member {google.cloud.dataproc.v1.IReservationAffinity|null|undefined} reservationAffinity + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.reservationAffinity = null; + + /** + * GceClusterConfig nodeGroupAffinity. + * @member {google.cloud.dataproc.v1.INodeGroupAffinity|null|undefined} nodeGroupAffinity + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.nodeGroupAffinity = null; + + /** + * GceClusterConfig shieldedInstanceConfig. + * @member {google.cloud.dataproc.v1.IShieldedInstanceConfig|null|undefined} shieldedInstanceConfig + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + */ + GceClusterConfig.prototype.shieldedInstanceConfig = null; + + /** + * Creates a new GceClusterConfig instance using the specified properties. + * @function create + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @static + * @param {google.cloud.dataproc.v1.IGceClusterConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.GceClusterConfig} GceClusterConfig instance + */ + GceClusterConfig.create = function create(properties) { + return new GceClusterConfig(properties); + }; + + /** + * Encodes the specified GceClusterConfig message. Does not implicitly {@link google.cloud.dataproc.v1.GceClusterConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @static + * @param {google.cloud.dataproc.v1.IGceClusterConfig} message GceClusterConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GceClusterConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.zoneUri != null && Object.hasOwnProperty.call(message, "zoneUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.zoneUri); + if (message.networkUri != null && Object.hasOwnProperty.call(message, "networkUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.networkUri); + if (message.serviceAccountScopes != null && message.serviceAccountScopes.length) + for (var i = 0; i < message.serviceAccountScopes.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.serviceAccountScopes[i]); + if (message.tags != null && message.tags.length) + for (var i = 0; i < message.tags.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.tags[i]); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + for (var keys = Object.keys(message.metadata), i = 0; i < keys.length; ++i) + writer.uint32(/* id 5, wireType 2 =*/42).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.metadata[keys[i]]).ldelim(); + if (message.subnetworkUri != null && Object.hasOwnProperty.call(message, "subnetworkUri")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.subnetworkUri); + if (message.internalIpOnly != null && Object.hasOwnProperty.call(message, "internalIpOnly")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.internalIpOnly); + if (message.serviceAccount != null && Object.hasOwnProperty.call(message, "serviceAccount")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.serviceAccount); + if (message.reservationAffinity != null && Object.hasOwnProperty.call(message, "reservationAffinity")) + $root.google.cloud.dataproc.v1.ReservationAffinity.encode(message.reservationAffinity, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.privateIpv6GoogleAccess != null && Object.hasOwnProperty.call(message, "privateIpv6GoogleAccess")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.privateIpv6GoogleAccess); + if (message.nodeGroupAffinity != null && Object.hasOwnProperty.call(message, "nodeGroupAffinity")) + $root.google.cloud.dataproc.v1.NodeGroupAffinity.encode(message.nodeGroupAffinity, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.shieldedInstanceConfig != null && Object.hasOwnProperty.call(message, "shieldedInstanceConfig")) + $root.google.cloud.dataproc.v1.ShieldedInstanceConfig.encode(message.shieldedInstanceConfig, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GceClusterConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.GceClusterConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @static + * @param {google.cloud.dataproc.v1.IGceClusterConfig} message GceClusterConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GceClusterConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GceClusterConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.dataproc.v1.GceClusterConfig} GceClusterConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GceClusterConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.GceClusterConfig(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.zoneUri = reader.string(); + break; + case 2: + message.networkUri = reader.string(); + break; + case 6: + message.subnetworkUri = reader.string(); + break; + case 7: + message.internalIpOnly = reader.bool(); + break; + case 12: + message.privateIpv6GoogleAccess = reader.int32(); + break; + case 8: + message.serviceAccount = reader.string(); + break; + case 3: + if (!(message.serviceAccountScopes && message.serviceAccountScopes.length)) + message.serviceAccountScopes = []; + message.serviceAccountScopes.push(reader.string()); + break; + case 4: + if (!(message.tags && message.tags.length)) + message.tags = []; + message.tags.push(reader.string()); + break; + case 5: + if (message.metadata === $util.emptyObject) + message.metadata = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.metadata[key] = value; + break; + case 11: + message.reservationAffinity = $root.google.cloud.dataproc.v1.ReservationAffinity.decode(reader, reader.uint32()); + break; + case 13: + message.nodeGroupAffinity = $root.google.cloud.dataproc.v1.NodeGroupAffinity.decode(reader, reader.uint32()); + break; + case 14: + message.shieldedInstanceConfig = $root.google.cloud.dataproc.v1.ShieldedInstanceConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GceClusterConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.dataproc.v1.GceClusterConfig} GceClusterConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GceClusterConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GceClusterConfig message. + * @function verify + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GceClusterConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.zoneUri != null && message.hasOwnProperty("zoneUri")) + if (!$util.isString(message.zoneUri)) + return "zoneUri: string expected"; + if (message.networkUri != null && message.hasOwnProperty("networkUri")) + if (!$util.isString(message.networkUri)) + return "networkUri: string expected"; + if (message.subnetworkUri != null && message.hasOwnProperty("subnetworkUri")) + if (!$util.isString(message.subnetworkUri)) + return "subnetworkUri: string expected"; + if (message.internalIpOnly != null && message.hasOwnProperty("internalIpOnly")) + if (typeof message.internalIpOnly !== "boolean") + return "internalIpOnly: boolean expected"; + if (message.privateIpv6GoogleAccess != null && message.hasOwnProperty("privateIpv6GoogleAccess")) + switch (message.privateIpv6GoogleAccess) { + default: + return "privateIpv6GoogleAccess: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) + if (!$util.isString(message.serviceAccount)) + return "serviceAccount: string expected"; + if (message.serviceAccountScopes != null && message.hasOwnProperty("serviceAccountScopes")) { + if (!Array.isArray(message.serviceAccountScopes)) + return "serviceAccountScopes: array expected"; + for (var i = 0; i < message.serviceAccountScopes.length; ++i) + if (!$util.isString(message.serviceAccountScopes[i])) + return "serviceAccountScopes: string[] expected"; + } + if (message.tags != null && message.hasOwnProperty("tags")) { + if (!Array.isArray(message.tags)) + return "tags: array expected"; + for (var i = 0; i < message.tags.length; ++i) + if (!$util.isString(message.tags[i])) + return "tags: string[] expected"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + if (!$util.isObject(message.metadata)) + return "metadata: object expected"; + var key = Object.keys(message.metadata); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.metadata[key[i]])) + return "metadata: string{k:string} expected"; + } + if (message.reservationAffinity != null && message.hasOwnProperty("reservationAffinity")) { + var error = $root.google.cloud.dataproc.v1.ReservationAffinity.verify(message.reservationAffinity); + if (error) + return "reservationAffinity." + error; + } + if (message.nodeGroupAffinity != null && message.hasOwnProperty("nodeGroupAffinity")) { + var error = $root.google.cloud.dataproc.v1.NodeGroupAffinity.verify(message.nodeGroupAffinity); + if (error) + return "nodeGroupAffinity." + error; + } + if (message.shieldedInstanceConfig != null && message.hasOwnProperty("shieldedInstanceConfig")) { + var error = $root.google.cloud.dataproc.v1.ShieldedInstanceConfig.verify(message.shieldedInstanceConfig); + if (error) + return "shieldedInstanceConfig." + error; + } + return null; + }; + + /** + * Creates a GceClusterConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dataproc.v1.GceClusterConfig} GceClusterConfig + */ + GceClusterConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.GceClusterConfig) + return object; + var message = new $root.google.cloud.dataproc.v1.GceClusterConfig(); + if (object.zoneUri != null) + message.zoneUri = String(object.zoneUri); + if (object.networkUri != null) + message.networkUri = String(object.networkUri); + if (object.subnetworkUri != null) + message.subnetworkUri = String(object.subnetworkUri); + if (object.internalIpOnly != null) + message.internalIpOnly = Boolean(object.internalIpOnly); + switch (object.privateIpv6GoogleAccess) { + case "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED": + case 0: + message.privateIpv6GoogleAccess = 0; + break; + case "INHERIT_FROM_SUBNETWORK": + case 1: + message.privateIpv6GoogleAccess = 1; + break; + case "OUTBOUND": + case 2: + message.privateIpv6GoogleAccess = 2; + break; + case "BIDIRECTIONAL": + case 3: + message.privateIpv6GoogleAccess = 3; + break; + } + if (object.serviceAccount != null) + message.serviceAccount = String(object.serviceAccount); + if (object.serviceAccountScopes) { + if (!Array.isArray(object.serviceAccountScopes)) + throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.serviceAccountScopes: array expected"); + message.serviceAccountScopes = []; + for (var i = 0; i < object.serviceAccountScopes.length; ++i) + message.serviceAccountScopes[i] = String(object.serviceAccountScopes[i]); + } + if (object.tags) { + if (!Array.isArray(object.tags)) + throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.tags: array expected"); + message.tags = []; + for (var i = 0; i < object.tags.length; ++i) + message.tags[i] = String(object.tags[i]); + } + if (object.metadata) { + if (typeof object.metadata !== "object") + throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.metadata: object expected"); + message.metadata = {}; + for (var keys = Object.keys(object.metadata), i = 0; i < keys.length; ++i) + message.metadata[keys[i]] = String(object.metadata[keys[i]]); + } + if (object.reservationAffinity != null) { + if (typeof object.reservationAffinity !== "object") + throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.reservationAffinity: object expected"); + message.reservationAffinity = $root.google.cloud.dataproc.v1.ReservationAffinity.fromObject(object.reservationAffinity); + } + if (object.nodeGroupAffinity != null) { + if (typeof object.nodeGroupAffinity !== "object") + throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.nodeGroupAffinity: object expected"); + message.nodeGroupAffinity = $root.google.cloud.dataproc.v1.NodeGroupAffinity.fromObject(object.nodeGroupAffinity); + } + if (object.shieldedInstanceConfig != null) { + if (typeof object.shieldedInstanceConfig !== "object") + throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.shieldedInstanceConfig: object expected"); + message.shieldedInstanceConfig = $root.google.cloud.dataproc.v1.ShieldedInstanceConfig.fromObject(object.shieldedInstanceConfig); + } + return message; + }; + + /** + * Creates a plain object from a GceClusterConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @static + * @param {google.cloud.dataproc.v1.GceClusterConfig} message GceClusterConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GceClusterConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.serviceAccountScopes = []; + object.tags = []; + } + if (options.objects || options.defaults) + object.metadata = {}; + if (options.defaults) { + object.zoneUri = ""; + object.networkUri = ""; + object.subnetworkUri = ""; + object.internalIpOnly = false; + object.serviceAccount = ""; + object.reservationAffinity = null; + object.privateIpv6GoogleAccess = options.enums === String ? "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED" : 0; + object.nodeGroupAffinity = null; + object.shieldedInstanceConfig = null; + } + if (message.zoneUri != null && message.hasOwnProperty("zoneUri")) + object.zoneUri = message.zoneUri; + if (message.networkUri != null && message.hasOwnProperty("networkUri")) + object.networkUri = message.networkUri; + if (message.serviceAccountScopes && message.serviceAccountScopes.length) { + object.serviceAccountScopes = []; + for (var j = 0; j < message.serviceAccountScopes.length; ++j) + object.serviceAccountScopes[j] = message.serviceAccountScopes[j]; + } + if (message.tags && message.tags.length) { + object.tags = []; + for (var j = 0; j < message.tags.length; ++j) + object.tags[j] = message.tags[j]; + } + var keys2; + if (message.metadata && (keys2 = Object.keys(message.metadata)).length) { + object.metadata = {}; + for (var j = 0; j < keys2.length; ++j) + object.metadata[keys2[j]] = message.metadata[keys2[j]]; + } + if (message.subnetworkUri != null && message.hasOwnProperty("subnetworkUri")) + object.subnetworkUri = message.subnetworkUri; + if (message.internalIpOnly != null && message.hasOwnProperty("internalIpOnly")) + object.internalIpOnly = message.internalIpOnly; + if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) + object.serviceAccount = message.serviceAccount; + if (message.reservationAffinity != null && message.hasOwnProperty("reservationAffinity")) + object.reservationAffinity = $root.google.cloud.dataproc.v1.ReservationAffinity.toObject(message.reservationAffinity, options); + if (message.privateIpv6GoogleAccess != null && message.hasOwnProperty("privateIpv6GoogleAccess")) + object.privateIpv6GoogleAccess = options.enums === String ? $root.google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess[message.privateIpv6GoogleAccess] : message.privateIpv6GoogleAccess; + if (message.nodeGroupAffinity != null && message.hasOwnProperty("nodeGroupAffinity")) + object.nodeGroupAffinity = $root.google.cloud.dataproc.v1.NodeGroupAffinity.toObject(message.nodeGroupAffinity, options); + if (message.shieldedInstanceConfig != null && message.hasOwnProperty("shieldedInstanceConfig")) + object.shieldedInstanceConfig = $root.google.cloud.dataproc.v1.ShieldedInstanceConfig.toObject(message.shieldedInstanceConfig, options); + return object; + }; + + /** + * Converts this GceClusterConfig to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @instance + * @returns {Object.} JSON object + */ + GceClusterConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * PrivateIpv6GoogleAccess enum. + * @name google.cloud.dataproc.v1.GceClusterConfig.PrivateIpv6GoogleAccess + * @enum {number} + * @property {number} PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED=0 PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED value + * @property {number} INHERIT_FROM_SUBNETWORK=1 INHERIT_FROM_SUBNETWORK value + * @property {number} OUTBOUND=2 OUTBOUND value + * @property {number} BIDIRECTIONAL=3 BIDIRECTIONAL value + */ + GceClusterConfig.PrivateIpv6GoogleAccess = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED"] = 0; + values[valuesById[1] = "INHERIT_FROM_SUBNETWORK"] = 1; + values[valuesById[2] = "OUTBOUND"] = 2; + values[valuesById[3] = "BIDIRECTIONAL"] = 3; + return values; + })(); + + return GceClusterConfig; + })(); + + v1.NodeGroupAffinity = (function() { + + /** + * Properties of a NodeGroupAffinity. + * @memberof google.cloud.dataproc.v1 + * @interface INodeGroupAffinity + * @property {string|null} [nodeGroupUri] NodeGroupAffinity nodeGroupUri + */ + + /** + * Constructs a new NodeGroupAffinity. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents a NodeGroupAffinity. + * @implements INodeGroupAffinity + * @constructor + * @param {google.cloud.dataproc.v1.INodeGroupAffinity=} [properties] Properties to set + */ + function NodeGroupAffinity(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NodeGroupAffinity nodeGroupUri. + * @member {string} nodeGroupUri + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @instance + */ + NodeGroupAffinity.prototype.nodeGroupUri = ""; + + /** + * Creates a new NodeGroupAffinity instance using the specified properties. + * @function create + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @static + * @param {google.cloud.dataproc.v1.INodeGroupAffinity=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.NodeGroupAffinity} NodeGroupAffinity instance + */ + NodeGroupAffinity.create = function create(properties) { + return new NodeGroupAffinity(properties); + }; + + /** + * Encodes the specified NodeGroupAffinity message. Does not implicitly {@link google.cloud.dataproc.v1.NodeGroupAffinity.verify|verify} messages. + * @function encode + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @static + * @param {google.cloud.dataproc.v1.INodeGroupAffinity} message NodeGroupAffinity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodeGroupAffinity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.nodeGroupUri != null && Object.hasOwnProperty.call(message, "nodeGroupUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.nodeGroupUri); + return writer; + }; + + /** + * Encodes the specified NodeGroupAffinity message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.NodeGroupAffinity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @static + * @param {google.cloud.dataproc.v1.INodeGroupAffinity} message NodeGroupAffinity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodeGroupAffinity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NodeGroupAffinity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.dataproc.v1.NodeGroupAffinity} NodeGroupAffinity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodeGroupAffinity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.NodeGroupAffinity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.nodeGroupUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NodeGroupAffinity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.dataproc.v1.NodeGroupAffinity} NodeGroupAffinity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodeGroupAffinity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NodeGroupAffinity message. + * @function verify + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NodeGroupAffinity.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.nodeGroupUri != null && message.hasOwnProperty("nodeGroupUri")) + if (!$util.isString(message.nodeGroupUri)) + return "nodeGroupUri: string expected"; + return null; + }; + + /** + * Creates a NodeGroupAffinity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dataproc.v1.NodeGroupAffinity} NodeGroupAffinity + */ + NodeGroupAffinity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.NodeGroupAffinity) + return object; + var message = new $root.google.cloud.dataproc.v1.NodeGroupAffinity(); + if (object.nodeGroupUri != null) + message.nodeGroupUri = String(object.nodeGroupUri); + return message; + }; + + /** + * Creates a plain object from a NodeGroupAffinity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @static + * @param {google.cloud.dataproc.v1.NodeGroupAffinity} message NodeGroupAffinity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NodeGroupAffinity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.nodeGroupUri = ""; + if (message.nodeGroupUri != null && message.hasOwnProperty("nodeGroupUri")) + object.nodeGroupUri = message.nodeGroupUri; + return object; + }; + + /** + * Converts this NodeGroupAffinity to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.NodeGroupAffinity + * @instance + * @returns {Object.} JSON object + */ + NodeGroupAffinity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NodeGroupAffinity; + })(); + + v1.ShieldedInstanceConfig = (function() { + + /** + * Properties of a ShieldedInstanceConfig. + * @memberof google.cloud.dataproc.v1 + * @interface IShieldedInstanceConfig + * @property {boolean|null} [enableSecureBoot] ShieldedInstanceConfig enableSecureBoot + * @property {boolean|null} [enableVtpm] ShieldedInstanceConfig enableVtpm + * @property {boolean|null} [enableIntegrityMonitoring] ShieldedInstanceConfig enableIntegrityMonitoring + */ + + /** + * Constructs a new ShieldedInstanceConfig. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents a ShieldedInstanceConfig. + * @implements IShieldedInstanceConfig + * @constructor + * @param {google.cloud.dataproc.v1.IShieldedInstanceConfig=} [properties] Properties to set + */ + function ShieldedInstanceConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ShieldedInstanceConfig enableSecureBoot. + * @member {boolean} enableSecureBoot + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @instance + */ + ShieldedInstanceConfig.prototype.enableSecureBoot = false; + + /** + * ShieldedInstanceConfig enableVtpm. + * @member {boolean} enableVtpm + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @instance + */ + ShieldedInstanceConfig.prototype.enableVtpm = false; + + /** + * ShieldedInstanceConfig enableIntegrityMonitoring. + * @member {boolean} enableIntegrityMonitoring + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @instance + */ + ShieldedInstanceConfig.prototype.enableIntegrityMonitoring = false; + + /** + * Creates a new ShieldedInstanceConfig instance using the specified properties. + * @function create + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @static + * @param {google.cloud.dataproc.v1.IShieldedInstanceConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.ShieldedInstanceConfig} ShieldedInstanceConfig instance + */ + ShieldedInstanceConfig.create = function create(properties) { + return new ShieldedInstanceConfig(properties); + }; + + /** + * Encodes the specified ShieldedInstanceConfig message. Does not implicitly {@link google.cloud.dataproc.v1.ShieldedInstanceConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @static + * @param {google.cloud.dataproc.v1.IShieldedInstanceConfig} message ShieldedInstanceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShieldedInstanceConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enableSecureBoot != null && Object.hasOwnProperty.call(message, "enableSecureBoot")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableSecureBoot); + if (message.enableVtpm != null && Object.hasOwnProperty.call(message, "enableVtpm")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.enableVtpm); + if (message.enableIntegrityMonitoring != null && Object.hasOwnProperty.call(message, "enableIntegrityMonitoring")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.enableIntegrityMonitoring); + return writer; + }; + + /** + * Encodes the specified ShieldedInstanceConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.ShieldedInstanceConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @static + * @param {google.cloud.dataproc.v1.IShieldedInstanceConfig} message ShieldedInstanceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShieldedInstanceConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShieldedInstanceConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.dataproc.v1.ShieldedInstanceConfig} ShieldedInstanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShieldedInstanceConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.ShieldedInstanceConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.enableSecureBoot = reader.bool(); + break; + case 2: + message.enableVtpm = reader.bool(); + break; + case 3: + message.enableIntegrityMonitoring = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShieldedInstanceConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.dataproc.v1.ShieldedInstanceConfig} ShieldedInstanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShieldedInstanceConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShieldedInstanceConfig message. + * @function verify + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShieldedInstanceConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enableSecureBoot != null && message.hasOwnProperty("enableSecureBoot")) + if (typeof message.enableSecureBoot !== "boolean") + return "enableSecureBoot: boolean expected"; + if (message.enableVtpm != null && message.hasOwnProperty("enableVtpm")) + if (typeof message.enableVtpm !== "boolean") + return "enableVtpm: boolean expected"; + if (message.enableIntegrityMonitoring != null && message.hasOwnProperty("enableIntegrityMonitoring")) + if (typeof message.enableIntegrityMonitoring !== "boolean") + return "enableIntegrityMonitoring: boolean expected"; + return null; + }; + + /** + * Creates a ShieldedInstanceConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dataproc.v1.ShieldedInstanceConfig} ShieldedInstanceConfig + */ + ShieldedInstanceConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.ShieldedInstanceConfig) + return object; + var message = new $root.google.cloud.dataproc.v1.ShieldedInstanceConfig(); + if (object.enableSecureBoot != null) + message.enableSecureBoot = Boolean(object.enableSecureBoot); + if (object.enableVtpm != null) + message.enableVtpm = Boolean(object.enableVtpm); + if (object.enableIntegrityMonitoring != null) + message.enableIntegrityMonitoring = Boolean(object.enableIntegrityMonitoring); + return message; + }; + + /** + * Creates a plain object from a ShieldedInstanceConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @static + * @param {google.cloud.dataproc.v1.ShieldedInstanceConfig} message ShieldedInstanceConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShieldedInstanceConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.enableSecureBoot = false; + object.enableVtpm = false; + object.enableIntegrityMonitoring = false; + } + if (message.enableSecureBoot != null && message.hasOwnProperty("enableSecureBoot")) + object.enableSecureBoot = message.enableSecureBoot; + if (message.enableVtpm != null && message.hasOwnProperty("enableVtpm")) + object.enableVtpm = message.enableVtpm; + if (message.enableIntegrityMonitoring != null && message.hasOwnProperty("enableIntegrityMonitoring")) + object.enableIntegrityMonitoring = message.enableIntegrityMonitoring; + return object; + }; + + /** + * Converts this ShieldedInstanceConfig to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.ShieldedInstanceConfig + * @instance + * @returns {Object.} JSON object + */ + ShieldedInstanceConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ShieldedInstanceConfig; + })(); + + v1.InstanceGroupConfig = (function() { + + /** + * Properties of an InstanceGroupConfig. + * @memberof google.cloud.dataproc.v1 + * @interface IInstanceGroupConfig + * @property {number|null} [numInstances] InstanceGroupConfig numInstances + * @property {Array.|null} [instanceNames] InstanceGroupConfig instanceNames + * @property {string|null} [imageUri] InstanceGroupConfig imageUri + * @property {string|null} [machineTypeUri] InstanceGroupConfig machineTypeUri + * @property {google.cloud.dataproc.v1.IDiskConfig|null} [diskConfig] InstanceGroupConfig diskConfig + * @property {boolean|null} [isPreemptible] InstanceGroupConfig isPreemptible + * @property {google.cloud.dataproc.v1.InstanceGroupConfig.Preemptibility|null} [preemptibility] InstanceGroupConfig preemptibility + * @property {google.cloud.dataproc.v1.IManagedGroupConfig|null} [managedGroupConfig] InstanceGroupConfig managedGroupConfig + * @property {Array.|null} [accelerators] InstanceGroupConfig accelerators + * @property {string|null} [minCpuPlatform] InstanceGroupConfig minCpuPlatform + */ + + /** + * Constructs a new InstanceGroupConfig. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents an InstanceGroupConfig. + * @implements IInstanceGroupConfig + * @constructor + * @param {google.cloud.dataproc.v1.IInstanceGroupConfig=} [properties] Properties to set + */ + function InstanceGroupConfig(properties) { + this.instanceNames = []; + this.accelerators = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * InstanceGroupConfig numInstances. + * @member {number} numInstances + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.numInstances = 0; + + /** + * InstanceGroupConfig instanceNames. + * @member {Array.} instanceNames + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.instanceNames = $util.emptyArray; + + /** + * InstanceGroupConfig imageUri. + * @member {string} imageUri + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.imageUri = ""; + + /** + * InstanceGroupConfig machineTypeUri. + * @member {string} machineTypeUri + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.machineTypeUri = ""; + + /** + * InstanceGroupConfig diskConfig. + * @member {google.cloud.dataproc.v1.IDiskConfig|null|undefined} diskConfig + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.diskConfig = null; + + /** + * InstanceGroupConfig isPreemptible. + * @member {boolean} isPreemptible + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.isPreemptible = false; + + /** + * InstanceGroupConfig preemptibility. + * @member {google.cloud.dataproc.v1.InstanceGroupConfig.Preemptibility} preemptibility + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.preemptibility = 0; + + /** + * InstanceGroupConfig managedGroupConfig. + * @member {google.cloud.dataproc.v1.IManagedGroupConfig|null|undefined} managedGroupConfig + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.managedGroupConfig = null; + + /** + * InstanceGroupConfig accelerators. + * @member {Array.} accelerators + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.accelerators = $util.emptyArray; + + /** + * InstanceGroupConfig minCpuPlatform. + * @member {string} minCpuPlatform + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + */ + InstanceGroupConfig.prototype.minCpuPlatform = ""; + + /** + * Creates a new InstanceGroupConfig instance using the specified properties. + * @function create + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @static + * @param {google.cloud.dataproc.v1.IInstanceGroupConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.InstanceGroupConfig} InstanceGroupConfig instance + */ + InstanceGroupConfig.create = function create(properties) { + return new InstanceGroupConfig(properties); + }; + + /** + * Encodes the specified InstanceGroupConfig message. Does not implicitly {@link google.cloud.dataproc.v1.InstanceGroupConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @static + * @param {google.cloud.dataproc.v1.IInstanceGroupConfig} message InstanceGroupConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InstanceGroupConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.numInstances != null && Object.hasOwnProperty.call(message, "numInstances")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.numInstances); + if (message.instanceNames != null && message.instanceNames.length) + for (var i = 0; i < message.instanceNames.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.instanceNames[i]); + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.imageUri); + if (message.machineTypeUri != null && Object.hasOwnProperty.call(message, "machineTypeUri")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.machineTypeUri); + if (message.diskConfig != null && Object.hasOwnProperty.call(message, "diskConfig")) + $root.google.cloud.dataproc.v1.DiskConfig.encode(message.diskConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.isPreemptible != null && Object.hasOwnProperty.call(message, "isPreemptible")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.isPreemptible); + if (message.managedGroupConfig != null && Object.hasOwnProperty.call(message, "managedGroupConfig")) + $root.google.cloud.dataproc.v1.ManagedGroupConfig.encode(message.managedGroupConfig, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.accelerators != null && message.accelerators.length) + for (var i = 0; i < message.accelerators.length; ++i) + $root.google.cloud.dataproc.v1.AcceleratorConfig.encode(message.accelerators[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.minCpuPlatform != null && Object.hasOwnProperty.call(message, "minCpuPlatform")) + writer.uint32(/* id 9, wireType 2 =*/74).string(message.minCpuPlatform); + if (message.preemptibility != null && Object.hasOwnProperty.call(message, "preemptibility")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.preemptibility); + return writer; + }; + + /** + * Encodes the specified InstanceGroupConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.InstanceGroupConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @static + * @param {google.cloud.dataproc.v1.IInstanceGroupConfig} message InstanceGroupConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InstanceGroupConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an InstanceGroupConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.dataproc.v1.InstanceGroupConfig} InstanceGroupConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InstanceGroupConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.InstanceGroupConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.numInstances = reader.int32(); + break; + case 2: + if (!(message.instanceNames && message.instanceNames.length)) + message.instanceNames = []; + message.instanceNames.push(reader.string()); + break; + case 3: + message.imageUri = reader.string(); + break; + case 4: + message.machineTypeUri = reader.string(); + break; + case 5: + message.diskConfig = $root.google.cloud.dataproc.v1.DiskConfig.decode(reader, reader.uint32()); + break; + case 6: + message.isPreemptible = reader.bool(); + break; + case 10: + message.preemptibility = reader.int32(); + break; + case 7: + message.managedGroupConfig = $root.google.cloud.dataproc.v1.ManagedGroupConfig.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.accelerators && message.accelerators.length)) + message.accelerators = []; + message.accelerators.push($root.google.cloud.dataproc.v1.AcceleratorConfig.decode(reader, reader.uint32())); + break; + case 9: + message.minCpuPlatform = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an InstanceGroupConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.dataproc.v1.InstanceGroupConfig} InstanceGroupConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InstanceGroupConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an InstanceGroupConfig message. + * @function verify + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + InstanceGroupConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.numInstances != null && message.hasOwnProperty("numInstances")) + if (!$util.isInteger(message.numInstances)) + return "numInstances: integer expected"; + if (message.instanceNames != null && message.hasOwnProperty("instanceNames")) { + if (!Array.isArray(message.instanceNames)) + return "instanceNames: array expected"; + for (var i = 0; i < message.instanceNames.length; ++i) + if (!$util.isString(message.instanceNames[i])) + return "instanceNames: string[] expected"; + } + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; + if (message.machineTypeUri != null && message.hasOwnProperty("machineTypeUri")) + if (!$util.isString(message.machineTypeUri)) + return "machineTypeUri: string expected"; + if (message.diskConfig != null && message.hasOwnProperty("diskConfig")) { + var error = $root.google.cloud.dataproc.v1.DiskConfig.verify(message.diskConfig); + if (error) + return "diskConfig." + error; + } + if (message.isPreemptible != null && message.hasOwnProperty("isPreemptible")) + if (typeof message.isPreemptible !== "boolean") + return "isPreemptible: boolean expected"; + if (message.preemptibility != null && message.hasOwnProperty("preemptibility")) + switch (message.preemptibility) { + default: + return "preemptibility: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.managedGroupConfig != null && message.hasOwnProperty("managedGroupConfig")) { + var error = $root.google.cloud.dataproc.v1.ManagedGroupConfig.verify(message.managedGroupConfig); + if (error) + return "managedGroupConfig." + error; + } + if (message.accelerators != null && message.hasOwnProperty("accelerators")) { + if (!Array.isArray(message.accelerators)) + return "accelerators: array expected"; + for (var i = 0; i < message.accelerators.length; ++i) { + var error = $root.google.cloud.dataproc.v1.AcceleratorConfig.verify(message.accelerators[i]); + if (error) + return "accelerators." + error; + } + } + if (message.minCpuPlatform != null && message.hasOwnProperty("minCpuPlatform")) + if (!$util.isString(message.minCpuPlatform)) + return "minCpuPlatform: string expected"; + return null; + }; + + /** + * Creates an InstanceGroupConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dataproc.v1.InstanceGroupConfig} InstanceGroupConfig + */ + InstanceGroupConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.InstanceGroupConfig) + return object; + var message = new $root.google.cloud.dataproc.v1.InstanceGroupConfig(); + if (object.numInstances != null) + message.numInstances = object.numInstances | 0; + if (object.instanceNames) { + if (!Array.isArray(object.instanceNames)) + throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.instanceNames: array expected"); + message.instanceNames = []; + for (var i = 0; i < object.instanceNames.length; ++i) + message.instanceNames[i] = String(object.instanceNames[i]); + } + if (object.imageUri != null) + message.imageUri = String(object.imageUri); + if (object.machineTypeUri != null) + message.machineTypeUri = String(object.machineTypeUri); + if (object.diskConfig != null) { + if (typeof object.diskConfig !== "object") + throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.diskConfig: object expected"); + message.diskConfig = $root.google.cloud.dataproc.v1.DiskConfig.fromObject(object.diskConfig); + } + if (object.isPreemptible != null) + message.isPreemptible = Boolean(object.isPreemptible); + switch (object.preemptibility) { + case "PREEMPTIBILITY_UNSPECIFIED": + case 0: + message.preemptibility = 0; + break; + case "NON_PREEMPTIBLE": + case 1: + message.preemptibility = 1; + break; + case "PREEMPTIBLE": + case 2: + message.preemptibility = 2; + break; + } + if (object.managedGroupConfig != null) { + if (typeof object.managedGroupConfig !== "object") + throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.managedGroupConfig: object expected"); + message.managedGroupConfig = $root.google.cloud.dataproc.v1.ManagedGroupConfig.fromObject(object.managedGroupConfig); + } + if (object.accelerators) { + if (!Array.isArray(object.accelerators)) + throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.accelerators: array expected"); + message.accelerators = []; + for (var i = 0; i < object.accelerators.length; ++i) { + if (typeof object.accelerators[i] !== "object") + throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.accelerators: object expected"); + message.accelerators[i] = $root.google.cloud.dataproc.v1.AcceleratorConfig.fromObject(object.accelerators[i]); + } + } + if (object.minCpuPlatform != null) + message.minCpuPlatform = String(object.minCpuPlatform); + return message; + }; + + /** + * Creates a plain object from an InstanceGroupConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @static + * @param {google.cloud.dataproc.v1.InstanceGroupConfig} message InstanceGroupConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + InstanceGroupConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.instanceNames = []; + object.accelerators = []; + } + if (options.defaults) { + object.numInstances = 0; + object.imageUri = ""; + object.machineTypeUri = ""; + object.diskConfig = null; + object.isPreemptible = false; + object.managedGroupConfig = null; + object.minCpuPlatform = ""; + object.preemptibility = options.enums === String ? "PREEMPTIBILITY_UNSPECIFIED" : 0; + } + if (message.numInstances != null && message.hasOwnProperty("numInstances")) + object.numInstances = message.numInstances; + if (message.instanceNames && message.instanceNames.length) { + object.instanceNames = []; + for (var j = 0; j < message.instanceNames.length; ++j) + object.instanceNames[j] = message.instanceNames[j]; + } + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; + if (message.machineTypeUri != null && message.hasOwnProperty("machineTypeUri")) + object.machineTypeUri = message.machineTypeUri; + if (message.diskConfig != null && message.hasOwnProperty("diskConfig")) + object.diskConfig = $root.google.cloud.dataproc.v1.DiskConfig.toObject(message.diskConfig, options); + if (message.isPreemptible != null && message.hasOwnProperty("isPreemptible")) + object.isPreemptible = message.isPreemptible; + if (message.managedGroupConfig != null && message.hasOwnProperty("managedGroupConfig")) + object.managedGroupConfig = $root.google.cloud.dataproc.v1.ManagedGroupConfig.toObject(message.managedGroupConfig, options); + if (message.accelerators && message.accelerators.length) { + object.accelerators = []; + for (var j = 0; j < message.accelerators.length; ++j) + object.accelerators[j] = $root.google.cloud.dataproc.v1.AcceleratorConfig.toObject(message.accelerators[j], options); + } + if (message.minCpuPlatform != null && message.hasOwnProperty("minCpuPlatform")) + object.minCpuPlatform = message.minCpuPlatform; + if (message.preemptibility != null && message.hasOwnProperty("preemptibility")) + object.preemptibility = options.enums === String ? $root.google.cloud.dataproc.v1.InstanceGroupConfig.Preemptibility[message.preemptibility] : message.preemptibility; + return object; + }; + + /** + * Converts this InstanceGroupConfig to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @instance + * @returns {Object.} JSON object + */ + InstanceGroupConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Preemptibility enum. + * @name google.cloud.dataproc.v1.InstanceGroupConfig.Preemptibility + * @enum {number} + * @property {number} PREEMPTIBILITY_UNSPECIFIED=0 PREEMPTIBILITY_UNSPECIFIED value + * @property {number} NON_PREEMPTIBLE=1 NON_PREEMPTIBLE value + * @property {number} PREEMPTIBLE=2 PREEMPTIBLE value + */ + InstanceGroupConfig.Preemptibility = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "PREEMPTIBILITY_UNSPECIFIED"] = 0; + values[valuesById[1] = "NON_PREEMPTIBLE"] = 1; + values[valuesById[2] = "PREEMPTIBLE"] = 2; + return values; + })(); + + return InstanceGroupConfig; + })(); + + v1.ManagedGroupConfig = (function() { + + /** + * Properties of a ManagedGroupConfig. + * @memberof google.cloud.dataproc.v1 + * @interface IManagedGroupConfig + * @property {string|null} [instanceTemplateName] ManagedGroupConfig instanceTemplateName + * @property {string|null} [instanceGroupManagerName] ManagedGroupConfig instanceGroupManagerName + */ + + /** + * Constructs a new ManagedGroupConfig. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents a ManagedGroupConfig. + * @implements IManagedGroupConfig * @constructor - * @param {google.cloud.dataproc.v1.IAutoscalingConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IManagedGroupConfig=} [properties] Properties to set */ - function AutoscalingConfig(properties) { + function ManagedGroupConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -3996,75 +6337,88 @@ } /** - * AutoscalingConfig policyUri. - * @member {string} policyUri - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * ManagedGroupConfig instanceTemplateName. + * @member {string} instanceTemplateName + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @instance */ - AutoscalingConfig.prototype.policyUri = ""; + ManagedGroupConfig.prototype.instanceTemplateName = ""; /** - * Creates a new AutoscalingConfig instance using the specified properties. + * ManagedGroupConfig instanceGroupManagerName. + * @member {string} instanceGroupManagerName + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @instance + */ + ManagedGroupConfig.prototype.instanceGroupManagerName = ""; + + /** + * Creates a new ManagedGroupConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @static - * @param {google.cloud.dataproc.v1.IAutoscalingConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.AutoscalingConfig} AutoscalingConfig instance + * @param {google.cloud.dataproc.v1.IManagedGroupConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.ManagedGroupConfig} ManagedGroupConfig instance */ - AutoscalingConfig.create = function create(properties) { - return new AutoscalingConfig(properties); + ManagedGroupConfig.create = function create(properties) { + return new ManagedGroupConfig(properties); }; /** - * Encodes the specified AutoscalingConfig message. Does not implicitly {@link google.cloud.dataproc.v1.AutoscalingConfig.verify|verify} messages. + * Encodes the specified ManagedGroupConfig message. Does not implicitly {@link google.cloud.dataproc.v1.ManagedGroupConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @static - * @param {google.cloud.dataproc.v1.IAutoscalingConfig} message AutoscalingConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IManagedGroupConfig} message ManagedGroupConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AutoscalingConfig.encode = function encode(message, writer) { + ManagedGroupConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.policyUri != null && Object.hasOwnProperty.call(message, "policyUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.policyUri); + if (message.instanceTemplateName != null && Object.hasOwnProperty.call(message, "instanceTemplateName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.instanceTemplateName); + if (message.instanceGroupManagerName != null && Object.hasOwnProperty.call(message, "instanceGroupManagerName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.instanceGroupManagerName); return writer; }; /** - * Encodes the specified AutoscalingConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.AutoscalingConfig.verify|verify} messages. + * Encodes the specified ManagedGroupConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.ManagedGroupConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @static - * @param {google.cloud.dataproc.v1.IAutoscalingConfig} message AutoscalingConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IManagedGroupConfig} message ManagedGroupConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AutoscalingConfig.encodeDelimited = function encodeDelimited(message, writer) { + ManagedGroupConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AutoscalingConfig message from the specified reader or buffer. + * Decodes a ManagedGroupConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.AutoscalingConfig} AutoscalingConfig + * @returns {google.cloud.dataproc.v1.ManagedGroupConfig} ManagedGroupConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AutoscalingConfig.decode = function decode(reader, length) { + ManagedGroupConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.AutoscalingConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.ManagedGroupConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.policyUri = reader.string(); + message.instanceTemplateName = reader.string(); + break; + case 2: + message.instanceGroupManagerName = reader.string(); break; default: reader.skipType(tag & 7); @@ -4075,107 +6429,117 @@ }; /** - * Decodes an AutoscalingConfig message from the specified reader or buffer, length delimited. + * Decodes a ManagedGroupConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.AutoscalingConfig} AutoscalingConfig + * @returns {google.cloud.dataproc.v1.ManagedGroupConfig} ManagedGroupConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AutoscalingConfig.decodeDelimited = function decodeDelimited(reader) { + ManagedGroupConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AutoscalingConfig message. + * Verifies a ManagedGroupConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AutoscalingConfig.verify = function verify(message) { + ManagedGroupConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.policyUri != null && message.hasOwnProperty("policyUri")) - if (!$util.isString(message.policyUri)) - return "policyUri: string expected"; + if (message.instanceTemplateName != null && message.hasOwnProperty("instanceTemplateName")) + if (!$util.isString(message.instanceTemplateName)) + return "instanceTemplateName: string expected"; + if (message.instanceGroupManagerName != null && message.hasOwnProperty("instanceGroupManagerName")) + if (!$util.isString(message.instanceGroupManagerName)) + return "instanceGroupManagerName: string expected"; return null; }; /** - * Creates an AutoscalingConfig message from a plain object. Also converts values to their respective internal types. + * Creates a ManagedGroupConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.AutoscalingConfig} AutoscalingConfig + * @returns {google.cloud.dataproc.v1.ManagedGroupConfig} ManagedGroupConfig */ - AutoscalingConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.AutoscalingConfig) + ManagedGroupConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.ManagedGroupConfig) return object; - var message = new $root.google.cloud.dataproc.v1.AutoscalingConfig(); - if (object.policyUri != null) - message.policyUri = String(object.policyUri); + var message = new $root.google.cloud.dataproc.v1.ManagedGroupConfig(); + if (object.instanceTemplateName != null) + message.instanceTemplateName = String(object.instanceTemplateName); + if (object.instanceGroupManagerName != null) + message.instanceGroupManagerName = String(object.instanceGroupManagerName); return message; }; /** - * Creates a plain object from an AutoscalingConfig message. Also converts values to other types if specified. + * Creates a plain object from a ManagedGroupConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @static - * @param {google.cloud.dataproc.v1.AutoscalingConfig} message AutoscalingConfig + * @param {google.cloud.dataproc.v1.ManagedGroupConfig} message ManagedGroupConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AutoscalingConfig.toObject = function toObject(message, options) { + ManagedGroupConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.policyUri = ""; - if (message.policyUri != null && message.hasOwnProperty("policyUri")) - object.policyUri = message.policyUri; + if (options.defaults) { + object.instanceTemplateName = ""; + object.instanceGroupManagerName = ""; + } + if (message.instanceTemplateName != null && message.hasOwnProperty("instanceTemplateName")) + object.instanceTemplateName = message.instanceTemplateName; + if (message.instanceGroupManagerName != null && message.hasOwnProperty("instanceGroupManagerName")) + object.instanceGroupManagerName = message.instanceGroupManagerName; return object; }; /** - * Converts this AutoscalingConfig to JSON. + * Converts this ManagedGroupConfig to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.AutoscalingConfig + * @memberof google.cloud.dataproc.v1.ManagedGroupConfig * @instance * @returns {Object.} JSON object */ - AutoscalingConfig.prototype.toJSON = function toJSON() { + ManagedGroupConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AutoscalingConfig; + return ManagedGroupConfig; })(); - v1.EncryptionConfig = (function() { + v1.AcceleratorConfig = (function() { /** - * Properties of an EncryptionConfig. + * Properties of an AcceleratorConfig. * @memberof google.cloud.dataproc.v1 - * @interface IEncryptionConfig - * @property {string|null} [gcePdKmsKeyName] EncryptionConfig gcePdKmsKeyName + * @interface IAcceleratorConfig + * @property {string|null} [acceleratorTypeUri] AcceleratorConfig acceleratorTypeUri + * @property {number|null} [acceleratorCount] AcceleratorConfig acceleratorCount */ /** - * Constructs a new EncryptionConfig. + * Constructs a new AcceleratorConfig. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents an EncryptionConfig. - * @implements IEncryptionConfig + * @classdesc Represents an AcceleratorConfig. + * @implements IAcceleratorConfig * @constructor - * @param {google.cloud.dataproc.v1.IEncryptionConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IAcceleratorConfig=} [properties] Properties to set */ - function EncryptionConfig(properties) { + function AcceleratorConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4183,75 +6547,88 @@ } /** - * EncryptionConfig gcePdKmsKeyName. - * @member {string} gcePdKmsKeyName - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * AcceleratorConfig acceleratorTypeUri. + * @member {string} acceleratorTypeUri + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @instance */ - EncryptionConfig.prototype.gcePdKmsKeyName = ""; + AcceleratorConfig.prototype.acceleratorTypeUri = ""; /** - * Creates a new EncryptionConfig instance using the specified properties. + * AcceleratorConfig acceleratorCount. + * @member {number} acceleratorCount + * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * @instance + */ + AcceleratorConfig.prototype.acceleratorCount = 0; + + /** + * Creates a new AcceleratorConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @static - * @param {google.cloud.dataproc.v1.IEncryptionConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.EncryptionConfig} EncryptionConfig instance + * @param {google.cloud.dataproc.v1.IAcceleratorConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.AcceleratorConfig} AcceleratorConfig instance */ - EncryptionConfig.create = function create(properties) { - return new EncryptionConfig(properties); + AcceleratorConfig.create = function create(properties) { + return new AcceleratorConfig(properties); }; /** - * Encodes the specified EncryptionConfig message. Does not implicitly {@link google.cloud.dataproc.v1.EncryptionConfig.verify|verify} messages. + * Encodes the specified AcceleratorConfig message. Does not implicitly {@link google.cloud.dataproc.v1.AcceleratorConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @static - * @param {google.cloud.dataproc.v1.IEncryptionConfig} message EncryptionConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IAcceleratorConfig} message AcceleratorConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EncryptionConfig.encode = function encode(message, writer) { + AcceleratorConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcePdKmsKeyName != null && Object.hasOwnProperty.call(message, "gcePdKmsKeyName")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcePdKmsKeyName); + if (message.acceleratorTypeUri != null && Object.hasOwnProperty.call(message, "acceleratorTypeUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.acceleratorTypeUri); + if (message.acceleratorCount != null && Object.hasOwnProperty.call(message, "acceleratorCount")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.acceleratorCount); return writer; }; /** - * Encodes the specified EncryptionConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.EncryptionConfig.verify|verify} messages. + * Encodes the specified AcceleratorConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.AcceleratorConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @static - * @param {google.cloud.dataproc.v1.IEncryptionConfig} message EncryptionConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IAcceleratorConfig} message AcceleratorConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EncryptionConfig.encodeDelimited = function encodeDelimited(message, writer) { + AcceleratorConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EncryptionConfig message from the specified reader or buffer. + * Decodes an AcceleratorConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.EncryptionConfig} EncryptionConfig + * @returns {google.cloud.dataproc.v1.AcceleratorConfig} AcceleratorConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EncryptionConfig.decode = function decode(reader, length) { + AcceleratorConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.EncryptionConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.AcceleratorConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcePdKmsKeyName = reader.string(); + message.acceleratorTypeUri = reader.string(); + break; + case 2: + message.acceleratorCount = reader.int32(); break; default: reader.skipType(tag & 7); @@ -4262,118 +6639,118 @@ }; /** - * Decodes an EncryptionConfig message from the specified reader or buffer, length delimited. + * Decodes an AcceleratorConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.EncryptionConfig} EncryptionConfig + * @returns {google.cloud.dataproc.v1.AcceleratorConfig} AcceleratorConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EncryptionConfig.decodeDelimited = function decodeDelimited(reader) { + AcceleratorConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EncryptionConfig message. + * Verifies an AcceleratorConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EncryptionConfig.verify = function verify(message) { + AcceleratorConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcePdKmsKeyName != null && message.hasOwnProperty("gcePdKmsKeyName")) - if (!$util.isString(message.gcePdKmsKeyName)) - return "gcePdKmsKeyName: string expected"; + if (message.acceleratorTypeUri != null && message.hasOwnProperty("acceleratorTypeUri")) + if (!$util.isString(message.acceleratorTypeUri)) + return "acceleratorTypeUri: string expected"; + if (message.acceleratorCount != null && message.hasOwnProperty("acceleratorCount")) + if (!$util.isInteger(message.acceleratorCount)) + return "acceleratorCount: integer expected"; return null; }; /** - * Creates an EncryptionConfig message from a plain object. Also converts values to their respective internal types. + * Creates an AcceleratorConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.EncryptionConfig} EncryptionConfig + * @returns {google.cloud.dataproc.v1.AcceleratorConfig} AcceleratorConfig */ - EncryptionConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.EncryptionConfig) + AcceleratorConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.AcceleratorConfig) return object; - var message = new $root.google.cloud.dataproc.v1.EncryptionConfig(); - if (object.gcePdKmsKeyName != null) - message.gcePdKmsKeyName = String(object.gcePdKmsKeyName); + var message = new $root.google.cloud.dataproc.v1.AcceleratorConfig(); + if (object.acceleratorTypeUri != null) + message.acceleratorTypeUri = String(object.acceleratorTypeUri); + if (object.acceleratorCount != null) + message.acceleratorCount = object.acceleratorCount | 0; return message; }; /** - * Creates a plain object from an EncryptionConfig message. Also converts values to other types if specified. + * Creates a plain object from an AcceleratorConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @static - * @param {google.cloud.dataproc.v1.EncryptionConfig} message EncryptionConfig + * @param {google.cloud.dataproc.v1.AcceleratorConfig} message AcceleratorConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EncryptionConfig.toObject = function toObject(message, options) { + AcceleratorConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.gcePdKmsKeyName = ""; - if (message.gcePdKmsKeyName != null && message.hasOwnProperty("gcePdKmsKeyName")) - object.gcePdKmsKeyName = message.gcePdKmsKeyName; + if (options.defaults) { + object.acceleratorTypeUri = ""; + object.acceleratorCount = 0; + } + if (message.acceleratorTypeUri != null && message.hasOwnProperty("acceleratorTypeUri")) + object.acceleratorTypeUri = message.acceleratorTypeUri; + if (message.acceleratorCount != null && message.hasOwnProperty("acceleratorCount")) + object.acceleratorCount = message.acceleratorCount; return object; }; /** - * Converts this EncryptionConfig to JSON. + * Converts this AcceleratorConfig to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.EncryptionConfig + * @memberof google.cloud.dataproc.v1.AcceleratorConfig * @instance * @returns {Object.} JSON object */ - EncryptionConfig.prototype.toJSON = function toJSON() { + AcceleratorConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EncryptionConfig; + return AcceleratorConfig; })(); - v1.GceClusterConfig = (function() { + v1.DiskConfig = (function() { /** - * Properties of a GceClusterConfig. + * Properties of a DiskConfig. * @memberof google.cloud.dataproc.v1 - * @interface IGceClusterConfig - * @property {string|null} [zoneUri] GceClusterConfig zoneUri - * @property {string|null} [networkUri] GceClusterConfig networkUri - * @property {string|null} [subnetworkUri] GceClusterConfig subnetworkUri - * @property {boolean|null} [internalIpOnly] GceClusterConfig internalIpOnly - * @property {string|null} [serviceAccount] GceClusterConfig serviceAccount - * @property {Array.|null} [serviceAccountScopes] GceClusterConfig serviceAccountScopes - * @property {Array.|null} [tags] GceClusterConfig tags - * @property {Object.|null} [metadata] GceClusterConfig metadata - * @property {google.cloud.dataproc.v1.IReservationAffinity|null} [reservationAffinity] GceClusterConfig reservationAffinity + * @interface IDiskConfig + * @property {string|null} [bootDiskType] DiskConfig bootDiskType + * @property {number|null} [bootDiskSizeGb] DiskConfig bootDiskSizeGb + * @property {number|null} [numLocalSsds] DiskConfig numLocalSsds */ /** - * Constructs a new GceClusterConfig. + * Constructs a new DiskConfig. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a GceClusterConfig. - * @implements IGceClusterConfig + * @classdesc Represents a DiskConfig. + * @implements IDiskConfig * @constructor - * @param {google.cloud.dataproc.v1.IGceClusterConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IDiskConfig=} [properties] Properties to set */ - function GceClusterConfig(properties) { - this.serviceAccountScopes = []; - this.tags = []; - this.metadata = {}; + function DiskConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4381,205 +6758,101 @@ } /** - * GceClusterConfig zoneUri. - * @member {string} zoneUri - * @memberof google.cloud.dataproc.v1.GceClusterConfig - * @instance - */ - GceClusterConfig.prototype.zoneUri = ""; - - /** - * GceClusterConfig networkUri. - * @member {string} networkUri - * @memberof google.cloud.dataproc.v1.GceClusterConfig - * @instance - */ - GceClusterConfig.prototype.networkUri = ""; - - /** - * GceClusterConfig subnetworkUri. - * @member {string} subnetworkUri - * @memberof google.cloud.dataproc.v1.GceClusterConfig - * @instance - */ - GceClusterConfig.prototype.subnetworkUri = ""; - - /** - * GceClusterConfig internalIpOnly. - * @member {boolean} internalIpOnly - * @memberof google.cloud.dataproc.v1.GceClusterConfig - * @instance - */ - GceClusterConfig.prototype.internalIpOnly = false; - - /** - * GceClusterConfig serviceAccount. - * @member {string} serviceAccount - * @memberof google.cloud.dataproc.v1.GceClusterConfig - * @instance - */ - GceClusterConfig.prototype.serviceAccount = ""; - - /** - * GceClusterConfig serviceAccountScopes. - * @member {Array.} serviceAccountScopes - * @memberof google.cloud.dataproc.v1.GceClusterConfig - * @instance - */ - GceClusterConfig.prototype.serviceAccountScopes = $util.emptyArray; - - /** - * GceClusterConfig tags. - * @member {Array.} tags - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * DiskConfig bootDiskType. + * @member {string} bootDiskType + * @memberof google.cloud.dataproc.v1.DiskConfig * @instance */ - GceClusterConfig.prototype.tags = $util.emptyArray; + DiskConfig.prototype.bootDiskType = ""; /** - * GceClusterConfig metadata. - * @member {Object.} metadata - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * DiskConfig bootDiskSizeGb. + * @member {number} bootDiskSizeGb + * @memberof google.cloud.dataproc.v1.DiskConfig * @instance */ - GceClusterConfig.prototype.metadata = $util.emptyObject; + DiskConfig.prototype.bootDiskSizeGb = 0; /** - * GceClusterConfig reservationAffinity. - * @member {google.cloud.dataproc.v1.IReservationAffinity|null|undefined} reservationAffinity - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * DiskConfig numLocalSsds. + * @member {number} numLocalSsds + * @memberof google.cloud.dataproc.v1.DiskConfig * @instance */ - GceClusterConfig.prototype.reservationAffinity = null; + DiskConfig.prototype.numLocalSsds = 0; /** - * Creates a new GceClusterConfig instance using the specified properties. + * Creates a new DiskConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.GceClusterConfig - * @static - * @param {google.cloud.dataproc.v1.IGceClusterConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.GceClusterConfig} GceClusterConfig instance - */ - GceClusterConfig.create = function create(properties) { - return new GceClusterConfig(properties); - }; - - /** - * Encodes the specified GceClusterConfig message. Does not implicitly {@link google.cloud.dataproc.v1.GceClusterConfig.verify|verify} messages. - * @function encode - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @memberof google.cloud.dataproc.v1.DiskConfig * @static - * @param {google.cloud.dataproc.v1.IGceClusterConfig} message GceClusterConfig message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * @param {google.cloud.dataproc.v1.IDiskConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.DiskConfig} DiskConfig instance */ - GceClusterConfig.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.zoneUri != null && Object.hasOwnProperty.call(message, "zoneUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.zoneUri); - if (message.networkUri != null && Object.hasOwnProperty.call(message, "networkUri")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.networkUri); - if (message.serviceAccountScopes != null && message.serviceAccountScopes.length) - for (var i = 0; i < message.serviceAccountScopes.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.serviceAccountScopes[i]); - if (message.tags != null && message.tags.length) - for (var i = 0; i < message.tags.length; ++i) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.tags[i]); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - for (var keys = Object.keys(message.metadata), i = 0; i < keys.length; ++i) - writer.uint32(/* id 5, wireType 2 =*/42).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.metadata[keys[i]]).ldelim(); - if (message.subnetworkUri != null && Object.hasOwnProperty.call(message, "subnetworkUri")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.subnetworkUri); - if (message.internalIpOnly != null && Object.hasOwnProperty.call(message, "internalIpOnly")) - writer.uint32(/* id 7, wireType 0 =*/56).bool(message.internalIpOnly); - if (message.serviceAccount != null && Object.hasOwnProperty.call(message, "serviceAccount")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.serviceAccount); - if (message.reservationAffinity != null && Object.hasOwnProperty.call(message, "reservationAffinity")) - $root.google.cloud.dataproc.v1.ReservationAffinity.encode(message.reservationAffinity, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + DiskConfig.create = function create(properties) { + return new DiskConfig(properties); + }; + + /** + * Encodes the specified DiskConfig message. Does not implicitly {@link google.cloud.dataproc.v1.DiskConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.dataproc.v1.DiskConfig + * @static + * @param {google.cloud.dataproc.v1.IDiskConfig} message DiskConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DiskConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.bootDiskSizeGb != null && Object.hasOwnProperty.call(message, "bootDiskSizeGb")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.bootDiskSizeGb); + if (message.numLocalSsds != null && Object.hasOwnProperty.call(message, "numLocalSsds")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.numLocalSsds); + if (message.bootDiskType != null && Object.hasOwnProperty.call(message, "bootDiskType")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.bootDiskType); return writer; }; /** - * Encodes the specified GceClusterConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.GceClusterConfig.verify|verify} messages. + * Encodes the specified DiskConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.DiskConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @memberof google.cloud.dataproc.v1.DiskConfig * @static - * @param {google.cloud.dataproc.v1.IGceClusterConfig} message GceClusterConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IDiskConfig} message DiskConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GceClusterConfig.encodeDelimited = function encodeDelimited(message, writer) { + DiskConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GceClusterConfig message from the specified reader or buffer. + * Decodes a DiskConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @memberof google.cloud.dataproc.v1.DiskConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.GceClusterConfig} GceClusterConfig + * @returns {google.cloud.dataproc.v1.DiskConfig} DiskConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GceClusterConfig.decode = function decode(reader, length) { + DiskConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.GceClusterConfig(), key, value; + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.DiskConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.zoneUri = reader.string(); - break; - case 2: - message.networkUri = reader.string(); - break; - case 6: - message.subnetworkUri = reader.string(); - break; - case 7: - message.internalIpOnly = reader.bool(); - break; - case 8: - message.serviceAccount = reader.string(); - break; case 3: - if (!(message.serviceAccountScopes && message.serviceAccountScopes.length)) - message.serviceAccountScopes = []; - message.serviceAccountScopes.push(reader.string()); - break; - case 4: - if (!(message.tags && message.tags.length)) - message.tags = []; - message.tags.push(reader.string()); + message.bootDiskType = reader.string(); break; - case 5: - if (message.metadata === $util.emptyObject) - message.metadata = {}; - var end2 = reader.uint32() + reader.pos; - key = ""; - value = ""; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.string(); - break; - case 2: - value = reader.string(); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.metadata[key] = value; + case 1: + message.bootDiskSizeGb = reader.int32(); break; - case 11: - message.reservationAffinity = $root.google.cloud.dataproc.v1.ReservationAffinity.decode(reader, reader.uint32()); + case 2: + message.numLocalSsds = reader.int32(); break; default: reader.skipType(tag & 7); @@ -4590,229 +6863,125 @@ }; /** - * Decodes a GceClusterConfig message from the specified reader or buffer, length delimited. + * Decodes a DiskConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @memberof google.cloud.dataproc.v1.DiskConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.GceClusterConfig} GceClusterConfig + * @returns {google.cloud.dataproc.v1.DiskConfig} DiskConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GceClusterConfig.decodeDelimited = function decodeDelimited(reader) { + DiskConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GceClusterConfig message. + * Verifies a DiskConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @memberof google.cloud.dataproc.v1.DiskConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GceClusterConfig.verify = function verify(message) { + DiskConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.zoneUri != null && message.hasOwnProperty("zoneUri")) - if (!$util.isString(message.zoneUri)) - return "zoneUri: string expected"; - if (message.networkUri != null && message.hasOwnProperty("networkUri")) - if (!$util.isString(message.networkUri)) - return "networkUri: string expected"; - if (message.subnetworkUri != null && message.hasOwnProperty("subnetworkUri")) - if (!$util.isString(message.subnetworkUri)) - return "subnetworkUri: string expected"; - if (message.internalIpOnly != null && message.hasOwnProperty("internalIpOnly")) - if (typeof message.internalIpOnly !== "boolean") - return "internalIpOnly: boolean expected"; - if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) - if (!$util.isString(message.serviceAccount)) - return "serviceAccount: string expected"; - if (message.serviceAccountScopes != null && message.hasOwnProperty("serviceAccountScopes")) { - if (!Array.isArray(message.serviceAccountScopes)) - return "serviceAccountScopes: array expected"; - for (var i = 0; i < message.serviceAccountScopes.length; ++i) - if (!$util.isString(message.serviceAccountScopes[i])) - return "serviceAccountScopes: string[] expected"; - } - if (message.tags != null && message.hasOwnProperty("tags")) { - if (!Array.isArray(message.tags)) - return "tags: array expected"; - for (var i = 0; i < message.tags.length; ++i) - if (!$util.isString(message.tags[i])) - return "tags: string[] expected"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - if (!$util.isObject(message.metadata)) - return "metadata: object expected"; - var key = Object.keys(message.metadata); - for (var i = 0; i < key.length; ++i) - if (!$util.isString(message.metadata[key[i]])) - return "metadata: string{k:string} expected"; - } - if (message.reservationAffinity != null && message.hasOwnProperty("reservationAffinity")) { - var error = $root.google.cloud.dataproc.v1.ReservationAffinity.verify(message.reservationAffinity); - if (error) - return "reservationAffinity." + error; - } + if (message.bootDiskType != null && message.hasOwnProperty("bootDiskType")) + if (!$util.isString(message.bootDiskType)) + return "bootDiskType: string expected"; + if (message.bootDiskSizeGb != null && message.hasOwnProperty("bootDiskSizeGb")) + if (!$util.isInteger(message.bootDiskSizeGb)) + return "bootDiskSizeGb: integer expected"; + if (message.numLocalSsds != null && message.hasOwnProperty("numLocalSsds")) + if (!$util.isInteger(message.numLocalSsds)) + return "numLocalSsds: integer expected"; return null; }; /** - * Creates a GceClusterConfig message from a plain object. Also converts values to their respective internal types. + * Creates a DiskConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @memberof google.cloud.dataproc.v1.DiskConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.GceClusterConfig} GceClusterConfig + * @returns {google.cloud.dataproc.v1.DiskConfig} DiskConfig */ - GceClusterConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.GceClusterConfig) + DiskConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.DiskConfig) return object; - var message = new $root.google.cloud.dataproc.v1.GceClusterConfig(); - if (object.zoneUri != null) - message.zoneUri = String(object.zoneUri); - if (object.networkUri != null) - message.networkUri = String(object.networkUri); - if (object.subnetworkUri != null) - message.subnetworkUri = String(object.subnetworkUri); - if (object.internalIpOnly != null) - message.internalIpOnly = Boolean(object.internalIpOnly); - if (object.serviceAccount != null) - message.serviceAccount = String(object.serviceAccount); - if (object.serviceAccountScopes) { - if (!Array.isArray(object.serviceAccountScopes)) - throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.serviceAccountScopes: array expected"); - message.serviceAccountScopes = []; - for (var i = 0; i < object.serviceAccountScopes.length; ++i) - message.serviceAccountScopes[i] = String(object.serviceAccountScopes[i]); - } - if (object.tags) { - if (!Array.isArray(object.tags)) - throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.tags: array expected"); - message.tags = []; - for (var i = 0; i < object.tags.length; ++i) - message.tags[i] = String(object.tags[i]); - } - if (object.metadata) { - if (typeof object.metadata !== "object") - throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.metadata: object expected"); - message.metadata = {}; - for (var keys = Object.keys(object.metadata), i = 0; i < keys.length; ++i) - message.metadata[keys[i]] = String(object.metadata[keys[i]]); - } - if (object.reservationAffinity != null) { - if (typeof object.reservationAffinity !== "object") - throw TypeError(".google.cloud.dataproc.v1.GceClusterConfig.reservationAffinity: object expected"); - message.reservationAffinity = $root.google.cloud.dataproc.v1.ReservationAffinity.fromObject(object.reservationAffinity); - } + var message = new $root.google.cloud.dataproc.v1.DiskConfig(); + if (object.bootDiskType != null) + message.bootDiskType = String(object.bootDiskType); + if (object.bootDiskSizeGb != null) + message.bootDiskSizeGb = object.bootDiskSizeGb | 0; + if (object.numLocalSsds != null) + message.numLocalSsds = object.numLocalSsds | 0; return message; }; - /** - * Creates a plain object from a GceClusterConfig message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.dataproc.v1.GceClusterConfig - * @static - * @param {google.cloud.dataproc.v1.GceClusterConfig} message GceClusterConfig - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GceClusterConfig.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.serviceAccountScopes = []; - object.tags = []; - } - if (options.objects || options.defaults) - object.metadata = {}; - if (options.defaults) { - object.zoneUri = ""; - object.networkUri = ""; - object.subnetworkUri = ""; - object.internalIpOnly = false; - object.serviceAccount = ""; - object.reservationAffinity = null; - } - if (message.zoneUri != null && message.hasOwnProperty("zoneUri")) - object.zoneUri = message.zoneUri; - if (message.networkUri != null && message.hasOwnProperty("networkUri")) - object.networkUri = message.networkUri; - if (message.serviceAccountScopes && message.serviceAccountScopes.length) { - object.serviceAccountScopes = []; - for (var j = 0; j < message.serviceAccountScopes.length; ++j) - object.serviceAccountScopes[j] = message.serviceAccountScopes[j]; - } - if (message.tags && message.tags.length) { - object.tags = []; - for (var j = 0; j < message.tags.length; ++j) - object.tags[j] = message.tags[j]; - } - var keys2; - if (message.metadata && (keys2 = Object.keys(message.metadata)).length) { - object.metadata = {}; - for (var j = 0; j < keys2.length; ++j) - object.metadata[keys2[j]] = message.metadata[keys2[j]]; + /** + * Creates a plain object from a DiskConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.DiskConfig + * @static + * @param {google.cloud.dataproc.v1.DiskConfig} message DiskConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DiskConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.bootDiskSizeGb = 0; + object.numLocalSsds = 0; + object.bootDiskType = ""; } - if (message.subnetworkUri != null && message.hasOwnProperty("subnetworkUri")) - object.subnetworkUri = message.subnetworkUri; - if (message.internalIpOnly != null && message.hasOwnProperty("internalIpOnly")) - object.internalIpOnly = message.internalIpOnly; - if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) - object.serviceAccount = message.serviceAccount; - if (message.reservationAffinity != null && message.hasOwnProperty("reservationAffinity")) - object.reservationAffinity = $root.google.cloud.dataproc.v1.ReservationAffinity.toObject(message.reservationAffinity, options); + if (message.bootDiskSizeGb != null && message.hasOwnProperty("bootDiskSizeGb")) + object.bootDiskSizeGb = message.bootDiskSizeGb; + if (message.numLocalSsds != null && message.hasOwnProperty("numLocalSsds")) + object.numLocalSsds = message.numLocalSsds; + if (message.bootDiskType != null && message.hasOwnProperty("bootDiskType")) + object.bootDiskType = message.bootDiskType; return object; }; /** - * Converts this GceClusterConfig to JSON. + * Converts this DiskConfig to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.GceClusterConfig + * @memberof google.cloud.dataproc.v1.DiskConfig * @instance * @returns {Object.} JSON object */ - GceClusterConfig.prototype.toJSON = function toJSON() { + DiskConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GceClusterConfig; + return DiskConfig; })(); - v1.InstanceGroupConfig = (function() { + v1.NodeInitializationAction = (function() { /** - * Properties of an InstanceGroupConfig. + * Properties of a NodeInitializationAction. * @memberof google.cloud.dataproc.v1 - * @interface IInstanceGroupConfig - * @property {number|null} [numInstances] InstanceGroupConfig numInstances - * @property {Array.|null} [instanceNames] InstanceGroupConfig instanceNames - * @property {string|null} [imageUri] InstanceGroupConfig imageUri - * @property {string|null} [machineTypeUri] InstanceGroupConfig machineTypeUri - * @property {google.cloud.dataproc.v1.IDiskConfig|null} [diskConfig] InstanceGroupConfig diskConfig - * @property {boolean|null} [isPreemptible] InstanceGroupConfig isPreemptible - * @property {google.cloud.dataproc.v1.InstanceGroupConfig.Preemptibility|null} [preemptibility] InstanceGroupConfig preemptibility - * @property {google.cloud.dataproc.v1.IManagedGroupConfig|null} [managedGroupConfig] InstanceGroupConfig managedGroupConfig - * @property {Array.|null} [accelerators] InstanceGroupConfig accelerators - * @property {string|null} [minCpuPlatform] InstanceGroupConfig minCpuPlatform + * @interface INodeInitializationAction + * @property {string|null} [executableFile] NodeInitializationAction executableFile + * @property {google.protobuf.IDuration|null} [executionTimeout] NodeInitializationAction executionTimeout */ /** - * Constructs a new InstanceGroupConfig. + * Constructs a new NodeInitializationAction. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents an InstanceGroupConfig. - * @implements IInstanceGroupConfig + * @classdesc Represents a NodeInitializationAction. + * @implements INodeInitializationAction * @constructor - * @param {google.cloud.dataproc.v1.IInstanceGroupConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.INodeInitializationAction=} [properties] Properties to set */ - function InstanceGroupConfig(properties) { - this.instanceNames = []; - this.accelerators = []; + function NodeInitializationAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4820,198 +6989,88 @@ } /** - * InstanceGroupConfig numInstances. - * @member {number} numInstances - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig - * @instance - */ - InstanceGroupConfig.prototype.numInstances = 0; - - /** - * InstanceGroupConfig instanceNames. - * @member {Array.} instanceNames - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig - * @instance - */ - InstanceGroupConfig.prototype.instanceNames = $util.emptyArray; - - /** - * InstanceGroupConfig imageUri. - * @member {string} imageUri - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig - * @instance - */ - InstanceGroupConfig.prototype.imageUri = ""; - - /** - * InstanceGroupConfig machineTypeUri. - * @member {string} machineTypeUri - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig - * @instance - */ - InstanceGroupConfig.prototype.machineTypeUri = ""; - - /** - * InstanceGroupConfig diskConfig. - * @member {google.cloud.dataproc.v1.IDiskConfig|null|undefined} diskConfig - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig - * @instance - */ - InstanceGroupConfig.prototype.diskConfig = null; - - /** - * InstanceGroupConfig isPreemptible. - * @member {boolean} isPreemptible - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig - * @instance - */ - InstanceGroupConfig.prototype.isPreemptible = false; - - /** - * InstanceGroupConfig preemptibility. - * @member {google.cloud.dataproc.v1.InstanceGroupConfig.Preemptibility} preemptibility - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig - * @instance - */ - InstanceGroupConfig.prototype.preemptibility = 0; - - /** - * InstanceGroupConfig managedGroupConfig. - * @member {google.cloud.dataproc.v1.IManagedGroupConfig|null|undefined} managedGroupConfig - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig - * @instance - */ - InstanceGroupConfig.prototype.managedGroupConfig = null; - - /** - * InstanceGroupConfig accelerators. - * @member {Array.} accelerators - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * NodeInitializationAction executableFile. + * @member {string} executableFile + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @instance */ - InstanceGroupConfig.prototype.accelerators = $util.emptyArray; + NodeInitializationAction.prototype.executableFile = ""; /** - * InstanceGroupConfig minCpuPlatform. - * @member {string} minCpuPlatform - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * NodeInitializationAction executionTimeout. + * @member {google.protobuf.IDuration|null|undefined} executionTimeout + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @instance */ - InstanceGroupConfig.prototype.minCpuPlatform = ""; + NodeInitializationAction.prototype.executionTimeout = null; /** - * Creates a new InstanceGroupConfig instance using the specified properties. + * Creates a new NodeInitializationAction instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @static - * @param {google.cloud.dataproc.v1.IInstanceGroupConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.InstanceGroupConfig} InstanceGroupConfig instance + * @param {google.cloud.dataproc.v1.INodeInitializationAction=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.NodeInitializationAction} NodeInitializationAction instance */ - InstanceGroupConfig.create = function create(properties) { - return new InstanceGroupConfig(properties); + NodeInitializationAction.create = function create(properties) { + return new NodeInitializationAction(properties); }; /** - * Encodes the specified InstanceGroupConfig message. Does not implicitly {@link google.cloud.dataproc.v1.InstanceGroupConfig.verify|verify} messages. + * Encodes the specified NodeInitializationAction message. Does not implicitly {@link google.cloud.dataproc.v1.NodeInitializationAction.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @static - * @param {google.cloud.dataproc.v1.IInstanceGroupConfig} message InstanceGroupConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.INodeInitializationAction} message NodeInitializationAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - InstanceGroupConfig.encode = function encode(message, writer) { + NodeInitializationAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.numInstances != null && Object.hasOwnProperty.call(message, "numInstances")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.numInstances); - if (message.instanceNames != null && message.instanceNames.length) - for (var i = 0; i < message.instanceNames.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.instanceNames[i]); - if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.imageUri); - if (message.machineTypeUri != null && Object.hasOwnProperty.call(message, "machineTypeUri")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.machineTypeUri); - if (message.diskConfig != null && Object.hasOwnProperty.call(message, "diskConfig")) - $root.google.cloud.dataproc.v1.DiskConfig.encode(message.diskConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.isPreemptible != null && Object.hasOwnProperty.call(message, "isPreemptible")) - writer.uint32(/* id 6, wireType 0 =*/48).bool(message.isPreemptible); - if (message.managedGroupConfig != null && Object.hasOwnProperty.call(message, "managedGroupConfig")) - $root.google.cloud.dataproc.v1.ManagedGroupConfig.encode(message.managedGroupConfig, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.accelerators != null && message.accelerators.length) - for (var i = 0; i < message.accelerators.length; ++i) - $root.google.cloud.dataproc.v1.AcceleratorConfig.encode(message.accelerators[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.minCpuPlatform != null && Object.hasOwnProperty.call(message, "minCpuPlatform")) - writer.uint32(/* id 9, wireType 2 =*/74).string(message.minCpuPlatform); - if (message.preemptibility != null && Object.hasOwnProperty.call(message, "preemptibility")) - writer.uint32(/* id 10, wireType 0 =*/80).int32(message.preemptibility); + if (message.executableFile != null && Object.hasOwnProperty.call(message, "executableFile")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.executableFile); + if (message.executionTimeout != null && Object.hasOwnProperty.call(message, "executionTimeout")) + $root.google.protobuf.Duration.encode(message.executionTimeout, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified InstanceGroupConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.InstanceGroupConfig.verify|verify} messages. + * Encodes the specified NodeInitializationAction message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.NodeInitializationAction.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @static - * @param {google.cloud.dataproc.v1.IInstanceGroupConfig} message InstanceGroupConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.INodeInitializationAction} message NodeInitializationAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - InstanceGroupConfig.encodeDelimited = function encodeDelimited(message, writer) { + NodeInitializationAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an InstanceGroupConfig message from the specified reader or buffer. + * Decodes a NodeInitializationAction message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.InstanceGroupConfig} InstanceGroupConfig + * @returns {google.cloud.dataproc.v1.NodeInitializationAction} NodeInitializationAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InstanceGroupConfig.decode = function decode(reader, length) { + NodeInitializationAction.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.InstanceGroupConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.NodeInitializationAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.numInstances = reader.int32(); + message.executableFile = reader.string(); break; case 2: - if (!(message.instanceNames && message.instanceNames.length)) - message.instanceNames = []; - message.instanceNames.push(reader.string()); - break; - case 3: - message.imageUri = reader.string(); - break; - case 4: - message.machineTypeUri = reader.string(); - break; - case 5: - message.diskConfig = $root.google.cloud.dataproc.v1.DiskConfig.decode(reader, reader.uint32()); - break; - case 6: - message.isPreemptible = reader.bool(); - break; - case 10: - message.preemptibility = reader.int32(); - break; - case 7: - message.managedGroupConfig = $root.google.cloud.dataproc.v1.ManagedGroupConfig.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.accelerators && message.accelerators.length)) - message.accelerators = []; - message.accelerators.push($root.google.cloud.dataproc.v1.AcceleratorConfig.decode(reader, reader.uint32())); - break; - case 9: - message.minCpuPlatform = reader.string(); + message.executionTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -5022,256 +7081,124 @@ }; /** - * Decodes an InstanceGroupConfig message from the specified reader or buffer, length delimited. + * Decodes a NodeInitializationAction message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.InstanceGroupConfig} InstanceGroupConfig + * @returns {google.cloud.dataproc.v1.NodeInitializationAction} NodeInitializationAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InstanceGroupConfig.decodeDelimited = function decodeDelimited(reader) { + NodeInitializationAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an InstanceGroupConfig message. + * Verifies a NodeInitializationAction message. * @function verify - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InstanceGroupConfig.verify = function verify(message) { + NodeInitializationAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.numInstances != null && message.hasOwnProperty("numInstances")) - if (!$util.isInteger(message.numInstances)) - return "numInstances: integer expected"; - if (message.instanceNames != null && message.hasOwnProperty("instanceNames")) { - if (!Array.isArray(message.instanceNames)) - return "instanceNames: array expected"; - for (var i = 0; i < message.instanceNames.length; ++i) - if (!$util.isString(message.instanceNames[i])) - return "instanceNames: string[] expected"; - } - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - if (!$util.isString(message.imageUri)) - return "imageUri: string expected"; - if (message.machineTypeUri != null && message.hasOwnProperty("machineTypeUri")) - if (!$util.isString(message.machineTypeUri)) - return "machineTypeUri: string expected"; - if (message.diskConfig != null && message.hasOwnProperty("diskConfig")) { - var error = $root.google.cloud.dataproc.v1.DiskConfig.verify(message.diskConfig); - if (error) - return "diskConfig." + error; - } - if (message.isPreemptible != null && message.hasOwnProperty("isPreemptible")) - if (typeof message.isPreemptible !== "boolean") - return "isPreemptible: boolean expected"; - if (message.preemptibility != null && message.hasOwnProperty("preemptibility")) - switch (message.preemptibility) { - default: - return "preemptibility: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.managedGroupConfig != null && message.hasOwnProperty("managedGroupConfig")) { - var error = $root.google.cloud.dataproc.v1.ManagedGroupConfig.verify(message.managedGroupConfig); + if (message.executableFile != null && message.hasOwnProperty("executableFile")) + if (!$util.isString(message.executableFile)) + return "executableFile: string expected"; + if (message.executionTimeout != null && message.hasOwnProperty("executionTimeout")) { + var error = $root.google.protobuf.Duration.verify(message.executionTimeout); if (error) - return "managedGroupConfig." + error; - } - if (message.accelerators != null && message.hasOwnProperty("accelerators")) { - if (!Array.isArray(message.accelerators)) - return "accelerators: array expected"; - for (var i = 0; i < message.accelerators.length; ++i) { - var error = $root.google.cloud.dataproc.v1.AcceleratorConfig.verify(message.accelerators[i]); - if (error) - return "accelerators." + error; - } + return "executionTimeout." + error; } - if (message.minCpuPlatform != null && message.hasOwnProperty("minCpuPlatform")) - if (!$util.isString(message.minCpuPlatform)) - return "minCpuPlatform: string expected"; return null; }; /** - * Creates an InstanceGroupConfig message from a plain object. Also converts values to their respective internal types. + * Creates a NodeInitializationAction message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.InstanceGroupConfig} InstanceGroupConfig + * @returns {google.cloud.dataproc.v1.NodeInitializationAction} NodeInitializationAction */ - InstanceGroupConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.InstanceGroupConfig) + NodeInitializationAction.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.NodeInitializationAction) return object; - var message = new $root.google.cloud.dataproc.v1.InstanceGroupConfig(); - if (object.numInstances != null) - message.numInstances = object.numInstances | 0; - if (object.instanceNames) { - if (!Array.isArray(object.instanceNames)) - throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.instanceNames: array expected"); - message.instanceNames = []; - for (var i = 0; i < object.instanceNames.length; ++i) - message.instanceNames[i] = String(object.instanceNames[i]); - } - if (object.imageUri != null) - message.imageUri = String(object.imageUri); - if (object.machineTypeUri != null) - message.machineTypeUri = String(object.machineTypeUri); - if (object.diskConfig != null) { - if (typeof object.diskConfig !== "object") - throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.diskConfig: object expected"); - message.diskConfig = $root.google.cloud.dataproc.v1.DiskConfig.fromObject(object.diskConfig); - } - if (object.isPreemptible != null) - message.isPreemptible = Boolean(object.isPreemptible); - switch (object.preemptibility) { - case "PREEMPTIBILITY_UNSPECIFIED": - case 0: - message.preemptibility = 0; - break; - case "NON_PREEMPTIBLE": - case 1: - message.preemptibility = 1; - break; - case "PREEMPTIBLE": - case 2: - message.preemptibility = 2; - break; - } - if (object.managedGroupConfig != null) { - if (typeof object.managedGroupConfig !== "object") - throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.managedGroupConfig: object expected"); - message.managedGroupConfig = $root.google.cloud.dataproc.v1.ManagedGroupConfig.fromObject(object.managedGroupConfig); - } - if (object.accelerators) { - if (!Array.isArray(object.accelerators)) - throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.accelerators: array expected"); - message.accelerators = []; - for (var i = 0; i < object.accelerators.length; ++i) { - if (typeof object.accelerators[i] !== "object") - throw TypeError(".google.cloud.dataproc.v1.InstanceGroupConfig.accelerators: object expected"); - message.accelerators[i] = $root.google.cloud.dataproc.v1.AcceleratorConfig.fromObject(object.accelerators[i]); - } + var message = new $root.google.cloud.dataproc.v1.NodeInitializationAction(); + if (object.executableFile != null) + message.executableFile = String(object.executableFile); + if (object.executionTimeout != null) { + if (typeof object.executionTimeout !== "object") + throw TypeError(".google.cloud.dataproc.v1.NodeInitializationAction.executionTimeout: object expected"); + message.executionTimeout = $root.google.protobuf.Duration.fromObject(object.executionTimeout); } - if (object.minCpuPlatform != null) - message.minCpuPlatform = String(object.minCpuPlatform); return message; }; /** - * Creates a plain object from an InstanceGroupConfig message. Also converts values to other types if specified. + * Creates a plain object from a NodeInitializationAction message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @static - * @param {google.cloud.dataproc.v1.InstanceGroupConfig} message InstanceGroupConfig + * @param {google.cloud.dataproc.v1.NodeInitializationAction} message NodeInitializationAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - InstanceGroupConfig.toObject = function toObject(message, options) { + NodeInitializationAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.instanceNames = []; - object.accelerators = []; - } if (options.defaults) { - object.numInstances = 0; - object.imageUri = ""; - object.machineTypeUri = ""; - object.diskConfig = null; - object.isPreemptible = false; - object.managedGroupConfig = null; - object.minCpuPlatform = ""; - object.preemptibility = options.enums === String ? "PREEMPTIBILITY_UNSPECIFIED" : 0; - } - if (message.numInstances != null && message.hasOwnProperty("numInstances")) - object.numInstances = message.numInstances; - if (message.instanceNames && message.instanceNames.length) { - object.instanceNames = []; - for (var j = 0; j < message.instanceNames.length; ++j) - object.instanceNames[j] = message.instanceNames[j]; - } - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - object.imageUri = message.imageUri; - if (message.machineTypeUri != null && message.hasOwnProperty("machineTypeUri")) - object.machineTypeUri = message.machineTypeUri; - if (message.diskConfig != null && message.hasOwnProperty("diskConfig")) - object.diskConfig = $root.google.cloud.dataproc.v1.DiskConfig.toObject(message.diskConfig, options); - if (message.isPreemptible != null && message.hasOwnProperty("isPreemptible")) - object.isPreemptible = message.isPreemptible; - if (message.managedGroupConfig != null && message.hasOwnProperty("managedGroupConfig")) - object.managedGroupConfig = $root.google.cloud.dataproc.v1.ManagedGroupConfig.toObject(message.managedGroupConfig, options); - if (message.accelerators && message.accelerators.length) { - object.accelerators = []; - for (var j = 0; j < message.accelerators.length; ++j) - object.accelerators[j] = $root.google.cloud.dataproc.v1.AcceleratorConfig.toObject(message.accelerators[j], options); + object.executableFile = ""; + object.executionTimeout = null; } - if (message.minCpuPlatform != null && message.hasOwnProperty("minCpuPlatform")) - object.minCpuPlatform = message.minCpuPlatform; - if (message.preemptibility != null && message.hasOwnProperty("preemptibility")) - object.preemptibility = options.enums === String ? $root.google.cloud.dataproc.v1.InstanceGroupConfig.Preemptibility[message.preemptibility] : message.preemptibility; + if (message.executableFile != null && message.hasOwnProperty("executableFile")) + object.executableFile = message.executableFile; + if (message.executionTimeout != null && message.hasOwnProperty("executionTimeout")) + object.executionTimeout = $root.google.protobuf.Duration.toObject(message.executionTimeout, options); return object; }; /** - * Converts this InstanceGroupConfig to JSON. + * Converts this NodeInitializationAction to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.InstanceGroupConfig + * @memberof google.cloud.dataproc.v1.NodeInitializationAction * @instance * @returns {Object.} JSON object */ - InstanceGroupConfig.prototype.toJSON = function toJSON() { + NodeInitializationAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * Preemptibility enum. - * @name google.cloud.dataproc.v1.InstanceGroupConfig.Preemptibility - * @enum {number} - * @property {number} PREEMPTIBILITY_UNSPECIFIED=0 PREEMPTIBILITY_UNSPECIFIED value - * @property {number} NON_PREEMPTIBLE=1 NON_PREEMPTIBLE value - * @property {number} PREEMPTIBLE=2 PREEMPTIBLE value - */ - InstanceGroupConfig.Preemptibility = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "PREEMPTIBILITY_UNSPECIFIED"] = 0; - values[valuesById[1] = "NON_PREEMPTIBLE"] = 1; - values[valuesById[2] = "PREEMPTIBLE"] = 2; - return values; - })(); - - return InstanceGroupConfig; + return NodeInitializationAction; })(); - v1.ManagedGroupConfig = (function() { + v1.ClusterStatus = (function() { /** - * Properties of a ManagedGroupConfig. + * Properties of a ClusterStatus. * @memberof google.cloud.dataproc.v1 - * @interface IManagedGroupConfig - * @property {string|null} [instanceTemplateName] ManagedGroupConfig instanceTemplateName - * @property {string|null} [instanceGroupManagerName] ManagedGroupConfig instanceGroupManagerName + * @interface IClusterStatus + * @property {google.cloud.dataproc.v1.ClusterStatus.State|null} [state] ClusterStatus state + * @property {string|null} [detail] ClusterStatus detail + * @property {google.protobuf.ITimestamp|null} [stateStartTime] ClusterStatus stateStartTime + * @property {google.cloud.dataproc.v1.ClusterStatus.Substate|null} [substate] ClusterStatus substate */ /** - * Constructs a new ManagedGroupConfig. + * Constructs a new ClusterStatus. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a ManagedGroupConfig. - * @implements IManagedGroupConfig + * @classdesc Represents a ClusterStatus. + * @implements IClusterStatus * @constructor - * @param {google.cloud.dataproc.v1.IManagedGroupConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IClusterStatus=} [properties] Properties to set */ - function ManagedGroupConfig(properties) { + function ClusterStatus(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5279,88 +7206,114 @@ } /** - * ManagedGroupConfig instanceTemplateName. - * @member {string} instanceTemplateName - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * ClusterStatus state. + * @member {google.cloud.dataproc.v1.ClusterStatus.State} state + * @memberof google.cloud.dataproc.v1.ClusterStatus * @instance */ - ManagedGroupConfig.prototype.instanceTemplateName = ""; + ClusterStatus.prototype.state = 0; /** - * ManagedGroupConfig instanceGroupManagerName. - * @member {string} instanceGroupManagerName - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * ClusterStatus detail. + * @member {string} detail + * @memberof google.cloud.dataproc.v1.ClusterStatus * @instance */ - ManagedGroupConfig.prototype.instanceGroupManagerName = ""; + ClusterStatus.prototype.detail = ""; /** - * Creates a new ManagedGroupConfig instance using the specified properties. + * ClusterStatus stateStartTime. + * @member {google.protobuf.ITimestamp|null|undefined} stateStartTime + * @memberof google.cloud.dataproc.v1.ClusterStatus + * @instance + */ + ClusterStatus.prototype.stateStartTime = null; + + /** + * ClusterStatus substate. + * @member {google.cloud.dataproc.v1.ClusterStatus.Substate} substate + * @memberof google.cloud.dataproc.v1.ClusterStatus + * @instance + */ + ClusterStatus.prototype.substate = 0; + + /** + * Creates a new ClusterStatus instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @memberof google.cloud.dataproc.v1.ClusterStatus * @static - * @param {google.cloud.dataproc.v1.IManagedGroupConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.ManagedGroupConfig} ManagedGroupConfig instance + * @param {google.cloud.dataproc.v1.IClusterStatus=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.ClusterStatus} ClusterStatus instance */ - ManagedGroupConfig.create = function create(properties) { - return new ManagedGroupConfig(properties); + ClusterStatus.create = function create(properties) { + return new ClusterStatus(properties); }; /** - * Encodes the specified ManagedGroupConfig message. Does not implicitly {@link google.cloud.dataproc.v1.ManagedGroupConfig.verify|verify} messages. + * Encodes the specified ClusterStatus message. Does not implicitly {@link google.cloud.dataproc.v1.ClusterStatus.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @memberof google.cloud.dataproc.v1.ClusterStatus * @static - * @param {google.cloud.dataproc.v1.IManagedGroupConfig} message ManagedGroupConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IClusterStatus} message ClusterStatus message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ManagedGroupConfig.encode = function encode(message, writer) { + ClusterStatus.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.instanceTemplateName != null && Object.hasOwnProperty.call(message, "instanceTemplateName")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.instanceTemplateName); - if (message.instanceGroupManagerName != null && Object.hasOwnProperty.call(message, "instanceGroupManagerName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.instanceGroupManagerName); + if (message.state != null && Object.hasOwnProperty.call(message, "state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.detail != null && Object.hasOwnProperty.call(message, "detail")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.detail); + if (message.stateStartTime != null && Object.hasOwnProperty.call(message, "stateStartTime")) + $root.google.protobuf.Timestamp.encode(message.stateStartTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.substate != null && Object.hasOwnProperty.call(message, "substate")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.substate); return writer; }; /** - * Encodes the specified ManagedGroupConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.ManagedGroupConfig.verify|verify} messages. + * Encodes the specified ClusterStatus message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.ClusterStatus.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @memberof google.cloud.dataproc.v1.ClusterStatus * @static - * @param {google.cloud.dataproc.v1.IManagedGroupConfig} message ManagedGroupConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IClusterStatus} message ClusterStatus message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ManagedGroupConfig.encodeDelimited = function encodeDelimited(message, writer) { + ClusterStatus.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ManagedGroupConfig message from the specified reader or buffer. + * Decodes a ClusterStatus message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @memberof google.cloud.dataproc.v1.ClusterStatus * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.ManagedGroupConfig} ManagedGroupConfig + * @returns {google.cloud.dataproc.v1.ClusterStatus} ClusterStatus * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManagedGroupConfig.decode = function decode(reader, length) { + ClusterStatus.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.ManagedGroupConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.ClusterStatus(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.instanceTemplateName = reader.string(); + message.state = reader.int32(); break; case 2: - message.instanceGroupManagerName = reader.string(); + message.detail = reader.string(); + break; + case 3: + message.stateStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.substate = reader.int32(); break; default: reader.skipType(tag & 7); @@ -5371,117 +7324,248 @@ }; /** - * Decodes a ManagedGroupConfig message from the specified reader or buffer, length delimited. + * Decodes a ClusterStatus message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @memberof google.cloud.dataproc.v1.ClusterStatus * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.ManagedGroupConfig} ManagedGroupConfig + * @returns {google.cloud.dataproc.v1.ClusterStatus} ClusterStatus * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManagedGroupConfig.decodeDelimited = function decodeDelimited(reader) { + ClusterStatus.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ManagedGroupConfig message. + * Verifies a ClusterStatus message. * @function verify - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @memberof google.cloud.dataproc.v1.ClusterStatus * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ManagedGroupConfig.verify = function verify(message) { + ClusterStatus.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.instanceTemplateName != null && message.hasOwnProperty("instanceTemplateName")) - if (!$util.isString(message.instanceTemplateName)) - return "instanceTemplateName: string expected"; - if (message.instanceGroupManagerName != null && message.hasOwnProperty("instanceGroupManagerName")) - if (!$util.isString(message.instanceGroupManagerName)) - return "instanceGroupManagerName: string expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + break; + } + if (message.detail != null && message.hasOwnProperty("detail")) + if (!$util.isString(message.detail)) + return "detail: string expected"; + if (message.stateStartTime != null && message.hasOwnProperty("stateStartTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.stateStartTime); + if (error) + return "stateStartTime." + error; + } + if (message.substate != null && message.hasOwnProperty("substate")) + switch (message.substate) { + default: + return "substate: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; /** - * Creates a ManagedGroupConfig message from a plain object. Also converts values to their respective internal types. + * Creates a ClusterStatus message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @memberof google.cloud.dataproc.v1.ClusterStatus * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.ManagedGroupConfig} ManagedGroupConfig + * @returns {google.cloud.dataproc.v1.ClusterStatus} ClusterStatus */ - ManagedGroupConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.ManagedGroupConfig) + ClusterStatus.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.ClusterStatus) return object; - var message = new $root.google.cloud.dataproc.v1.ManagedGroupConfig(); - if (object.instanceTemplateName != null) - message.instanceTemplateName = String(object.instanceTemplateName); - if (object.instanceGroupManagerName != null) - message.instanceGroupManagerName = String(object.instanceGroupManagerName); + var message = new $root.google.cloud.dataproc.v1.ClusterStatus(); + switch (object.state) { + case "UNKNOWN": + case 0: + message.state = 0; + break; + case "CREATING": + case 1: + message.state = 1; + break; + case "RUNNING": + case 2: + message.state = 2; + break; + case "ERROR": + case 3: + message.state = 3; + break; + case "DELETING": + case 4: + message.state = 4; + break; + case "UPDATING": + case 5: + message.state = 5; + break; + case "STOPPING": + case 6: + message.state = 6; + break; + case "STOPPED": + case 7: + message.state = 7; + break; + case "STARTING": + case 8: + message.state = 8; + break; + } + if (object.detail != null) + message.detail = String(object.detail); + if (object.stateStartTime != null) { + if (typeof object.stateStartTime !== "object") + throw TypeError(".google.cloud.dataproc.v1.ClusterStatus.stateStartTime: object expected"); + message.stateStartTime = $root.google.protobuf.Timestamp.fromObject(object.stateStartTime); + } + switch (object.substate) { + case "UNSPECIFIED": + case 0: + message.substate = 0; + break; + case "UNHEALTHY": + case 1: + message.substate = 1; + break; + case "STALE_STATUS": + case 2: + message.substate = 2; + break; + } return message; }; /** - * Creates a plain object from a ManagedGroupConfig message. Also converts values to other types if specified. + * Creates a plain object from a ClusterStatus message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @memberof google.cloud.dataproc.v1.ClusterStatus * @static - * @param {google.cloud.dataproc.v1.ManagedGroupConfig} message ManagedGroupConfig + * @param {google.cloud.dataproc.v1.ClusterStatus} message ClusterStatus * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ManagedGroupConfig.toObject = function toObject(message, options) { + ClusterStatus.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.instanceTemplateName = ""; - object.instanceGroupManagerName = ""; + object.state = options.enums === String ? "UNKNOWN" : 0; + object.detail = ""; + object.stateStartTime = null; + object.substate = options.enums === String ? "UNSPECIFIED" : 0; } - if (message.instanceTemplateName != null && message.hasOwnProperty("instanceTemplateName")) - object.instanceTemplateName = message.instanceTemplateName; - if (message.instanceGroupManagerName != null && message.hasOwnProperty("instanceGroupManagerName")) - object.instanceGroupManagerName = message.instanceGroupManagerName; + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.dataproc.v1.ClusterStatus.State[message.state] : message.state; + if (message.detail != null && message.hasOwnProperty("detail")) + object.detail = message.detail; + if (message.stateStartTime != null && message.hasOwnProperty("stateStartTime")) + object.stateStartTime = $root.google.protobuf.Timestamp.toObject(message.stateStartTime, options); + if (message.substate != null && message.hasOwnProperty("substate")) + object.substate = options.enums === String ? $root.google.cloud.dataproc.v1.ClusterStatus.Substate[message.substate] : message.substate; return object; }; /** - * Converts this ManagedGroupConfig to JSON. + * Converts this ClusterStatus to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.ManagedGroupConfig + * @memberof google.cloud.dataproc.v1.ClusterStatus * @instance * @returns {Object.} JSON object */ - ManagedGroupConfig.prototype.toJSON = function toJSON() { + ClusterStatus.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ManagedGroupConfig; + /** + * State enum. + * @name google.cloud.dataproc.v1.ClusterStatus.State + * @enum {number} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} CREATING=1 CREATING value + * @property {number} RUNNING=2 RUNNING value + * @property {number} ERROR=3 ERROR value + * @property {number} DELETING=4 DELETING value + * @property {number} UPDATING=5 UPDATING value + * @property {number} STOPPING=6 STOPPING value + * @property {number} STOPPED=7 STOPPED value + * @property {number} STARTING=8 STARTING value + */ + ClusterStatus.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "CREATING"] = 1; + values[valuesById[2] = "RUNNING"] = 2; + values[valuesById[3] = "ERROR"] = 3; + values[valuesById[4] = "DELETING"] = 4; + values[valuesById[5] = "UPDATING"] = 5; + values[valuesById[6] = "STOPPING"] = 6; + values[valuesById[7] = "STOPPED"] = 7; + values[valuesById[8] = "STARTING"] = 8; + return values; + })(); + + /** + * Substate enum. + * @name google.cloud.dataproc.v1.ClusterStatus.Substate + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNHEALTHY=1 UNHEALTHY value + * @property {number} STALE_STATUS=2 STALE_STATUS value + */ + ClusterStatus.Substate = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNHEALTHY"] = 1; + values[valuesById[2] = "STALE_STATUS"] = 2; + return values; + })(); + + return ClusterStatus; })(); - v1.AcceleratorConfig = (function() { + v1.SecurityConfig = (function() { /** - * Properties of an AcceleratorConfig. + * Properties of a SecurityConfig. * @memberof google.cloud.dataproc.v1 - * @interface IAcceleratorConfig - * @property {string|null} [acceleratorTypeUri] AcceleratorConfig acceleratorTypeUri - * @property {number|null} [acceleratorCount] AcceleratorConfig acceleratorCount + * @interface ISecurityConfig + * @property {google.cloud.dataproc.v1.IKerberosConfig|null} [kerberosConfig] SecurityConfig kerberosConfig + * @property {google.cloud.dataproc.v1.IIdentityConfig|null} [identityConfig] SecurityConfig identityConfig */ /** - * Constructs a new AcceleratorConfig. + * Constructs a new SecurityConfig. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents an AcceleratorConfig. - * @implements IAcceleratorConfig + * @classdesc Represents a SecurityConfig. + * @implements ISecurityConfig * @constructor - * @param {google.cloud.dataproc.v1.IAcceleratorConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.ISecurityConfig=} [properties] Properties to set */ - function AcceleratorConfig(properties) { + function SecurityConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5489,88 +7573,88 @@ } /** - * AcceleratorConfig acceleratorTypeUri. - * @member {string} acceleratorTypeUri - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * SecurityConfig kerberosConfig. + * @member {google.cloud.dataproc.v1.IKerberosConfig|null|undefined} kerberosConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @instance */ - AcceleratorConfig.prototype.acceleratorTypeUri = ""; + SecurityConfig.prototype.kerberosConfig = null; /** - * AcceleratorConfig acceleratorCount. - * @member {number} acceleratorCount - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * SecurityConfig identityConfig. + * @member {google.cloud.dataproc.v1.IIdentityConfig|null|undefined} identityConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @instance */ - AcceleratorConfig.prototype.acceleratorCount = 0; + SecurityConfig.prototype.identityConfig = null; /** - * Creates a new AcceleratorConfig instance using the specified properties. + * Creates a new SecurityConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @static - * @param {google.cloud.dataproc.v1.IAcceleratorConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.AcceleratorConfig} AcceleratorConfig instance + * @param {google.cloud.dataproc.v1.ISecurityConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.SecurityConfig} SecurityConfig instance */ - AcceleratorConfig.create = function create(properties) { - return new AcceleratorConfig(properties); + SecurityConfig.create = function create(properties) { + return new SecurityConfig(properties); }; /** - * Encodes the specified AcceleratorConfig message. Does not implicitly {@link google.cloud.dataproc.v1.AcceleratorConfig.verify|verify} messages. + * Encodes the specified SecurityConfig message. Does not implicitly {@link google.cloud.dataproc.v1.SecurityConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @static - * @param {google.cloud.dataproc.v1.IAcceleratorConfig} message AcceleratorConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.ISecurityConfig} message SecurityConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AcceleratorConfig.encode = function encode(message, writer) { + SecurityConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.acceleratorTypeUri != null && Object.hasOwnProperty.call(message, "acceleratorTypeUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.acceleratorTypeUri); - if (message.acceleratorCount != null && Object.hasOwnProperty.call(message, "acceleratorCount")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.acceleratorCount); + if (message.kerberosConfig != null && Object.hasOwnProperty.call(message, "kerberosConfig")) + $root.google.cloud.dataproc.v1.KerberosConfig.encode(message.kerberosConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.identityConfig != null && Object.hasOwnProperty.call(message, "identityConfig")) + $root.google.cloud.dataproc.v1.IdentityConfig.encode(message.identityConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified AcceleratorConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.AcceleratorConfig.verify|verify} messages. + * Encodes the specified SecurityConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.SecurityConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @static - * @param {google.cloud.dataproc.v1.IAcceleratorConfig} message AcceleratorConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.ISecurityConfig} message SecurityConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AcceleratorConfig.encodeDelimited = function encodeDelimited(message, writer) { + SecurityConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AcceleratorConfig message from the specified reader or buffer. + * Decodes a SecurityConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.AcceleratorConfig} AcceleratorConfig + * @returns {google.cloud.dataproc.v1.SecurityConfig} SecurityConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AcceleratorConfig.decode = function decode(reader, length) { + SecurityConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.AcceleratorConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.SecurityConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.acceleratorTypeUri = reader.string(); + message.kerberosConfig = $root.google.cloud.dataproc.v1.KerberosConfig.decode(reader, reader.uint32()); break; case 2: - message.acceleratorCount = reader.int32(); + message.identityConfig = $root.google.cloud.dataproc.v1.IdentityConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -5581,220 +7665,398 @@ }; /** - * Decodes an AcceleratorConfig message from the specified reader or buffer, length delimited. + * Decodes a SecurityConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.AcceleratorConfig} AcceleratorConfig + * @returns {google.cloud.dataproc.v1.SecurityConfig} SecurityConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AcceleratorConfig.decodeDelimited = function decodeDelimited(reader) { + SecurityConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AcceleratorConfig message. + * Verifies a SecurityConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AcceleratorConfig.verify = function verify(message) { + SecurityConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.acceleratorTypeUri != null && message.hasOwnProperty("acceleratorTypeUri")) - if (!$util.isString(message.acceleratorTypeUri)) - return "acceleratorTypeUri: string expected"; - if (message.acceleratorCount != null && message.hasOwnProperty("acceleratorCount")) - if (!$util.isInteger(message.acceleratorCount)) - return "acceleratorCount: integer expected"; + if (message.kerberosConfig != null && message.hasOwnProperty("kerberosConfig")) { + var error = $root.google.cloud.dataproc.v1.KerberosConfig.verify(message.kerberosConfig); + if (error) + return "kerberosConfig." + error; + } + if (message.identityConfig != null && message.hasOwnProperty("identityConfig")) { + var error = $root.google.cloud.dataproc.v1.IdentityConfig.verify(message.identityConfig); + if (error) + return "identityConfig." + error; + } return null; }; /** - * Creates an AcceleratorConfig message from a plain object. Also converts values to their respective internal types. + * Creates a SecurityConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.AcceleratorConfig} AcceleratorConfig + * @returns {google.cloud.dataproc.v1.SecurityConfig} SecurityConfig */ - AcceleratorConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.AcceleratorConfig) + SecurityConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.SecurityConfig) return object; - var message = new $root.google.cloud.dataproc.v1.AcceleratorConfig(); - if (object.acceleratorTypeUri != null) - message.acceleratorTypeUri = String(object.acceleratorTypeUri); - if (object.acceleratorCount != null) - message.acceleratorCount = object.acceleratorCount | 0; + var message = new $root.google.cloud.dataproc.v1.SecurityConfig(); + if (object.kerberosConfig != null) { + if (typeof object.kerberosConfig !== "object") + throw TypeError(".google.cloud.dataproc.v1.SecurityConfig.kerberosConfig: object expected"); + message.kerberosConfig = $root.google.cloud.dataproc.v1.KerberosConfig.fromObject(object.kerberosConfig); + } + if (object.identityConfig != null) { + if (typeof object.identityConfig !== "object") + throw TypeError(".google.cloud.dataproc.v1.SecurityConfig.identityConfig: object expected"); + message.identityConfig = $root.google.cloud.dataproc.v1.IdentityConfig.fromObject(object.identityConfig); + } return message; }; /** - * Creates a plain object from an AcceleratorConfig message. Also converts values to other types if specified. + * Creates a plain object from a SecurityConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * @memberof google.cloud.dataproc.v1.SecurityConfig * @static - * @param {google.cloud.dataproc.v1.AcceleratorConfig} message AcceleratorConfig + * @param {google.cloud.dataproc.v1.SecurityConfig} message SecurityConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AcceleratorConfig.toObject = function toObject(message, options) { + SecurityConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.acceleratorTypeUri = ""; - object.acceleratorCount = 0; + object.kerberosConfig = null; + object.identityConfig = null; } - if (message.acceleratorTypeUri != null && message.hasOwnProperty("acceleratorTypeUri")) - object.acceleratorTypeUri = message.acceleratorTypeUri; - if (message.acceleratorCount != null && message.hasOwnProperty("acceleratorCount")) - object.acceleratorCount = message.acceleratorCount; + if (message.kerberosConfig != null && message.hasOwnProperty("kerberosConfig")) + object.kerberosConfig = $root.google.cloud.dataproc.v1.KerberosConfig.toObject(message.kerberosConfig, options); + if (message.identityConfig != null && message.hasOwnProperty("identityConfig")) + object.identityConfig = $root.google.cloud.dataproc.v1.IdentityConfig.toObject(message.identityConfig, options); return object; }; /** - * Converts this AcceleratorConfig to JSON. - * @function toJSON - * @memberof google.cloud.dataproc.v1.AcceleratorConfig + * Converts this SecurityConfig to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.SecurityConfig + * @instance + * @returns {Object.} JSON object + */ + SecurityConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SecurityConfig; + })(); + + v1.KerberosConfig = (function() { + + /** + * Properties of a KerberosConfig. + * @memberof google.cloud.dataproc.v1 + * @interface IKerberosConfig + * @property {boolean|null} [enableKerberos] KerberosConfig enableKerberos + * @property {string|null} [rootPrincipalPasswordUri] KerberosConfig rootPrincipalPasswordUri + * @property {string|null} [kmsKeyUri] KerberosConfig kmsKeyUri + * @property {string|null} [keystoreUri] KerberosConfig keystoreUri + * @property {string|null} [truststoreUri] KerberosConfig truststoreUri + * @property {string|null} [keystorePasswordUri] KerberosConfig keystorePasswordUri + * @property {string|null} [keyPasswordUri] KerberosConfig keyPasswordUri + * @property {string|null} [truststorePasswordUri] KerberosConfig truststorePasswordUri + * @property {string|null} [crossRealmTrustRealm] KerberosConfig crossRealmTrustRealm + * @property {string|null} [crossRealmTrustKdc] KerberosConfig crossRealmTrustKdc + * @property {string|null} [crossRealmTrustAdminServer] KerberosConfig crossRealmTrustAdminServer + * @property {string|null} [crossRealmTrustSharedPasswordUri] KerberosConfig crossRealmTrustSharedPasswordUri + * @property {string|null} [kdcDbKeyUri] KerberosConfig kdcDbKeyUri + * @property {number|null} [tgtLifetimeHours] KerberosConfig tgtLifetimeHours + * @property {string|null} [realm] KerberosConfig realm + */ + + /** + * Constructs a new KerberosConfig. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents a KerberosConfig. + * @implements IKerberosConfig + * @constructor + * @param {google.cloud.dataproc.v1.IKerberosConfig=} [properties] Properties to set + */ + function KerberosConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * KerberosConfig enableKerberos. + * @member {boolean} enableKerberos + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance + */ + KerberosConfig.prototype.enableKerberos = false; + + /** + * KerberosConfig rootPrincipalPasswordUri. + * @member {string} rootPrincipalPasswordUri + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance + */ + KerberosConfig.prototype.rootPrincipalPasswordUri = ""; + + /** + * KerberosConfig kmsKeyUri. + * @member {string} kmsKeyUri + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance + */ + KerberosConfig.prototype.kmsKeyUri = ""; + + /** + * KerberosConfig keystoreUri. + * @member {string} keystoreUri + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance + */ + KerberosConfig.prototype.keystoreUri = ""; + + /** + * KerberosConfig truststoreUri. + * @member {string} truststoreUri + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance + */ + KerberosConfig.prototype.truststoreUri = ""; + + /** + * KerberosConfig keystorePasswordUri. + * @member {string} keystorePasswordUri + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance + */ + KerberosConfig.prototype.keystorePasswordUri = ""; + + /** + * KerberosConfig keyPasswordUri. + * @member {string} keyPasswordUri + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance + */ + KerberosConfig.prototype.keyPasswordUri = ""; + + /** + * KerberosConfig truststorePasswordUri. + * @member {string} truststorePasswordUri + * @memberof google.cloud.dataproc.v1.KerberosConfig * @instance - * @returns {Object.} JSON object */ - AcceleratorConfig.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + KerberosConfig.prototype.truststorePasswordUri = ""; - return AcceleratorConfig; - })(); + /** + * KerberosConfig crossRealmTrustRealm. + * @member {string} crossRealmTrustRealm + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance + */ + KerberosConfig.prototype.crossRealmTrustRealm = ""; - v1.DiskConfig = (function() { + /** + * KerberosConfig crossRealmTrustKdc. + * @member {string} crossRealmTrustKdc + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance + */ + KerberosConfig.prototype.crossRealmTrustKdc = ""; /** - * Properties of a DiskConfig. - * @memberof google.cloud.dataproc.v1 - * @interface IDiskConfig - * @property {string|null} [bootDiskType] DiskConfig bootDiskType - * @property {number|null} [bootDiskSizeGb] DiskConfig bootDiskSizeGb - * @property {number|null} [numLocalSsds] DiskConfig numLocalSsds + * KerberosConfig crossRealmTrustAdminServer. + * @member {string} crossRealmTrustAdminServer + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance */ + KerberosConfig.prototype.crossRealmTrustAdminServer = ""; /** - * Constructs a new DiskConfig. - * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a DiskConfig. - * @implements IDiskConfig - * @constructor - * @param {google.cloud.dataproc.v1.IDiskConfig=} [properties] Properties to set + * KerberosConfig crossRealmTrustSharedPasswordUri. + * @member {string} crossRealmTrustSharedPasswordUri + * @memberof google.cloud.dataproc.v1.KerberosConfig + * @instance */ - function DiskConfig(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + KerberosConfig.prototype.crossRealmTrustSharedPasswordUri = ""; /** - * DiskConfig bootDiskType. - * @member {string} bootDiskType - * @memberof google.cloud.dataproc.v1.DiskConfig + * KerberosConfig kdcDbKeyUri. + * @member {string} kdcDbKeyUri + * @memberof google.cloud.dataproc.v1.KerberosConfig * @instance */ - DiskConfig.prototype.bootDiskType = ""; + KerberosConfig.prototype.kdcDbKeyUri = ""; /** - * DiskConfig bootDiskSizeGb. - * @member {number} bootDiskSizeGb - * @memberof google.cloud.dataproc.v1.DiskConfig + * KerberosConfig tgtLifetimeHours. + * @member {number} tgtLifetimeHours + * @memberof google.cloud.dataproc.v1.KerberosConfig * @instance */ - DiskConfig.prototype.bootDiskSizeGb = 0; + KerberosConfig.prototype.tgtLifetimeHours = 0; /** - * DiskConfig numLocalSsds. - * @member {number} numLocalSsds - * @memberof google.cloud.dataproc.v1.DiskConfig + * KerberosConfig realm. + * @member {string} realm + * @memberof google.cloud.dataproc.v1.KerberosConfig * @instance */ - DiskConfig.prototype.numLocalSsds = 0; + KerberosConfig.prototype.realm = ""; /** - * Creates a new DiskConfig instance using the specified properties. + * Creates a new KerberosConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.DiskConfig + * @memberof google.cloud.dataproc.v1.KerberosConfig * @static - * @param {google.cloud.dataproc.v1.IDiskConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.DiskConfig} DiskConfig instance + * @param {google.cloud.dataproc.v1.IKerberosConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.KerberosConfig} KerberosConfig instance */ - DiskConfig.create = function create(properties) { - return new DiskConfig(properties); + KerberosConfig.create = function create(properties) { + return new KerberosConfig(properties); }; /** - * Encodes the specified DiskConfig message. Does not implicitly {@link google.cloud.dataproc.v1.DiskConfig.verify|verify} messages. + * Encodes the specified KerberosConfig message. Does not implicitly {@link google.cloud.dataproc.v1.KerberosConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.DiskConfig + * @memberof google.cloud.dataproc.v1.KerberosConfig * @static - * @param {google.cloud.dataproc.v1.IDiskConfig} message DiskConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IKerberosConfig} message KerberosConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DiskConfig.encode = function encode(message, writer) { + KerberosConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.bootDiskSizeGb != null && Object.hasOwnProperty.call(message, "bootDiskSizeGb")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.bootDiskSizeGb); - if (message.numLocalSsds != null && Object.hasOwnProperty.call(message, "numLocalSsds")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.numLocalSsds); - if (message.bootDiskType != null && Object.hasOwnProperty.call(message, "bootDiskType")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.bootDiskType); + if (message.enableKerberos != null && Object.hasOwnProperty.call(message, "enableKerberos")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableKerberos); + if (message.rootPrincipalPasswordUri != null && Object.hasOwnProperty.call(message, "rootPrincipalPasswordUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.rootPrincipalPasswordUri); + if (message.kmsKeyUri != null && Object.hasOwnProperty.call(message, "kmsKeyUri")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.kmsKeyUri); + if (message.keystoreUri != null && Object.hasOwnProperty.call(message, "keystoreUri")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.keystoreUri); + if (message.truststoreUri != null && Object.hasOwnProperty.call(message, "truststoreUri")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.truststoreUri); + if (message.keystorePasswordUri != null && Object.hasOwnProperty.call(message, "keystorePasswordUri")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.keystorePasswordUri); + if (message.keyPasswordUri != null && Object.hasOwnProperty.call(message, "keyPasswordUri")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.keyPasswordUri); + if (message.truststorePasswordUri != null && Object.hasOwnProperty.call(message, "truststorePasswordUri")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.truststorePasswordUri); + if (message.crossRealmTrustRealm != null && Object.hasOwnProperty.call(message, "crossRealmTrustRealm")) + writer.uint32(/* id 9, wireType 2 =*/74).string(message.crossRealmTrustRealm); + if (message.crossRealmTrustKdc != null && Object.hasOwnProperty.call(message, "crossRealmTrustKdc")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.crossRealmTrustKdc); + if (message.crossRealmTrustAdminServer != null && Object.hasOwnProperty.call(message, "crossRealmTrustAdminServer")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.crossRealmTrustAdminServer); + if (message.crossRealmTrustSharedPasswordUri != null && Object.hasOwnProperty.call(message, "crossRealmTrustSharedPasswordUri")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.crossRealmTrustSharedPasswordUri); + if (message.kdcDbKeyUri != null && Object.hasOwnProperty.call(message, "kdcDbKeyUri")) + writer.uint32(/* id 13, wireType 2 =*/106).string(message.kdcDbKeyUri); + if (message.tgtLifetimeHours != null && Object.hasOwnProperty.call(message, "tgtLifetimeHours")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.tgtLifetimeHours); + if (message.realm != null && Object.hasOwnProperty.call(message, "realm")) + writer.uint32(/* id 15, wireType 2 =*/122).string(message.realm); return writer; }; /** - * Encodes the specified DiskConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.DiskConfig.verify|verify} messages. + * Encodes the specified KerberosConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.KerberosConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.DiskConfig + * @memberof google.cloud.dataproc.v1.KerberosConfig * @static - * @param {google.cloud.dataproc.v1.IDiskConfig} message DiskConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IKerberosConfig} message KerberosConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DiskConfig.encodeDelimited = function encodeDelimited(message, writer) { + KerberosConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DiskConfig message from the specified reader or buffer. + * Decodes a KerberosConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.DiskConfig + * @memberof google.cloud.dataproc.v1.KerberosConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.DiskConfig} DiskConfig + * @returns {google.cloud.dataproc.v1.KerberosConfig} KerberosConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DiskConfig.decode = function decode(reader, length) { + KerberosConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.DiskConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.KerberosConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - message.bootDiskType = reader.string(); - break; case 1: - message.bootDiskSizeGb = reader.int32(); + message.enableKerberos = reader.bool(); break; case 2: - message.numLocalSsds = reader.int32(); + message.rootPrincipalPasswordUri = reader.string(); + break; + case 3: + message.kmsKeyUri = reader.string(); + break; + case 4: + message.keystoreUri = reader.string(); + break; + case 5: + message.truststoreUri = reader.string(); + break; + case 6: + message.keystorePasswordUri = reader.string(); + break; + case 7: + message.keyPasswordUri = reader.string(); + break; + case 8: + message.truststorePasswordUri = reader.string(); + break; + case 9: + message.crossRealmTrustRealm = reader.string(); + break; + case 10: + message.crossRealmTrustKdc = reader.string(); + break; + case 11: + message.crossRealmTrustAdminServer = reader.string(); + break; + case 12: + message.crossRealmTrustSharedPasswordUri = reader.string(); + break; + case 13: + message.kdcDbKeyUri = reader.string(); + break; + case 14: + message.tgtLifetimeHours = reader.int32(); + break; + case 15: + message.realm = reader.string(); break; default: reader.skipType(tag & 7); @@ -5805,125 +8067,221 @@ }; /** - * Decodes a DiskConfig message from the specified reader or buffer, length delimited. + * Decodes a KerberosConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.DiskConfig + * @memberof google.cloud.dataproc.v1.KerberosConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.DiskConfig} DiskConfig + * @returns {google.cloud.dataproc.v1.KerberosConfig} KerberosConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DiskConfig.decodeDelimited = function decodeDelimited(reader) { + KerberosConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DiskConfig message. + * Verifies a KerberosConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.DiskConfig + * @memberof google.cloud.dataproc.v1.KerberosConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DiskConfig.verify = function verify(message) { + KerberosConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.bootDiskType != null && message.hasOwnProperty("bootDiskType")) - if (!$util.isString(message.bootDiskType)) - return "bootDiskType: string expected"; - if (message.bootDiskSizeGb != null && message.hasOwnProperty("bootDiskSizeGb")) - if (!$util.isInteger(message.bootDiskSizeGb)) - return "bootDiskSizeGb: integer expected"; - if (message.numLocalSsds != null && message.hasOwnProperty("numLocalSsds")) - if (!$util.isInteger(message.numLocalSsds)) - return "numLocalSsds: integer expected"; + if (message.enableKerberos != null && message.hasOwnProperty("enableKerberos")) + if (typeof message.enableKerberos !== "boolean") + return "enableKerberos: boolean expected"; + if (message.rootPrincipalPasswordUri != null && message.hasOwnProperty("rootPrincipalPasswordUri")) + if (!$util.isString(message.rootPrincipalPasswordUri)) + return "rootPrincipalPasswordUri: string expected"; + if (message.kmsKeyUri != null && message.hasOwnProperty("kmsKeyUri")) + if (!$util.isString(message.kmsKeyUri)) + return "kmsKeyUri: string expected"; + if (message.keystoreUri != null && message.hasOwnProperty("keystoreUri")) + if (!$util.isString(message.keystoreUri)) + return "keystoreUri: string expected"; + if (message.truststoreUri != null && message.hasOwnProperty("truststoreUri")) + if (!$util.isString(message.truststoreUri)) + return "truststoreUri: string expected"; + if (message.keystorePasswordUri != null && message.hasOwnProperty("keystorePasswordUri")) + if (!$util.isString(message.keystorePasswordUri)) + return "keystorePasswordUri: string expected"; + if (message.keyPasswordUri != null && message.hasOwnProperty("keyPasswordUri")) + if (!$util.isString(message.keyPasswordUri)) + return "keyPasswordUri: string expected"; + if (message.truststorePasswordUri != null && message.hasOwnProperty("truststorePasswordUri")) + if (!$util.isString(message.truststorePasswordUri)) + return "truststorePasswordUri: string expected"; + if (message.crossRealmTrustRealm != null && message.hasOwnProperty("crossRealmTrustRealm")) + if (!$util.isString(message.crossRealmTrustRealm)) + return "crossRealmTrustRealm: string expected"; + if (message.crossRealmTrustKdc != null && message.hasOwnProperty("crossRealmTrustKdc")) + if (!$util.isString(message.crossRealmTrustKdc)) + return "crossRealmTrustKdc: string expected"; + if (message.crossRealmTrustAdminServer != null && message.hasOwnProperty("crossRealmTrustAdminServer")) + if (!$util.isString(message.crossRealmTrustAdminServer)) + return "crossRealmTrustAdminServer: string expected"; + if (message.crossRealmTrustSharedPasswordUri != null && message.hasOwnProperty("crossRealmTrustSharedPasswordUri")) + if (!$util.isString(message.crossRealmTrustSharedPasswordUri)) + return "crossRealmTrustSharedPasswordUri: string expected"; + if (message.kdcDbKeyUri != null && message.hasOwnProperty("kdcDbKeyUri")) + if (!$util.isString(message.kdcDbKeyUri)) + return "kdcDbKeyUri: string expected"; + if (message.tgtLifetimeHours != null && message.hasOwnProperty("tgtLifetimeHours")) + if (!$util.isInteger(message.tgtLifetimeHours)) + return "tgtLifetimeHours: integer expected"; + if (message.realm != null && message.hasOwnProperty("realm")) + if (!$util.isString(message.realm)) + return "realm: string expected"; return null; }; /** - * Creates a DiskConfig message from a plain object. Also converts values to their respective internal types. + * Creates a KerberosConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.DiskConfig + * @memberof google.cloud.dataproc.v1.KerberosConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.DiskConfig} DiskConfig + * @returns {google.cloud.dataproc.v1.KerberosConfig} KerberosConfig */ - DiskConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.DiskConfig) + KerberosConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.KerberosConfig) return object; - var message = new $root.google.cloud.dataproc.v1.DiskConfig(); - if (object.bootDiskType != null) - message.bootDiskType = String(object.bootDiskType); - if (object.bootDiskSizeGb != null) - message.bootDiskSizeGb = object.bootDiskSizeGb | 0; - if (object.numLocalSsds != null) - message.numLocalSsds = object.numLocalSsds | 0; + var message = new $root.google.cloud.dataproc.v1.KerberosConfig(); + if (object.enableKerberos != null) + message.enableKerberos = Boolean(object.enableKerberos); + if (object.rootPrincipalPasswordUri != null) + message.rootPrincipalPasswordUri = String(object.rootPrincipalPasswordUri); + if (object.kmsKeyUri != null) + message.kmsKeyUri = String(object.kmsKeyUri); + if (object.keystoreUri != null) + message.keystoreUri = String(object.keystoreUri); + if (object.truststoreUri != null) + message.truststoreUri = String(object.truststoreUri); + if (object.keystorePasswordUri != null) + message.keystorePasswordUri = String(object.keystorePasswordUri); + if (object.keyPasswordUri != null) + message.keyPasswordUri = String(object.keyPasswordUri); + if (object.truststorePasswordUri != null) + message.truststorePasswordUri = String(object.truststorePasswordUri); + if (object.crossRealmTrustRealm != null) + message.crossRealmTrustRealm = String(object.crossRealmTrustRealm); + if (object.crossRealmTrustKdc != null) + message.crossRealmTrustKdc = String(object.crossRealmTrustKdc); + if (object.crossRealmTrustAdminServer != null) + message.crossRealmTrustAdminServer = String(object.crossRealmTrustAdminServer); + if (object.crossRealmTrustSharedPasswordUri != null) + message.crossRealmTrustSharedPasswordUri = String(object.crossRealmTrustSharedPasswordUri); + if (object.kdcDbKeyUri != null) + message.kdcDbKeyUri = String(object.kdcDbKeyUri); + if (object.tgtLifetimeHours != null) + message.tgtLifetimeHours = object.tgtLifetimeHours | 0; + if (object.realm != null) + message.realm = String(object.realm); return message; }; /** - * Creates a plain object from a DiskConfig message. Also converts values to other types if specified. + * Creates a plain object from a KerberosConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.DiskConfig + * @memberof google.cloud.dataproc.v1.KerberosConfig * @static - * @param {google.cloud.dataproc.v1.DiskConfig} message DiskConfig + * @param {google.cloud.dataproc.v1.KerberosConfig} message KerberosConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DiskConfig.toObject = function toObject(message, options) { + KerberosConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.bootDiskSizeGb = 0; - object.numLocalSsds = 0; - object.bootDiskType = ""; + object.enableKerberos = false; + object.rootPrincipalPasswordUri = ""; + object.kmsKeyUri = ""; + object.keystoreUri = ""; + object.truststoreUri = ""; + object.keystorePasswordUri = ""; + object.keyPasswordUri = ""; + object.truststorePasswordUri = ""; + object.crossRealmTrustRealm = ""; + object.crossRealmTrustKdc = ""; + object.crossRealmTrustAdminServer = ""; + object.crossRealmTrustSharedPasswordUri = ""; + object.kdcDbKeyUri = ""; + object.tgtLifetimeHours = 0; + object.realm = ""; } - if (message.bootDiskSizeGb != null && message.hasOwnProperty("bootDiskSizeGb")) - object.bootDiskSizeGb = message.bootDiskSizeGb; - if (message.numLocalSsds != null && message.hasOwnProperty("numLocalSsds")) - object.numLocalSsds = message.numLocalSsds; - if (message.bootDiskType != null && message.hasOwnProperty("bootDiskType")) - object.bootDiskType = message.bootDiskType; + if (message.enableKerberos != null && message.hasOwnProperty("enableKerberos")) + object.enableKerberos = message.enableKerberos; + if (message.rootPrincipalPasswordUri != null && message.hasOwnProperty("rootPrincipalPasswordUri")) + object.rootPrincipalPasswordUri = message.rootPrincipalPasswordUri; + if (message.kmsKeyUri != null && message.hasOwnProperty("kmsKeyUri")) + object.kmsKeyUri = message.kmsKeyUri; + if (message.keystoreUri != null && message.hasOwnProperty("keystoreUri")) + object.keystoreUri = message.keystoreUri; + if (message.truststoreUri != null && message.hasOwnProperty("truststoreUri")) + object.truststoreUri = message.truststoreUri; + if (message.keystorePasswordUri != null && message.hasOwnProperty("keystorePasswordUri")) + object.keystorePasswordUri = message.keystorePasswordUri; + if (message.keyPasswordUri != null && message.hasOwnProperty("keyPasswordUri")) + object.keyPasswordUri = message.keyPasswordUri; + if (message.truststorePasswordUri != null && message.hasOwnProperty("truststorePasswordUri")) + object.truststorePasswordUri = message.truststorePasswordUri; + if (message.crossRealmTrustRealm != null && message.hasOwnProperty("crossRealmTrustRealm")) + object.crossRealmTrustRealm = message.crossRealmTrustRealm; + if (message.crossRealmTrustKdc != null && message.hasOwnProperty("crossRealmTrustKdc")) + object.crossRealmTrustKdc = message.crossRealmTrustKdc; + if (message.crossRealmTrustAdminServer != null && message.hasOwnProperty("crossRealmTrustAdminServer")) + object.crossRealmTrustAdminServer = message.crossRealmTrustAdminServer; + if (message.crossRealmTrustSharedPasswordUri != null && message.hasOwnProperty("crossRealmTrustSharedPasswordUri")) + object.crossRealmTrustSharedPasswordUri = message.crossRealmTrustSharedPasswordUri; + if (message.kdcDbKeyUri != null && message.hasOwnProperty("kdcDbKeyUri")) + object.kdcDbKeyUri = message.kdcDbKeyUri; + if (message.tgtLifetimeHours != null && message.hasOwnProperty("tgtLifetimeHours")) + object.tgtLifetimeHours = message.tgtLifetimeHours; + if (message.realm != null && message.hasOwnProperty("realm")) + object.realm = message.realm; return object; }; /** - * Converts this DiskConfig to JSON. + * Converts this KerberosConfig to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.DiskConfig + * @memberof google.cloud.dataproc.v1.KerberosConfig * @instance * @returns {Object.} JSON object */ - DiskConfig.prototype.toJSON = function toJSON() { + KerberosConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DiskConfig; + return KerberosConfig; })(); - v1.NodeInitializationAction = (function() { + v1.IdentityConfig = (function() { /** - * Properties of a NodeInitializationAction. + * Properties of an IdentityConfig. * @memberof google.cloud.dataproc.v1 - * @interface INodeInitializationAction - * @property {string|null} [executableFile] NodeInitializationAction executableFile - * @property {google.protobuf.IDuration|null} [executionTimeout] NodeInitializationAction executionTimeout + * @interface IIdentityConfig + * @property {Object.|null} [userServiceAccountMapping] IdentityConfig userServiceAccountMapping */ /** - * Constructs a new NodeInitializationAction. + * Constructs a new IdentityConfig. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a NodeInitializationAction. - * @implements INodeInitializationAction + * @classdesc Represents an IdentityConfig. + * @implements IIdentityConfig * @constructor - * @param {google.cloud.dataproc.v1.INodeInitializationAction=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IIdentityConfig=} [properties] Properties to set */ - function NodeInitializationAction(properties) { + function IdentityConfig(properties) { + this.userServiceAccountMapping = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5931,88 +8289,95 @@ } /** - * NodeInitializationAction executableFile. - * @member {string} executableFile - * @memberof google.cloud.dataproc.v1.NodeInitializationAction - * @instance - */ - NodeInitializationAction.prototype.executableFile = ""; - - /** - * NodeInitializationAction executionTimeout. - * @member {google.protobuf.IDuration|null|undefined} executionTimeout - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * IdentityConfig userServiceAccountMapping. + * @member {Object.} userServiceAccountMapping + * @memberof google.cloud.dataproc.v1.IdentityConfig * @instance */ - NodeInitializationAction.prototype.executionTimeout = null; + IdentityConfig.prototype.userServiceAccountMapping = $util.emptyObject; /** - * Creates a new NodeInitializationAction instance using the specified properties. + * Creates a new IdentityConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * @memberof google.cloud.dataproc.v1.IdentityConfig * @static - * @param {google.cloud.dataproc.v1.INodeInitializationAction=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.NodeInitializationAction} NodeInitializationAction instance + * @param {google.cloud.dataproc.v1.IIdentityConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.IdentityConfig} IdentityConfig instance */ - NodeInitializationAction.create = function create(properties) { - return new NodeInitializationAction(properties); + IdentityConfig.create = function create(properties) { + return new IdentityConfig(properties); }; /** - * Encodes the specified NodeInitializationAction message. Does not implicitly {@link google.cloud.dataproc.v1.NodeInitializationAction.verify|verify} messages. + * Encodes the specified IdentityConfig message. Does not implicitly {@link google.cloud.dataproc.v1.IdentityConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * @memberof google.cloud.dataproc.v1.IdentityConfig * @static - * @param {google.cloud.dataproc.v1.INodeInitializationAction} message NodeInitializationAction message or plain object to encode + * @param {google.cloud.dataproc.v1.IIdentityConfig} message IdentityConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NodeInitializationAction.encode = function encode(message, writer) { + IdentityConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.executableFile != null && Object.hasOwnProperty.call(message, "executableFile")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.executableFile); - if (message.executionTimeout != null && Object.hasOwnProperty.call(message, "executionTimeout")) - $root.google.protobuf.Duration.encode(message.executionTimeout, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.userServiceAccountMapping != null && Object.hasOwnProperty.call(message, "userServiceAccountMapping")) + for (var keys = Object.keys(message.userServiceAccountMapping), i = 0; i < keys.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.userServiceAccountMapping[keys[i]]).ldelim(); return writer; }; /** - * Encodes the specified NodeInitializationAction message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.NodeInitializationAction.verify|verify} messages. + * Encodes the specified IdentityConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.IdentityConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * @memberof google.cloud.dataproc.v1.IdentityConfig * @static - * @param {google.cloud.dataproc.v1.INodeInitializationAction} message NodeInitializationAction message or plain object to encode + * @param {google.cloud.dataproc.v1.IIdentityConfig} message IdentityConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NodeInitializationAction.encodeDelimited = function encodeDelimited(message, writer) { + IdentityConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a NodeInitializationAction message from the specified reader or buffer. + * Decodes an IdentityConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * @memberof google.cloud.dataproc.v1.IdentityConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.NodeInitializationAction} NodeInitializationAction + * @returns {google.cloud.dataproc.v1.IdentityConfig} IdentityConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeInitializationAction.decode = function decode(reader, length) { + IdentityConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.NodeInitializationAction(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.IdentityConfig(), key, value; while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.executableFile = reader.string(); - break; - case 2: - message.executionTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + if (message.userServiceAccountMapping === $util.emptyObject) + message.userServiceAccountMapping = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.userServiceAccountMapping[key] = value; break; default: reader.skipType(tag & 7); @@ -6023,124 +8388,125 @@ }; /** - * Decodes a NodeInitializationAction message from the specified reader or buffer, length delimited. + * Decodes an IdentityConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * @memberof google.cloud.dataproc.v1.IdentityConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.NodeInitializationAction} NodeInitializationAction + * @returns {google.cloud.dataproc.v1.IdentityConfig} IdentityConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeInitializationAction.decodeDelimited = function decodeDelimited(reader) { + IdentityConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a NodeInitializationAction message. + * Verifies an IdentityConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * @memberof google.cloud.dataproc.v1.IdentityConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodeInitializationAction.verify = function verify(message) { + IdentityConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.executableFile != null && message.hasOwnProperty("executableFile")) - if (!$util.isString(message.executableFile)) - return "executableFile: string expected"; - if (message.executionTimeout != null && message.hasOwnProperty("executionTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.executionTimeout); - if (error) - return "executionTimeout." + error; + if (message.userServiceAccountMapping != null && message.hasOwnProperty("userServiceAccountMapping")) { + if (!$util.isObject(message.userServiceAccountMapping)) + return "userServiceAccountMapping: object expected"; + var key = Object.keys(message.userServiceAccountMapping); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.userServiceAccountMapping[key[i]])) + return "userServiceAccountMapping: string{k:string} expected"; } return null; }; /** - * Creates a NodeInitializationAction message from a plain object. Also converts values to their respective internal types. + * Creates an IdentityConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * @memberof google.cloud.dataproc.v1.IdentityConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.NodeInitializationAction} NodeInitializationAction + * @returns {google.cloud.dataproc.v1.IdentityConfig} IdentityConfig */ - NodeInitializationAction.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.NodeInitializationAction) + IdentityConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.IdentityConfig) return object; - var message = new $root.google.cloud.dataproc.v1.NodeInitializationAction(); - if (object.executableFile != null) - message.executableFile = String(object.executableFile); - if (object.executionTimeout != null) { - if (typeof object.executionTimeout !== "object") - throw TypeError(".google.cloud.dataproc.v1.NodeInitializationAction.executionTimeout: object expected"); - message.executionTimeout = $root.google.protobuf.Duration.fromObject(object.executionTimeout); + var message = new $root.google.cloud.dataproc.v1.IdentityConfig(); + if (object.userServiceAccountMapping) { + if (typeof object.userServiceAccountMapping !== "object") + throw TypeError(".google.cloud.dataproc.v1.IdentityConfig.userServiceAccountMapping: object expected"); + message.userServiceAccountMapping = {}; + for (var keys = Object.keys(object.userServiceAccountMapping), i = 0; i < keys.length; ++i) + message.userServiceAccountMapping[keys[i]] = String(object.userServiceAccountMapping[keys[i]]); } return message; }; /** - * Creates a plain object from a NodeInitializationAction message. Also converts values to other types if specified. + * Creates a plain object from an IdentityConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * @memberof google.cloud.dataproc.v1.IdentityConfig * @static - * @param {google.cloud.dataproc.v1.NodeInitializationAction} message NodeInitializationAction + * @param {google.cloud.dataproc.v1.IdentityConfig} message IdentityConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - NodeInitializationAction.toObject = function toObject(message, options) { + IdentityConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.executableFile = ""; - object.executionTimeout = null; + if (options.objects || options.defaults) + object.userServiceAccountMapping = {}; + var keys2; + if (message.userServiceAccountMapping && (keys2 = Object.keys(message.userServiceAccountMapping)).length) { + object.userServiceAccountMapping = {}; + for (var j = 0; j < keys2.length; ++j) + object.userServiceAccountMapping[keys2[j]] = message.userServiceAccountMapping[keys2[j]]; } - if (message.executableFile != null && message.hasOwnProperty("executableFile")) - object.executableFile = message.executableFile; - if (message.executionTimeout != null && message.hasOwnProperty("executionTimeout")) - object.executionTimeout = $root.google.protobuf.Duration.toObject(message.executionTimeout, options); return object; }; /** - * Converts this NodeInitializationAction to JSON. + * Converts this IdentityConfig to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.NodeInitializationAction + * @memberof google.cloud.dataproc.v1.IdentityConfig * @instance * @returns {Object.} JSON object */ - NodeInitializationAction.prototype.toJSON = function toJSON() { + IdentityConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return NodeInitializationAction; + return IdentityConfig; })(); - v1.ClusterStatus = (function() { + v1.SoftwareConfig = (function() { /** - * Properties of a ClusterStatus. - * @memberof google.cloud.dataproc.v1 - * @interface IClusterStatus - * @property {google.cloud.dataproc.v1.ClusterStatus.State|null} [state] ClusterStatus state - * @property {string|null} [detail] ClusterStatus detail - * @property {google.protobuf.ITimestamp|null} [stateStartTime] ClusterStatus stateStartTime - * @property {google.cloud.dataproc.v1.ClusterStatus.Substate|null} [substate] ClusterStatus substate + * Properties of a SoftwareConfig. + * @memberof google.cloud.dataproc.v1 + * @interface ISoftwareConfig + * @property {string|null} [imageVersion] SoftwareConfig imageVersion + * @property {Object.|null} [properties] SoftwareConfig properties + * @property {Array.|null} [optionalComponents] SoftwareConfig optionalComponents */ /** - * Constructs a new ClusterStatus. + * Constructs a new SoftwareConfig. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a ClusterStatus. - * @implements IClusterStatus + * @classdesc Represents a SoftwareConfig. + * @implements ISoftwareConfig * @constructor - * @param {google.cloud.dataproc.v1.IClusterStatus=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.ISoftwareConfig=} [properties] Properties to set */ - function ClusterStatus(properties) { + function SoftwareConfig(properties) { + this.properties = {}; + this.optionalComponents = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6148,114 +8514,132 @@ } /** - * ClusterStatus state. - * @member {google.cloud.dataproc.v1.ClusterStatus.State} state - * @memberof google.cloud.dataproc.v1.ClusterStatus - * @instance - */ - ClusterStatus.prototype.state = 0; - - /** - * ClusterStatus detail. - * @member {string} detail - * @memberof google.cloud.dataproc.v1.ClusterStatus + * SoftwareConfig imageVersion. + * @member {string} imageVersion + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @instance */ - ClusterStatus.prototype.detail = ""; + SoftwareConfig.prototype.imageVersion = ""; /** - * ClusterStatus stateStartTime. - * @member {google.protobuf.ITimestamp|null|undefined} stateStartTime - * @memberof google.cloud.dataproc.v1.ClusterStatus + * SoftwareConfig properties. + * @member {Object.} properties + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @instance */ - ClusterStatus.prototype.stateStartTime = null; + SoftwareConfig.prototype.properties = $util.emptyObject; /** - * ClusterStatus substate. - * @member {google.cloud.dataproc.v1.ClusterStatus.Substate} substate - * @memberof google.cloud.dataproc.v1.ClusterStatus + * SoftwareConfig optionalComponents. + * @member {Array.} optionalComponents + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @instance */ - ClusterStatus.prototype.substate = 0; + SoftwareConfig.prototype.optionalComponents = $util.emptyArray; /** - * Creates a new ClusterStatus instance using the specified properties. + * Creates a new SoftwareConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.ClusterStatus + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @static - * @param {google.cloud.dataproc.v1.IClusterStatus=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.ClusterStatus} ClusterStatus instance + * @param {google.cloud.dataproc.v1.ISoftwareConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.SoftwareConfig} SoftwareConfig instance */ - ClusterStatus.create = function create(properties) { - return new ClusterStatus(properties); + SoftwareConfig.create = function create(properties) { + return new SoftwareConfig(properties); }; /** - * Encodes the specified ClusterStatus message. Does not implicitly {@link google.cloud.dataproc.v1.ClusterStatus.verify|verify} messages. + * Encodes the specified SoftwareConfig message. Does not implicitly {@link google.cloud.dataproc.v1.SoftwareConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.ClusterStatus + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @static - * @param {google.cloud.dataproc.v1.IClusterStatus} message ClusterStatus message or plain object to encode + * @param {google.cloud.dataproc.v1.ISoftwareConfig} message SoftwareConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ClusterStatus.encode = function encode(message, writer) { + SoftwareConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.detail != null && Object.hasOwnProperty.call(message, "detail")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.detail); - if (message.stateStartTime != null && Object.hasOwnProperty.call(message, "stateStartTime")) - $root.google.protobuf.Timestamp.encode(message.stateStartTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.substate != null && Object.hasOwnProperty.call(message, "substate")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.substate); + if (message.imageVersion != null && Object.hasOwnProperty.call(message, "imageVersion")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.imageVersion); + if (message.properties != null && Object.hasOwnProperty.call(message, "properties")) + for (var keys = Object.keys(message.properties), i = 0; i < keys.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.properties[keys[i]]).ldelim(); + if (message.optionalComponents != null && message.optionalComponents.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.optionalComponents.length; ++i) + writer.int32(message.optionalComponents[i]); + writer.ldelim(); + } return writer; }; /** - * Encodes the specified ClusterStatus message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.ClusterStatus.verify|verify} messages. + * Encodes the specified SoftwareConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.SoftwareConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.ClusterStatus + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @static - * @param {google.cloud.dataproc.v1.IClusterStatus} message ClusterStatus message or plain object to encode + * @param {google.cloud.dataproc.v1.ISoftwareConfig} message SoftwareConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ClusterStatus.encodeDelimited = function encodeDelimited(message, writer) { + SoftwareConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ClusterStatus message from the specified reader or buffer. + * Decodes a SoftwareConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.ClusterStatus + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.ClusterStatus} ClusterStatus + * @returns {google.cloud.dataproc.v1.SoftwareConfig} SoftwareConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClusterStatus.decode = function decode(reader, length) { + SoftwareConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.ClusterStatus(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.SoftwareConfig(), key, value; while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.state = reader.int32(); + message.imageVersion = reader.string(); break; case 2: - message.detail = reader.string(); + if (message.properties === $util.emptyObject) + message.properties = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.properties[key] = value; break; case 3: - message.stateStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.substate = reader.int32(); + if (!(message.optionalComponents && message.optionalComponents.length)) + message.optionalComponents = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.optionalComponents.push(reader.int32()); + } else + message.optionalComponents.push(reader.int32()); break; default: reader.skipType(tag & 7); @@ -6266,226 +8650,224 @@ }; /** - * Decodes a ClusterStatus message from the specified reader or buffer, length delimited. + * Decodes a SoftwareConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.ClusterStatus + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.ClusterStatus} ClusterStatus + * @returns {google.cloud.dataproc.v1.SoftwareConfig} SoftwareConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClusterStatus.decodeDelimited = function decodeDelimited(reader) { + SoftwareConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ClusterStatus message. + * Verifies a SoftwareConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.ClusterStatus + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClusterStatus.verify = function verify(message) { + SoftwareConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.detail != null && message.hasOwnProperty("detail")) - if (!$util.isString(message.detail)) - return "detail: string expected"; - if (message.stateStartTime != null && message.hasOwnProperty("stateStartTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.stateStartTime); - if (error) - return "stateStartTime." + error; + if (message.imageVersion != null && message.hasOwnProperty("imageVersion")) + if (!$util.isString(message.imageVersion)) + return "imageVersion: string expected"; + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!$util.isObject(message.properties)) + return "properties: object expected"; + var key = Object.keys(message.properties); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.properties[key[i]])) + return "properties: string{k:string} expected"; + } + if (message.optionalComponents != null && message.hasOwnProperty("optionalComponents")) { + if (!Array.isArray(message.optionalComponents)) + return "optionalComponents: array expected"; + for (var i = 0; i < message.optionalComponents.length; ++i) + switch (message.optionalComponents[i]) { + default: + return "optionalComponents: enum value[] expected"; + case 0: + case 5: + case 13: + case 9: + case 14: + case 11: + case 3: + case 1: + case 6: + case 12: + case 10: + case 4: + case 8: + break; + } } - if (message.substate != null && message.hasOwnProperty("substate")) - switch (message.substate) { - default: - return "substate: enum value expected"; - case 0: - case 1: - case 2: - break; - } return null; }; /** - * Creates a ClusterStatus message from a plain object. Also converts values to their respective internal types. + * Creates a SoftwareConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.ClusterStatus + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.ClusterStatus} ClusterStatus + * @returns {google.cloud.dataproc.v1.SoftwareConfig} SoftwareConfig */ - ClusterStatus.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.ClusterStatus) - return object; - var message = new $root.google.cloud.dataproc.v1.ClusterStatus(); - switch (object.state) { - case "UNKNOWN": - case 0: - message.state = 0; - break; - case "CREATING": - case 1: - message.state = 1; - break; - case "RUNNING": - case 2: - message.state = 2; - break; - case "ERROR": - case 3: - message.state = 3; - break; - case "DELETING": - case 4: - message.state = 4; - break; - case "UPDATING": - case 5: - message.state = 5; - break; - } - if (object.detail != null) - message.detail = String(object.detail); - if (object.stateStartTime != null) { - if (typeof object.stateStartTime !== "object") - throw TypeError(".google.cloud.dataproc.v1.ClusterStatus.stateStartTime: object expected"); - message.stateStartTime = $root.google.protobuf.Timestamp.fromObject(object.stateStartTime); + SoftwareConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.SoftwareConfig) + return object; + var message = new $root.google.cloud.dataproc.v1.SoftwareConfig(); + if (object.imageVersion != null) + message.imageVersion = String(object.imageVersion); + if (object.properties) { + if (typeof object.properties !== "object") + throw TypeError(".google.cloud.dataproc.v1.SoftwareConfig.properties: object expected"); + message.properties = {}; + for (var keys = Object.keys(object.properties), i = 0; i < keys.length; ++i) + message.properties[keys[i]] = String(object.properties[keys[i]]); } - switch (object.substate) { - case "UNSPECIFIED": - case 0: - message.substate = 0; - break; - case "UNHEALTHY": - case 1: - message.substate = 1; - break; - case "STALE_STATUS": - case 2: - message.substate = 2; - break; + if (object.optionalComponents) { + if (!Array.isArray(object.optionalComponents)) + throw TypeError(".google.cloud.dataproc.v1.SoftwareConfig.optionalComponents: array expected"); + message.optionalComponents = []; + for (var i = 0; i < object.optionalComponents.length; ++i) + switch (object.optionalComponents[i]) { + default: + case "COMPONENT_UNSPECIFIED": + case 0: + message.optionalComponents[i] = 0; + break; + case "ANACONDA": + case 5: + message.optionalComponents[i] = 5; + break; + case "DOCKER": + case 13: + message.optionalComponents[i] = 13; + break; + case "DRUID": + case 9: + message.optionalComponents[i] = 9; + break; + case "FLINK": + case 14: + message.optionalComponents[i] = 14; + break; + case "HBASE": + case 11: + message.optionalComponents[i] = 11; + break; + case "HIVE_WEBHCAT": + case 3: + message.optionalComponents[i] = 3; + break; + case "JUPYTER": + case 1: + message.optionalComponents[i] = 1; + break; + case "PRESTO": + case 6: + message.optionalComponents[i] = 6; + break; + case "RANGER": + case 12: + message.optionalComponents[i] = 12; + break; + case "SOLR": + case 10: + message.optionalComponents[i] = 10; + break; + case "ZEPPELIN": + case 4: + message.optionalComponents[i] = 4; + break; + case "ZOOKEEPER": + case 8: + message.optionalComponents[i] = 8; + break; + } } return message; }; /** - * Creates a plain object from a ClusterStatus message. Also converts values to other types if specified. + * Creates a plain object from a SoftwareConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.ClusterStatus + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @static - * @param {google.cloud.dataproc.v1.ClusterStatus} message ClusterStatus + * @param {google.cloud.dataproc.v1.SoftwareConfig} message SoftwareConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ClusterStatus.toObject = function toObject(message, options) { + SoftwareConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.state = options.enums === String ? "UNKNOWN" : 0; - object.detail = ""; - object.stateStartTime = null; - object.substate = options.enums === String ? "UNSPECIFIED" : 0; + if (options.arrays || options.defaults) + object.optionalComponents = []; + if (options.objects || options.defaults) + object.properties = {}; + if (options.defaults) + object.imageVersion = ""; + if (message.imageVersion != null && message.hasOwnProperty("imageVersion")) + object.imageVersion = message.imageVersion; + var keys2; + if (message.properties && (keys2 = Object.keys(message.properties)).length) { + object.properties = {}; + for (var j = 0; j < keys2.length; ++j) + object.properties[keys2[j]] = message.properties[keys2[j]]; + } + if (message.optionalComponents && message.optionalComponents.length) { + object.optionalComponents = []; + for (var j = 0; j < message.optionalComponents.length; ++j) + object.optionalComponents[j] = options.enums === String ? $root.google.cloud.dataproc.v1.Component[message.optionalComponents[j]] : message.optionalComponents[j]; } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.dataproc.v1.ClusterStatus.State[message.state] : message.state; - if (message.detail != null && message.hasOwnProperty("detail")) - object.detail = message.detail; - if (message.stateStartTime != null && message.hasOwnProperty("stateStartTime")) - object.stateStartTime = $root.google.protobuf.Timestamp.toObject(message.stateStartTime, options); - if (message.substate != null && message.hasOwnProperty("substate")) - object.substate = options.enums === String ? $root.google.cloud.dataproc.v1.ClusterStatus.Substate[message.substate] : message.substate; return object; }; /** - * Converts this ClusterStatus to JSON. + * Converts this SoftwareConfig to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.ClusterStatus + * @memberof google.cloud.dataproc.v1.SoftwareConfig * @instance * @returns {Object.} JSON object */ - ClusterStatus.prototype.toJSON = function toJSON() { + SoftwareConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * State enum. - * @name google.cloud.dataproc.v1.ClusterStatus.State - * @enum {number} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} CREATING=1 CREATING value - * @property {number} RUNNING=2 RUNNING value - * @property {number} ERROR=3 ERROR value - * @property {number} DELETING=4 DELETING value - * @property {number} UPDATING=5 UPDATING value - */ - ClusterStatus.State = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "CREATING"] = 1; - values[valuesById[2] = "RUNNING"] = 2; - values[valuesById[3] = "ERROR"] = 3; - values[valuesById[4] = "DELETING"] = 4; - values[valuesById[5] = "UPDATING"] = 5; - return values; - })(); - - /** - * Substate enum. - * @name google.cloud.dataproc.v1.ClusterStatus.Substate - * @enum {number} - * @property {number} UNSPECIFIED=0 UNSPECIFIED value - * @property {number} UNHEALTHY=1 UNHEALTHY value - * @property {number} STALE_STATUS=2 STALE_STATUS value - */ - ClusterStatus.Substate = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNSPECIFIED"] = 0; - values[valuesById[1] = "UNHEALTHY"] = 1; - values[valuesById[2] = "STALE_STATUS"] = 2; - return values; - })(); - - return ClusterStatus; + return SoftwareConfig; })(); - v1.SecurityConfig = (function() { + v1.LifecycleConfig = (function() { /** - * Properties of a SecurityConfig. + * Properties of a LifecycleConfig. * @memberof google.cloud.dataproc.v1 - * @interface ISecurityConfig - * @property {google.cloud.dataproc.v1.IKerberosConfig|null} [kerberosConfig] SecurityConfig kerberosConfig + * @interface ILifecycleConfig + * @property {google.protobuf.IDuration|null} [idleDeleteTtl] LifecycleConfig idleDeleteTtl + * @property {google.protobuf.ITimestamp|null} [autoDeleteTime] LifecycleConfig autoDeleteTime + * @property {google.protobuf.IDuration|null} [autoDeleteTtl] LifecycleConfig autoDeleteTtl + * @property {google.protobuf.ITimestamp|null} [idleStartTime] LifecycleConfig idleStartTime */ /** - * Constructs a new SecurityConfig. + * Constructs a new LifecycleConfig. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a SecurityConfig. - * @implements ISecurityConfig + * @classdesc Represents a LifecycleConfig. + * @implements ILifecycleConfig * @constructor - * @param {google.cloud.dataproc.v1.ISecurityConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.ILifecycleConfig=} [properties] Properties to set */ - function SecurityConfig(properties) { + function LifecycleConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6493,75 +8875,128 @@ } /** - * SecurityConfig kerberosConfig. - * @member {google.cloud.dataproc.v1.IKerberosConfig|null|undefined} kerberosConfig - * @memberof google.cloud.dataproc.v1.SecurityConfig + * LifecycleConfig idleDeleteTtl. + * @member {google.protobuf.IDuration|null|undefined} idleDeleteTtl + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @instance */ - SecurityConfig.prototype.kerberosConfig = null; + LifecycleConfig.prototype.idleDeleteTtl = null; /** - * Creates a new SecurityConfig instance using the specified properties. + * LifecycleConfig autoDeleteTime. + * @member {google.protobuf.ITimestamp|null|undefined} autoDeleteTime + * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @instance + */ + LifecycleConfig.prototype.autoDeleteTime = null; + + /** + * LifecycleConfig autoDeleteTtl. + * @member {google.protobuf.IDuration|null|undefined} autoDeleteTtl + * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @instance + */ + LifecycleConfig.prototype.autoDeleteTtl = null; + + /** + * LifecycleConfig idleStartTime. + * @member {google.protobuf.ITimestamp|null|undefined} idleStartTime + * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @instance + */ + LifecycleConfig.prototype.idleStartTime = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * LifecycleConfig ttl. + * @member {"autoDeleteTime"|"autoDeleteTtl"|undefined} ttl + * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @instance + */ + Object.defineProperty(LifecycleConfig.prototype, "ttl", { + get: $util.oneOfGetter($oneOfFields = ["autoDeleteTime", "autoDeleteTtl"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new LifecycleConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.SecurityConfig + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @static - * @param {google.cloud.dataproc.v1.ISecurityConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.SecurityConfig} SecurityConfig instance + * @param {google.cloud.dataproc.v1.ILifecycleConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.LifecycleConfig} LifecycleConfig instance */ - SecurityConfig.create = function create(properties) { - return new SecurityConfig(properties); + LifecycleConfig.create = function create(properties) { + return new LifecycleConfig(properties); }; /** - * Encodes the specified SecurityConfig message. Does not implicitly {@link google.cloud.dataproc.v1.SecurityConfig.verify|verify} messages. + * Encodes the specified LifecycleConfig message. Does not implicitly {@link google.cloud.dataproc.v1.LifecycleConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.SecurityConfig + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @static - * @param {google.cloud.dataproc.v1.ISecurityConfig} message SecurityConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.ILifecycleConfig} message LifecycleConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SecurityConfig.encode = function encode(message, writer) { + LifecycleConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.kerberosConfig != null && Object.hasOwnProperty.call(message, "kerberosConfig")) - $root.google.cloud.dataproc.v1.KerberosConfig.encode(message.kerberosConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.idleDeleteTtl != null && Object.hasOwnProperty.call(message, "idleDeleteTtl")) + $root.google.protobuf.Duration.encode(message.idleDeleteTtl, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.autoDeleteTime != null && Object.hasOwnProperty.call(message, "autoDeleteTime")) + $root.google.protobuf.Timestamp.encode(message.autoDeleteTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.autoDeleteTtl != null && Object.hasOwnProperty.call(message, "autoDeleteTtl")) + $root.google.protobuf.Duration.encode(message.autoDeleteTtl, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.idleStartTime != null && Object.hasOwnProperty.call(message, "idleStartTime")) + $root.google.protobuf.Timestamp.encode(message.idleStartTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified SecurityConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.SecurityConfig.verify|verify} messages. + * Encodes the specified LifecycleConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.LifecycleConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.SecurityConfig + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @static - * @param {google.cloud.dataproc.v1.ISecurityConfig} message SecurityConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.ILifecycleConfig} message LifecycleConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SecurityConfig.encodeDelimited = function encodeDelimited(message, writer) { + LifecycleConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SecurityConfig message from the specified reader or buffer. + * Decodes a LifecycleConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.SecurityConfig + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.SecurityConfig} SecurityConfig + * @returns {google.cloud.dataproc.v1.LifecycleConfig} LifecycleConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityConfig.decode = function decode(reader, length) { + LifecycleConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.SecurityConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.LifecycleConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.kerberosConfig = $root.google.cloud.dataproc.v1.KerberosConfig.decode(reader, reader.uint32()); + message.idleDeleteTtl = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.autoDeleteTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 3: + message.autoDeleteTtl = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 4: + message.idleStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -6572,384 +9007,241 @@ }; /** - * Decodes a SecurityConfig message from the specified reader or buffer, length delimited. + * Decodes a LifecycleConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.SecurityConfig + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.SecurityConfig} SecurityConfig + * @returns {google.cloud.dataproc.v1.LifecycleConfig} LifecycleConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityConfig.decodeDelimited = function decodeDelimited(reader) { + LifecycleConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SecurityConfig message. + * Verifies a LifecycleConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.SecurityConfig + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityConfig.verify = function verify(message) { + LifecycleConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.kerberosConfig != null && message.hasOwnProperty("kerberosConfig")) { - var error = $root.google.cloud.dataproc.v1.KerberosConfig.verify(message.kerberosConfig); + var properties = {}; + if (message.idleDeleteTtl != null && message.hasOwnProperty("idleDeleteTtl")) { + var error = $root.google.protobuf.Duration.verify(message.idleDeleteTtl); if (error) - return "kerberosConfig." + error; + return "idleDeleteTtl." + error; + } + if (message.autoDeleteTime != null && message.hasOwnProperty("autoDeleteTime")) { + properties.ttl = 1; + { + var error = $root.google.protobuf.Timestamp.verify(message.autoDeleteTime); + if (error) + return "autoDeleteTime." + error; + } + } + if (message.autoDeleteTtl != null && message.hasOwnProperty("autoDeleteTtl")) { + if (properties.ttl === 1) + return "ttl: multiple values"; + properties.ttl = 1; + { + var error = $root.google.protobuf.Duration.verify(message.autoDeleteTtl); + if (error) + return "autoDeleteTtl." + error; + } + } + if (message.idleStartTime != null && message.hasOwnProperty("idleStartTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.idleStartTime); + if (error) + return "idleStartTime." + error; } return null; }; /** - * Creates a SecurityConfig message from a plain object. Also converts values to their respective internal types. + * Creates a LifecycleConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.SecurityConfig + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.SecurityConfig} SecurityConfig + * @returns {google.cloud.dataproc.v1.LifecycleConfig} LifecycleConfig */ - SecurityConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.SecurityConfig) + LifecycleConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.LifecycleConfig) return object; - var message = new $root.google.cloud.dataproc.v1.SecurityConfig(); - if (object.kerberosConfig != null) { - if (typeof object.kerberosConfig !== "object") - throw TypeError(".google.cloud.dataproc.v1.SecurityConfig.kerberosConfig: object expected"); - message.kerberosConfig = $root.google.cloud.dataproc.v1.KerberosConfig.fromObject(object.kerberosConfig); + var message = new $root.google.cloud.dataproc.v1.LifecycleConfig(); + if (object.idleDeleteTtl != null) { + if (typeof object.idleDeleteTtl !== "object") + throw TypeError(".google.cloud.dataproc.v1.LifecycleConfig.idleDeleteTtl: object expected"); + message.idleDeleteTtl = $root.google.protobuf.Duration.fromObject(object.idleDeleteTtl); + } + if (object.autoDeleteTime != null) { + if (typeof object.autoDeleteTime !== "object") + throw TypeError(".google.cloud.dataproc.v1.LifecycleConfig.autoDeleteTime: object expected"); + message.autoDeleteTime = $root.google.protobuf.Timestamp.fromObject(object.autoDeleteTime); + } + if (object.autoDeleteTtl != null) { + if (typeof object.autoDeleteTtl !== "object") + throw TypeError(".google.cloud.dataproc.v1.LifecycleConfig.autoDeleteTtl: object expected"); + message.autoDeleteTtl = $root.google.protobuf.Duration.fromObject(object.autoDeleteTtl); + } + if (object.idleStartTime != null) { + if (typeof object.idleStartTime !== "object") + throw TypeError(".google.cloud.dataproc.v1.LifecycleConfig.idleStartTime: object expected"); + message.idleStartTime = $root.google.protobuf.Timestamp.fromObject(object.idleStartTime); } return message; }; /** - * Creates a plain object from a SecurityConfig message. Also converts values to other types if specified. + * Creates a plain object from a LifecycleConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.SecurityConfig + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @static - * @param {google.cloud.dataproc.v1.SecurityConfig} message SecurityConfig + * @param {google.cloud.dataproc.v1.LifecycleConfig} message LifecycleConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SecurityConfig.toObject = function toObject(message, options) { + LifecycleConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.kerberosConfig = null; - if (message.kerberosConfig != null && message.hasOwnProperty("kerberosConfig")) - object.kerberosConfig = $root.google.cloud.dataproc.v1.KerberosConfig.toObject(message.kerberosConfig, options); - return object; - }; - - /** - * Converts this SecurityConfig to JSON. - * @function toJSON - * @memberof google.cloud.dataproc.v1.SecurityConfig - * @instance - * @returns {Object.} JSON object - */ - SecurityConfig.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SecurityConfig; - })(); - - v1.KerberosConfig = (function() { - - /** - * Properties of a KerberosConfig. - * @memberof google.cloud.dataproc.v1 - * @interface IKerberosConfig - * @property {boolean|null} [enableKerberos] KerberosConfig enableKerberos - * @property {string|null} [rootPrincipalPasswordUri] KerberosConfig rootPrincipalPasswordUri - * @property {string|null} [kmsKeyUri] KerberosConfig kmsKeyUri - * @property {string|null} [keystoreUri] KerberosConfig keystoreUri - * @property {string|null} [truststoreUri] KerberosConfig truststoreUri - * @property {string|null} [keystorePasswordUri] KerberosConfig keystorePasswordUri - * @property {string|null} [keyPasswordUri] KerberosConfig keyPasswordUri - * @property {string|null} [truststorePasswordUri] KerberosConfig truststorePasswordUri - * @property {string|null} [crossRealmTrustRealm] KerberosConfig crossRealmTrustRealm - * @property {string|null} [crossRealmTrustKdc] KerberosConfig crossRealmTrustKdc - * @property {string|null} [crossRealmTrustAdminServer] KerberosConfig crossRealmTrustAdminServer - * @property {string|null} [crossRealmTrustSharedPasswordUri] KerberosConfig crossRealmTrustSharedPasswordUri - * @property {string|null} [kdcDbKeyUri] KerberosConfig kdcDbKeyUri - * @property {number|null} [tgtLifetimeHours] KerberosConfig tgtLifetimeHours - * @property {string|null} [realm] KerberosConfig realm - */ - - /** - * Constructs a new KerberosConfig. - * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a KerberosConfig. - * @implements IKerberosConfig - * @constructor - * @param {google.cloud.dataproc.v1.IKerberosConfig=} [properties] Properties to set - */ - function KerberosConfig(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * KerberosConfig enableKerberos. - * @member {boolean} enableKerberos - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.enableKerberos = false; - - /** - * KerberosConfig rootPrincipalPasswordUri. - * @member {string} rootPrincipalPasswordUri - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.rootPrincipalPasswordUri = ""; - - /** - * KerberosConfig kmsKeyUri. - * @member {string} kmsKeyUri - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.kmsKeyUri = ""; - - /** - * KerberosConfig keystoreUri. - * @member {string} keystoreUri - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.keystoreUri = ""; - - /** - * KerberosConfig truststoreUri. - * @member {string} truststoreUri - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.truststoreUri = ""; - - /** - * KerberosConfig keystorePasswordUri. - * @member {string} keystorePasswordUri - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.keystorePasswordUri = ""; - - /** - * KerberosConfig keyPasswordUri. - * @member {string} keyPasswordUri - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.keyPasswordUri = ""; - - /** - * KerberosConfig truststorePasswordUri. - * @member {string} truststorePasswordUri - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.truststorePasswordUri = ""; - - /** - * KerberosConfig crossRealmTrustRealm. - * @member {string} crossRealmTrustRealm - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.crossRealmTrustRealm = ""; + if (options.defaults) { + object.idleDeleteTtl = null; + object.idleStartTime = null; + } + if (message.idleDeleteTtl != null && message.hasOwnProperty("idleDeleteTtl")) + object.idleDeleteTtl = $root.google.protobuf.Duration.toObject(message.idleDeleteTtl, options); + if (message.autoDeleteTime != null && message.hasOwnProperty("autoDeleteTime")) { + object.autoDeleteTime = $root.google.protobuf.Timestamp.toObject(message.autoDeleteTime, options); + if (options.oneofs) + object.ttl = "autoDeleteTime"; + } + if (message.autoDeleteTtl != null && message.hasOwnProperty("autoDeleteTtl")) { + object.autoDeleteTtl = $root.google.protobuf.Duration.toObject(message.autoDeleteTtl, options); + if (options.oneofs) + object.ttl = "autoDeleteTtl"; + } + if (message.idleStartTime != null && message.hasOwnProperty("idleStartTime")) + object.idleStartTime = $root.google.protobuf.Timestamp.toObject(message.idleStartTime, options); + return object; + }; /** - * KerberosConfig crossRealmTrustKdc. - * @member {string} crossRealmTrustKdc - * @memberof google.cloud.dataproc.v1.KerberosConfig + * Converts this LifecycleConfig to JSON. + * @function toJSON + * @memberof google.cloud.dataproc.v1.LifecycleConfig * @instance + * @returns {Object.} JSON object */ - KerberosConfig.prototype.crossRealmTrustKdc = ""; + LifecycleConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * KerberosConfig crossRealmTrustAdminServer. - * @member {string} crossRealmTrustAdminServer - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.crossRealmTrustAdminServer = ""; + return LifecycleConfig; + })(); - /** - * KerberosConfig crossRealmTrustSharedPasswordUri. - * @member {string} crossRealmTrustSharedPasswordUri - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance - */ - KerberosConfig.prototype.crossRealmTrustSharedPasswordUri = ""; + v1.MetastoreConfig = (function() { /** - * KerberosConfig kdcDbKeyUri. - * @member {string} kdcDbKeyUri - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance + * Properties of a MetastoreConfig. + * @memberof google.cloud.dataproc.v1 + * @interface IMetastoreConfig + * @property {string|null} [dataprocMetastoreService] MetastoreConfig dataprocMetastoreService */ - KerberosConfig.prototype.kdcDbKeyUri = ""; /** - * KerberosConfig tgtLifetimeHours. - * @member {number} tgtLifetimeHours - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @instance + * Constructs a new MetastoreConfig. + * @memberof google.cloud.dataproc.v1 + * @classdesc Represents a MetastoreConfig. + * @implements IMetastoreConfig + * @constructor + * @param {google.cloud.dataproc.v1.IMetastoreConfig=} [properties] Properties to set */ - KerberosConfig.prototype.tgtLifetimeHours = 0; + function MetastoreConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } /** - * KerberosConfig realm. - * @member {string} realm - * @memberof google.cloud.dataproc.v1.KerberosConfig + * MetastoreConfig dataprocMetastoreService. + * @member {string} dataprocMetastoreService + * @memberof google.cloud.dataproc.v1.MetastoreConfig * @instance */ - KerberosConfig.prototype.realm = ""; + MetastoreConfig.prototype.dataprocMetastoreService = ""; /** - * Creates a new KerberosConfig instance using the specified properties. + * Creates a new MetastoreConfig instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.KerberosConfig + * @memberof google.cloud.dataproc.v1.MetastoreConfig * @static - * @param {google.cloud.dataproc.v1.IKerberosConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.KerberosConfig} KerberosConfig instance + * @param {google.cloud.dataproc.v1.IMetastoreConfig=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.MetastoreConfig} MetastoreConfig instance */ - KerberosConfig.create = function create(properties) { - return new KerberosConfig(properties); + MetastoreConfig.create = function create(properties) { + return new MetastoreConfig(properties); }; /** - * Encodes the specified KerberosConfig message. Does not implicitly {@link google.cloud.dataproc.v1.KerberosConfig.verify|verify} messages. + * Encodes the specified MetastoreConfig message. Does not implicitly {@link google.cloud.dataproc.v1.MetastoreConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.KerberosConfig + * @memberof google.cloud.dataproc.v1.MetastoreConfig * @static - * @param {google.cloud.dataproc.v1.IKerberosConfig} message KerberosConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IMetastoreConfig} message MetastoreConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - KerberosConfig.encode = function encode(message, writer) { + MetastoreConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.enableKerberos != null && Object.hasOwnProperty.call(message, "enableKerberos")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableKerberos); - if (message.rootPrincipalPasswordUri != null && Object.hasOwnProperty.call(message, "rootPrincipalPasswordUri")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.rootPrincipalPasswordUri); - if (message.kmsKeyUri != null && Object.hasOwnProperty.call(message, "kmsKeyUri")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.kmsKeyUri); - if (message.keystoreUri != null && Object.hasOwnProperty.call(message, "keystoreUri")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.keystoreUri); - if (message.truststoreUri != null && Object.hasOwnProperty.call(message, "truststoreUri")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.truststoreUri); - if (message.keystorePasswordUri != null && Object.hasOwnProperty.call(message, "keystorePasswordUri")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.keystorePasswordUri); - if (message.keyPasswordUri != null && Object.hasOwnProperty.call(message, "keyPasswordUri")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.keyPasswordUri); - if (message.truststorePasswordUri != null && Object.hasOwnProperty.call(message, "truststorePasswordUri")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.truststorePasswordUri); - if (message.crossRealmTrustRealm != null && Object.hasOwnProperty.call(message, "crossRealmTrustRealm")) - writer.uint32(/* id 9, wireType 2 =*/74).string(message.crossRealmTrustRealm); - if (message.crossRealmTrustKdc != null && Object.hasOwnProperty.call(message, "crossRealmTrustKdc")) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.crossRealmTrustKdc); - if (message.crossRealmTrustAdminServer != null && Object.hasOwnProperty.call(message, "crossRealmTrustAdminServer")) - writer.uint32(/* id 11, wireType 2 =*/90).string(message.crossRealmTrustAdminServer); - if (message.crossRealmTrustSharedPasswordUri != null && Object.hasOwnProperty.call(message, "crossRealmTrustSharedPasswordUri")) - writer.uint32(/* id 12, wireType 2 =*/98).string(message.crossRealmTrustSharedPasswordUri); - if (message.kdcDbKeyUri != null && Object.hasOwnProperty.call(message, "kdcDbKeyUri")) - writer.uint32(/* id 13, wireType 2 =*/106).string(message.kdcDbKeyUri); - if (message.tgtLifetimeHours != null && Object.hasOwnProperty.call(message, "tgtLifetimeHours")) - writer.uint32(/* id 14, wireType 0 =*/112).int32(message.tgtLifetimeHours); - if (message.realm != null && Object.hasOwnProperty.call(message, "realm")) - writer.uint32(/* id 15, wireType 2 =*/122).string(message.realm); + if (message.dataprocMetastoreService != null && Object.hasOwnProperty.call(message, "dataprocMetastoreService")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.dataprocMetastoreService); return writer; }; /** - * Encodes the specified KerberosConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.KerberosConfig.verify|verify} messages. + * Encodes the specified MetastoreConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.MetastoreConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.KerberosConfig + * @memberof google.cloud.dataproc.v1.MetastoreConfig * @static - * @param {google.cloud.dataproc.v1.IKerberosConfig} message KerberosConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IMetastoreConfig} message MetastoreConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - KerberosConfig.encodeDelimited = function encodeDelimited(message, writer) { + MetastoreConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a KerberosConfig message from the specified reader or buffer. + * Decodes a MetastoreConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.KerberosConfig + * @memberof google.cloud.dataproc.v1.MetastoreConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.KerberosConfig} KerberosConfig + * @returns {google.cloud.dataproc.v1.MetastoreConfig} MetastoreConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KerberosConfig.decode = function decode(reader, length) { + MetastoreConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.KerberosConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.MetastoreConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.enableKerberos = reader.bool(); - break; - case 2: - message.rootPrincipalPasswordUri = reader.string(); - break; - case 3: - message.kmsKeyUri = reader.string(); - break; - case 4: - message.keystoreUri = reader.string(); - break; - case 5: - message.truststoreUri = reader.string(); - break; - case 6: - message.keystorePasswordUri = reader.string(); - break; - case 7: - message.keyPasswordUri = reader.string(); - break; - case 8: - message.truststorePasswordUri = reader.string(); - break; - case 9: - message.crossRealmTrustRealm = reader.string(); - break; - case 10: - message.crossRealmTrustKdc = reader.string(); - break; - case 11: - message.crossRealmTrustAdminServer = reader.string(); - break; - case 12: - message.crossRealmTrustSharedPasswordUri = reader.string(); - break; - case 13: - message.kdcDbKeyUri = reader.string(); - break; - case 14: - message.tgtLifetimeHours = reader.int32(); - break; - case 15: - message.realm = reader.string(); + message.dataprocMetastoreService = reader.string(); break; default: reader.skipType(tag & 7); @@ -6960,224 +9252,110 @@ }; /** - * Decodes a KerberosConfig message from the specified reader or buffer, length delimited. + * Decodes a MetastoreConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.KerberosConfig + * @memberof google.cloud.dataproc.v1.MetastoreConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.KerberosConfig} KerberosConfig + * @returns {google.cloud.dataproc.v1.MetastoreConfig} MetastoreConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KerberosConfig.decodeDelimited = function decodeDelimited(reader) { + MetastoreConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a KerberosConfig message. + * Verifies a MetastoreConfig message. * @function verify - * @memberof google.cloud.dataproc.v1.KerberosConfig + * @memberof google.cloud.dataproc.v1.MetastoreConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - KerberosConfig.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.enableKerberos != null && message.hasOwnProperty("enableKerberos")) - if (typeof message.enableKerberos !== "boolean") - return "enableKerberos: boolean expected"; - if (message.rootPrincipalPasswordUri != null && message.hasOwnProperty("rootPrincipalPasswordUri")) - if (!$util.isString(message.rootPrincipalPasswordUri)) - return "rootPrincipalPasswordUri: string expected"; - if (message.kmsKeyUri != null && message.hasOwnProperty("kmsKeyUri")) - if (!$util.isString(message.kmsKeyUri)) - return "kmsKeyUri: string expected"; - if (message.keystoreUri != null && message.hasOwnProperty("keystoreUri")) - if (!$util.isString(message.keystoreUri)) - return "keystoreUri: string expected"; - if (message.truststoreUri != null && message.hasOwnProperty("truststoreUri")) - if (!$util.isString(message.truststoreUri)) - return "truststoreUri: string expected"; - if (message.keystorePasswordUri != null && message.hasOwnProperty("keystorePasswordUri")) - if (!$util.isString(message.keystorePasswordUri)) - return "keystorePasswordUri: string expected"; - if (message.keyPasswordUri != null && message.hasOwnProperty("keyPasswordUri")) - if (!$util.isString(message.keyPasswordUri)) - return "keyPasswordUri: string expected"; - if (message.truststorePasswordUri != null && message.hasOwnProperty("truststorePasswordUri")) - if (!$util.isString(message.truststorePasswordUri)) - return "truststorePasswordUri: string expected"; - if (message.crossRealmTrustRealm != null && message.hasOwnProperty("crossRealmTrustRealm")) - if (!$util.isString(message.crossRealmTrustRealm)) - return "crossRealmTrustRealm: string expected"; - if (message.crossRealmTrustKdc != null && message.hasOwnProperty("crossRealmTrustKdc")) - if (!$util.isString(message.crossRealmTrustKdc)) - return "crossRealmTrustKdc: string expected"; - if (message.crossRealmTrustAdminServer != null && message.hasOwnProperty("crossRealmTrustAdminServer")) - if (!$util.isString(message.crossRealmTrustAdminServer)) - return "crossRealmTrustAdminServer: string expected"; - if (message.crossRealmTrustSharedPasswordUri != null && message.hasOwnProperty("crossRealmTrustSharedPasswordUri")) - if (!$util.isString(message.crossRealmTrustSharedPasswordUri)) - return "crossRealmTrustSharedPasswordUri: string expected"; - if (message.kdcDbKeyUri != null && message.hasOwnProperty("kdcDbKeyUri")) - if (!$util.isString(message.kdcDbKeyUri)) - return "kdcDbKeyUri: string expected"; - if (message.tgtLifetimeHours != null && message.hasOwnProperty("tgtLifetimeHours")) - if (!$util.isInteger(message.tgtLifetimeHours)) - return "tgtLifetimeHours: integer expected"; - if (message.realm != null && message.hasOwnProperty("realm")) - if (!$util.isString(message.realm)) - return "realm: string expected"; - return null; - }; - - /** - * Creates a KerberosConfig message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.dataproc.v1.KerberosConfig - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.KerberosConfig} KerberosConfig - */ - KerberosConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.KerberosConfig) - return object; - var message = new $root.google.cloud.dataproc.v1.KerberosConfig(); - if (object.enableKerberos != null) - message.enableKerberos = Boolean(object.enableKerberos); - if (object.rootPrincipalPasswordUri != null) - message.rootPrincipalPasswordUri = String(object.rootPrincipalPasswordUri); - if (object.kmsKeyUri != null) - message.kmsKeyUri = String(object.kmsKeyUri); - if (object.keystoreUri != null) - message.keystoreUri = String(object.keystoreUri); - if (object.truststoreUri != null) - message.truststoreUri = String(object.truststoreUri); - if (object.keystorePasswordUri != null) - message.keystorePasswordUri = String(object.keystorePasswordUri); - if (object.keyPasswordUri != null) - message.keyPasswordUri = String(object.keyPasswordUri); - if (object.truststorePasswordUri != null) - message.truststorePasswordUri = String(object.truststorePasswordUri); - if (object.crossRealmTrustRealm != null) - message.crossRealmTrustRealm = String(object.crossRealmTrustRealm); - if (object.crossRealmTrustKdc != null) - message.crossRealmTrustKdc = String(object.crossRealmTrustKdc); - if (object.crossRealmTrustAdminServer != null) - message.crossRealmTrustAdminServer = String(object.crossRealmTrustAdminServer); - if (object.crossRealmTrustSharedPasswordUri != null) - message.crossRealmTrustSharedPasswordUri = String(object.crossRealmTrustSharedPasswordUri); - if (object.kdcDbKeyUri != null) - message.kdcDbKeyUri = String(object.kdcDbKeyUri); - if (object.tgtLifetimeHours != null) - message.tgtLifetimeHours = object.tgtLifetimeHours | 0; - if (object.realm != null) - message.realm = String(object.realm); + */ + MetastoreConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dataprocMetastoreService != null && message.hasOwnProperty("dataprocMetastoreService")) + if (!$util.isString(message.dataprocMetastoreService)) + return "dataprocMetastoreService: string expected"; + return null; + }; + + /** + * Creates a MetastoreConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dataproc.v1.MetastoreConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dataproc.v1.MetastoreConfig} MetastoreConfig + */ + MetastoreConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.MetastoreConfig) + return object; + var message = new $root.google.cloud.dataproc.v1.MetastoreConfig(); + if (object.dataprocMetastoreService != null) + message.dataprocMetastoreService = String(object.dataprocMetastoreService); return message; }; /** - * Creates a plain object from a KerberosConfig message. Also converts values to other types if specified. + * Creates a plain object from a MetastoreConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.KerberosConfig + * @memberof google.cloud.dataproc.v1.MetastoreConfig * @static - * @param {google.cloud.dataproc.v1.KerberosConfig} message KerberosConfig + * @param {google.cloud.dataproc.v1.MetastoreConfig} message MetastoreConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - KerberosConfig.toObject = function toObject(message, options) { + MetastoreConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.enableKerberos = false; - object.rootPrincipalPasswordUri = ""; - object.kmsKeyUri = ""; - object.keystoreUri = ""; - object.truststoreUri = ""; - object.keystorePasswordUri = ""; - object.keyPasswordUri = ""; - object.truststorePasswordUri = ""; - object.crossRealmTrustRealm = ""; - object.crossRealmTrustKdc = ""; - object.crossRealmTrustAdminServer = ""; - object.crossRealmTrustSharedPasswordUri = ""; - object.kdcDbKeyUri = ""; - object.tgtLifetimeHours = 0; - object.realm = ""; - } - if (message.enableKerberos != null && message.hasOwnProperty("enableKerberos")) - object.enableKerberos = message.enableKerberos; - if (message.rootPrincipalPasswordUri != null && message.hasOwnProperty("rootPrincipalPasswordUri")) - object.rootPrincipalPasswordUri = message.rootPrincipalPasswordUri; - if (message.kmsKeyUri != null && message.hasOwnProperty("kmsKeyUri")) - object.kmsKeyUri = message.kmsKeyUri; - if (message.keystoreUri != null && message.hasOwnProperty("keystoreUri")) - object.keystoreUri = message.keystoreUri; - if (message.truststoreUri != null && message.hasOwnProperty("truststoreUri")) - object.truststoreUri = message.truststoreUri; - if (message.keystorePasswordUri != null && message.hasOwnProperty("keystorePasswordUri")) - object.keystorePasswordUri = message.keystorePasswordUri; - if (message.keyPasswordUri != null && message.hasOwnProperty("keyPasswordUri")) - object.keyPasswordUri = message.keyPasswordUri; - if (message.truststorePasswordUri != null && message.hasOwnProperty("truststorePasswordUri")) - object.truststorePasswordUri = message.truststorePasswordUri; - if (message.crossRealmTrustRealm != null && message.hasOwnProperty("crossRealmTrustRealm")) - object.crossRealmTrustRealm = message.crossRealmTrustRealm; - if (message.crossRealmTrustKdc != null && message.hasOwnProperty("crossRealmTrustKdc")) - object.crossRealmTrustKdc = message.crossRealmTrustKdc; - if (message.crossRealmTrustAdminServer != null && message.hasOwnProperty("crossRealmTrustAdminServer")) - object.crossRealmTrustAdminServer = message.crossRealmTrustAdminServer; - if (message.crossRealmTrustSharedPasswordUri != null && message.hasOwnProperty("crossRealmTrustSharedPasswordUri")) - object.crossRealmTrustSharedPasswordUri = message.crossRealmTrustSharedPasswordUri; - if (message.kdcDbKeyUri != null && message.hasOwnProperty("kdcDbKeyUri")) - object.kdcDbKeyUri = message.kdcDbKeyUri; - if (message.tgtLifetimeHours != null && message.hasOwnProperty("tgtLifetimeHours")) - object.tgtLifetimeHours = message.tgtLifetimeHours; - if (message.realm != null && message.hasOwnProperty("realm")) - object.realm = message.realm; + if (options.defaults) + object.dataprocMetastoreService = ""; + if (message.dataprocMetastoreService != null && message.hasOwnProperty("dataprocMetastoreService")) + object.dataprocMetastoreService = message.dataprocMetastoreService; return object; }; /** - * Converts this KerberosConfig to JSON. + * Converts this MetastoreConfig to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.KerberosConfig + * @memberof google.cloud.dataproc.v1.MetastoreConfig * @instance * @returns {Object.} JSON object */ - KerberosConfig.prototype.toJSON = function toJSON() { + MetastoreConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return KerberosConfig; + return MetastoreConfig; })(); - v1.SoftwareConfig = (function() { + v1.ClusterMetrics = (function() { /** - * Properties of a SoftwareConfig. + * Properties of a ClusterMetrics. * @memberof google.cloud.dataproc.v1 - * @interface ISoftwareConfig - * @property {string|null} [imageVersion] SoftwareConfig imageVersion - * @property {Object.|null} [properties] SoftwareConfig properties - * @property {Array.|null} [optionalComponents] SoftwareConfig optionalComponents + * @interface IClusterMetrics + * @property {Object.|null} [hdfsMetrics] ClusterMetrics hdfsMetrics + * @property {Object.|null} [yarnMetrics] ClusterMetrics yarnMetrics */ /** - * Constructs a new SoftwareConfig. + * Constructs a new ClusterMetrics. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a SoftwareConfig. - * @implements ISoftwareConfig + * @classdesc Represents a ClusterMetrics. + * @implements IClusterMetrics * @constructor - * @param {google.cloud.dataproc.v1.ISoftwareConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IClusterMetrics=} [properties] Properties to set */ - function SoftwareConfig(properties) { - this.properties = {}; - this.optionalComponents = []; + function ClusterMetrics(properties) { + this.hdfsMetrics = {}; + this.yarnMetrics = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -7185,107 +9363,113 @@ } /** - * SoftwareConfig imageVersion. - * @member {string} imageVersion - * @memberof google.cloud.dataproc.v1.SoftwareConfig - * @instance - */ - SoftwareConfig.prototype.imageVersion = ""; - - /** - * SoftwareConfig properties. - * @member {Object.} properties - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * ClusterMetrics hdfsMetrics. + * @member {Object.} hdfsMetrics + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @instance */ - SoftwareConfig.prototype.properties = $util.emptyObject; + ClusterMetrics.prototype.hdfsMetrics = $util.emptyObject; /** - * SoftwareConfig optionalComponents. - * @member {Array.} optionalComponents - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * ClusterMetrics yarnMetrics. + * @member {Object.} yarnMetrics + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @instance */ - SoftwareConfig.prototype.optionalComponents = $util.emptyArray; + ClusterMetrics.prototype.yarnMetrics = $util.emptyObject; /** - * Creates a new SoftwareConfig instance using the specified properties. + * Creates a new ClusterMetrics instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @static - * @param {google.cloud.dataproc.v1.ISoftwareConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.SoftwareConfig} SoftwareConfig instance + * @param {google.cloud.dataproc.v1.IClusterMetrics=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.ClusterMetrics} ClusterMetrics instance */ - SoftwareConfig.create = function create(properties) { - return new SoftwareConfig(properties); + ClusterMetrics.create = function create(properties) { + return new ClusterMetrics(properties); }; /** - * Encodes the specified SoftwareConfig message. Does not implicitly {@link google.cloud.dataproc.v1.SoftwareConfig.verify|verify} messages. + * Encodes the specified ClusterMetrics message. Does not implicitly {@link google.cloud.dataproc.v1.ClusterMetrics.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @static - * @param {google.cloud.dataproc.v1.ISoftwareConfig} message SoftwareConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IClusterMetrics} message ClusterMetrics message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SoftwareConfig.encode = function encode(message, writer) { + ClusterMetrics.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.imageVersion != null && Object.hasOwnProperty.call(message, "imageVersion")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.imageVersion); - if (message.properties != null && Object.hasOwnProperty.call(message, "properties")) - for (var keys = Object.keys(message.properties), i = 0; i < keys.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.properties[keys[i]]).ldelim(); - if (message.optionalComponents != null && message.optionalComponents.length) { - writer.uint32(/* id 3, wireType 2 =*/26).fork(); - for (var i = 0; i < message.optionalComponents.length; ++i) - writer.int32(message.optionalComponents[i]); - writer.ldelim(); - } + if (message.hdfsMetrics != null && Object.hasOwnProperty.call(message, "hdfsMetrics")) + for (var keys = Object.keys(message.hdfsMetrics), i = 0; i < keys.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 0 =*/16).int64(message.hdfsMetrics[keys[i]]).ldelim(); + if (message.yarnMetrics != null && Object.hasOwnProperty.call(message, "yarnMetrics")) + for (var keys = Object.keys(message.yarnMetrics), i = 0; i < keys.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 0 =*/16).int64(message.yarnMetrics[keys[i]]).ldelim(); return writer; }; /** - * Encodes the specified SoftwareConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.SoftwareConfig.verify|verify} messages. + * Encodes the specified ClusterMetrics message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.ClusterMetrics.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @static - * @param {google.cloud.dataproc.v1.ISoftwareConfig} message SoftwareConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.IClusterMetrics} message ClusterMetrics message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SoftwareConfig.encodeDelimited = function encodeDelimited(message, writer) { + ClusterMetrics.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SoftwareConfig message from the specified reader or buffer. + * Decodes a ClusterMetrics message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.SoftwareConfig} SoftwareConfig + * @returns {google.cloud.dataproc.v1.ClusterMetrics} ClusterMetrics * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SoftwareConfig.decode = function decode(reader, length) { + ClusterMetrics.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.SoftwareConfig(), key, value; + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.ClusterMetrics(), key, value; while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.imageVersion = reader.string(); + if (message.hdfsMetrics === $util.emptyObject) + message.hdfsMetrics = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = 0; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.int64(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.hdfsMetrics[key] = value; break; case 2: - if (message.properties === $util.emptyObject) - message.properties = {}; + if (message.yarnMetrics === $util.emptyObject) + message.yarnMetrics = {}; var end2 = reader.uint32() + reader.pos; key = ""; - value = ""; + value = 0; while (reader.pos < end2) { var tag2 = reader.uint32(); switch (tag2 >>> 3) { @@ -7293,24 +9477,14 @@ key = reader.string(); break; case 2: - value = reader.string(); + value = reader.int64(); break; default: reader.skipType(tag2 & 7); break; } } - message.properties[key] = value; - break; - case 3: - if (!(message.optionalComponents && message.optionalComponents.length)) - message.optionalComponents = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.optionalComponents.push(reader.int32()); - } else - message.optionalComponents.push(reader.int32()); + message.yarnMetrics[key] = value; break; default: reader.skipType(tag & 7); @@ -7321,194 +9495,166 @@ }; /** - * Decodes a SoftwareConfig message from the specified reader or buffer, length delimited. + * Decodes a ClusterMetrics message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.SoftwareConfig} SoftwareConfig + * @returns {google.cloud.dataproc.v1.ClusterMetrics} ClusterMetrics * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SoftwareConfig.decodeDelimited = function decodeDelimited(reader) { + ClusterMetrics.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SoftwareConfig message. + * Verifies a ClusterMetrics message. * @function verify - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SoftwareConfig.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.imageVersion != null && message.hasOwnProperty("imageVersion")) - if (!$util.isString(message.imageVersion)) - return "imageVersion: string expected"; - if (message.properties != null && message.hasOwnProperty("properties")) { - if (!$util.isObject(message.properties)) - return "properties: object expected"; - var key = Object.keys(message.properties); - for (var i = 0; i < key.length; ++i) - if (!$util.isString(message.properties[key[i]])) - return "properties: string{k:string} expected"; - } - if (message.optionalComponents != null && message.hasOwnProperty("optionalComponents")) { - if (!Array.isArray(message.optionalComponents)) - return "optionalComponents: array expected"; - for (var i = 0; i < message.optionalComponents.length; ++i) - switch (message.optionalComponents[i]) { - default: - return "optionalComponents: enum value[] expected"; - case 0: - case 5: - case 3: - case 1: - case 6: - case 4: - case 8: - break; - } + */ + ClusterMetrics.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.hdfsMetrics != null && message.hasOwnProperty("hdfsMetrics")) { + if (!$util.isObject(message.hdfsMetrics)) + return "hdfsMetrics: object expected"; + var key = Object.keys(message.hdfsMetrics); + for (var i = 0; i < key.length; ++i) + if (!$util.isInteger(message.hdfsMetrics[key[i]]) && !(message.hdfsMetrics[key[i]] && $util.isInteger(message.hdfsMetrics[key[i]].low) && $util.isInteger(message.hdfsMetrics[key[i]].high))) + return "hdfsMetrics: integer|Long{k:string} expected"; + } + if (message.yarnMetrics != null && message.hasOwnProperty("yarnMetrics")) { + if (!$util.isObject(message.yarnMetrics)) + return "yarnMetrics: object expected"; + var key = Object.keys(message.yarnMetrics); + for (var i = 0; i < key.length; ++i) + if (!$util.isInteger(message.yarnMetrics[key[i]]) && !(message.yarnMetrics[key[i]] && $util.isInteger(message.yarnMetrics[key[i]].low) && $util.isInteger(message.yarnMetrics[key[i]].high))) + return "yarnMetrics: integer|Long{k:string} expected"; } return null; }; /** - * Creates a SoftwareConfig message from a plain object. Also converts values to their respective internal types. + * Creates a ClusterMetrics message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.SoftwareConfig} SoftwareConfig + * @returns {google.cloud.dataproc.v1.ClusterMetrics} ClusterMetrics */ - SoftwareConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.SoftwareConfig) + ClusterMetrics.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.ClusterMetrics) return object; - var message = new $root.google.cloud.dataproc.v1.SoftwareConfig(); - if (object.imageVersion != null) - message.imageVersion = String(object.imageVersion); - if (object.properties) { - if (typeof object.properties !== "object") - throw TypeError(".google.cloud.dataproc.v1.SoftwareConfig.properties: object expected"); - message.properties = {}; - for (var keys = Object.keys(object.properties), i = 0; i < keys.length; ++i) - message.properties[keys[i]] = String(object.properties[keys[i]]); + var message = new $root.google.cloud.dataproc.v1.ClusterMetrics(); + if (object.hdfsMetrics) { + if (typeof object.hdfsMetrics !== "object") + throw TypeError(".google.cloud.dataproc.v1.ClusterMetrics.hdfsMetrics: object expected"); + message.hdfsMetrics = {}; + for (var keys = Object.keys(object.hdfsMetrics), i = 0; i < keys.length; ++i) + if ($util.Long) + (message.hdfsMetrics[keys[i]] = $util.Long.fromValue(object.hdfsMetrics[keys[i]])).unsigned = false; + else if (typeof object.hdfsMetrics[keys[i]] === "string") + message.hdfsMetrics[keys[i]] = parseInt(object.hdfsMetrics[keys[i]], 10); + else if (typeof object.hdfsMetrics[keys[i]] === "number") + message.hdfsMetrics[keys[i]] = object.hdfsMetrics[keys[i]]; + else if (typeof object.hdfsMetrics[keys[i]] === "object") + message.hdfsMetrics[keys[i]] = new $util.LongBits(object.hdfsMetrics[keys[i]].low >>> 0, object.hdfsMetrics[keys[i]].high >>> 0).toNumber(); } - if (object.optionalComponents) { - if (!Array.isArray(object.optionalComponents)) - throw TypeError(".google.cloud.dataproc.v1.SoftwareConfig.optionalComponents: array expected"); - message.optionalComponents = []; - for (var i = 0; i < object.optionalComponents.length; ++i) - switch (object.optionalComponents[i]) { - default: - case "COMPONENT_UNSPECIFIED": - case 0: - message.optionalComponents[i] = 0; - break; - case "ANACONDA": - case 5: - message.optionalComponents[i] = 5; - break; - case "HIVE_WEBHCAT": - case 3: - message.optionalComponents[i] = 3; - break; - case "JUPYTER": - case 1: - message.optionalComponents[i] = 1; - break; - case "PRESTO": - case 6: - message.optionalComponents[i] = 6; - break; - case "ZEPPELIN": - case 4: - message.optionalComponents[i] = 4; - break; - case "ZOOKEEPER": - case 8: - message.optionalComponents[i] = 8; - break; - } + if (object.yarnMetrics) { + if (typeof object.yarnMetrics !== "object") + throw TypeError(".google.cloud.dataproc.v1.ClusterMetrics.yarnMetrics: object expected"); + message.yarnMetrics = {}; + for (var keys = Object.keys(object.yarnMetrics), i = 0; i < keys.length; ++i) + if ($util.Long) + (message.yarnMetrics[keys[i]] = $util.Long.fromValue(object.yarnMetrics[keys[i]])).unsigned = false; + else if (typeof object.yarnMetrics[keys[i]] === "string") + message.yarnMetrics[keys[i]] = parseInt(object.yarnMetrics[keys[i]], 10); + else if (typeof object.yarnMetrics[keys[i]] === "number") + message.yarnMetrics[keys[i]] = object.yarnMetrics[keys[i]]; + else if (typeof object.yarnMetrics[keys[i]] === "object") + message.yarnMetrics[keys[i]] = new $util.LongBits(object.yarnMetrics[keys[i]].low >>> 0, object.yarnMetrics[keys[i]].high >>> 0).toNumber(); } return message; }; /** - * Creates a plain object from a SoftwareConfig message. Also converts values to other types if specified. + * Creates a plain object from a ClusterMetrics message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @static - * @param {google.cloud.dataproc.v1.SoftwareConfig} message SoftwareConfig + * @param {google.cloud.dataproc.v1.ClusterMetrics} message ClusterMetrics * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SoftwareConfig.toObject = function toObject(message, options) { + ClusterMetrics.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.optionalComponents = []; - if (options.objects || options.defaults) - object.properties = {}; - if (options.defaults) - object.imageVersion = ""; - if (message.imageVersion != null && message.hasOwnProperty("imageVersion")) - object.imageVersion = message.imageVersion; + if (options.objects || options.defaults) { + object.hdfsMetrics = {}; + object.yarnMetrics = {}; + } var keys2; - if (message.properties && (keys2 = Object.keys(message.properties)).length) { - object.properties = {}; + if (message.hdfsMetrics && (keys2 = Object.keys(message.hdfsMetrics)).length) { + object.hdfsMetrics = {}; for (var j = 0; j < keys2.length; ++j) - object.properties[keys2[j]] = message.properties[keys2[j]]; + if (typeof message.hdfsMetrics[keys2[j]] === "number") + object.hdfsMetrics[keys2[j]] = options.longs === String ? String(message.hdfsMetrics[keys2[j]]) : message.hdfsMetrics[keys2[j]]; + else + object.hdfsMetrics[keys2[j]] = options.longs === String ? $util.Long.prototype.toString.call(message.hdfsMetrics[keys2[j]]) : options.longs === Number ? new $util.LongBits(message.hdfsMetrics[keys2[j]].low >>> 0, message.hdfsMetrics[keys2[j]].high >>> 0).toNumber() : message.hdfsMetrics[keys2[j]]; } - if (message.optionalComponents && message.optionalComponents.length) { - object.optionalComponents = []; - for (var j = 0; j < message.optionalComponents.length; ++j) - object.optionalComponents[j] = options.enums === String ? $root.google.cloud.dataproc.v1.Component[message.optionalComponents[j]] : message.optionalComponents[j]; + if (message.yarnMetrics && (keys2 = Object.keys(message.yarnMetrics)).length) { + object.yarnMetrics = {}; + for (var j = 0; j < keys2.length; ++j) + if (typeof message.yarnMetrics[keys2[j]] === "number") + object.yarnMetrics[keys2[j]] = options.longs === String ? String(message.yarnMetrics[keys2[j]]) : message.yarnMetrics[keys2[j]]; + else + object.yarnMetrics[keys2[j]] = options.longs === String ? $util.Long.prototype.toString.call(message.yarnMetrics[keys2[j]]) : options.longs === Number ? new $util.LongBits(message.yarnMetrics[keys2[j]].low >>> 0, message.yarnMetrics[keys2[j]].high >>> 0).toNumber() : message.yarnMetrics[keys2[j]]; } return object; }; /** - * Converts this SoftwareConfig to JSON. + * Converts this ClusterMetrics to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.SoftwareConfig + * @memberof google.cloud.dataproc.v1.ClusterMetrics * @instance * @returns {Object.} JSON object */ - SoftwareConfig.prototype.toJSON = function toJSON() { + ClusterMetrics.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SoftwareConfig; + return ClusterMetrics; })(); - v1.LifecycleConfig = (function() { + v1.CreateClusterRequest = (function() { /** - * Properties of a LifecycleConfig. + * Properties of a CreateClusterRequest. * @memberof google.cloud.dataproc.v1 - * @interface ILifecycleConfig - * @property {google.protobuf.IDuration|null} [idleDeleteTtl] LifecycleConfig idleDeleteTtl - * @property {google.protobuf.ITimestamp|null} [autoDeleteTime] LifecycleConfig autoDeleteTime - * @property {google.protobuf.IDuration|null} [autoDeleteTtl] LifecycleConfig autoDeleteTtl - * @property {google.protobuf.ITimestamp|null} [idleStartTime] LifecycleConfig idleStartTime + * @interface ICreateClusterRequest + * @property {string|null} [projectId] CreateClusterRequest projectId + * @property {string|null} [region] CreateClusterRequest region + * @property {google.cloud.dataproc.v1.ICluster|null} [cluster] CreateClusterRequest cluster + * @property {string|null} [requestId] CreateClusterRequest requestId */ /** - * Constructs a new LifecycleConfig. + * Constructs a new CreateClusterRequest. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a LifecycleConfig. - * @implements ILifecycleConfig + * @classdesc Represents a CreateClusterRequest. + * @implements ICreateClusterRequest * @constructor - * @param {google.cloud.dataproc.v1.ILifecycleConfig=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.ICreateClusterRequest=} [properties] Properties to set */ - function LifecycleConfig(properties) { + function CreateClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -7516,128 +9662,114 @@ } /** - * LifecycleConfig idleDeleteTtl. - * @member {google.protobuf.IDuration|null|undefined} idleDeleteTtl - * @memberof google.cloud.dataproc.v1.LifecycleConfig - * @instance - */ - LifecycleConfig.prototype.idleDeleteTtl = null; - - /** - * LifecycleConfig autoDeleteTime. - * @member {google.protobuf.ITimestamp|null|undefined} autoDeleteTime - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * CreateClusterRequest projectId. + * @member {string} projectId + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @instance */ - LifecycleConfig.prototype.autoDeleteTime = null; + CreateClusterRequest.prototype.projectId = ""; /** - * LifecycleConfig autoDeleteTtl. - * @member {google.protobuf.IDuration|null|undefined} autoDeleteTtl - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * CreateClusterRequest region. + * @member {string} region + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @instance */ - LifecycleConfig.prototype.autoDeleteTtl = null; + CreateClusterRequest.prototype.region = ""; /** - * LifecycleConfig idleStartTime. - * @member {google.protobuf.ITimestamp|null|undefined} idleStartTime - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * CreateClusterRequest cluster. + * @member {google.cloud.dataproc.v1.ICluster|null|undefined} cluster + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @instance */ - LifecycleConfig.prototype.idleStartTime = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + CreateClusterRequest.prototype.cluster = null; /** - * LifecycleConfig ttl. - * @member {"autoDeleteTime"|"autoDeleteTtl"|undefined} ttl - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * CreateClusterRequest requestId. + * @member {string} requestId + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @instance */ - Object.defineProperty(LifecycleConfig.prototype, "ttl", { - get: $util.oneOfGetter($oneOfFields = ["autoDeleteTime", "autoDeleteTtl"]), - set: $util.oneOfSetter($oneOfFields) - }); + CreateClusterRequest.prototype.requestId = ""; /** - * Creates a new LifecycleConfig instance using the specified properties. + * Creates a new CreateClusterRequest instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @static - * @param {google.cloud.dataproc.v1.ILifecycleConfig=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.LifecycleConfig} LifecycleConfig instance + * @param {google.cloud.dataproc.v1.ICreateClusterRequest=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.CreateClusterRequest} CreateClusterRequest instance */ - LifecycleConfig.create = function create(properties) { - return new LifecycleConfig(properties); + CreateClusterRequest.create = function create(properties) { + return new CreateClusterRequest(properties); }; /** - * Encodes the specified LifecycleConfig message. Does not implicitly {@link google.cloud.dataproc.v1.LifecycleConfig.verify|verify} messages. + * Encodes the specified CreateClusterRequest message. Does not implicitly {@link google.cloud.dataproc.v1.CreateClusterRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @static - * @param {google.cloud.dataproc.v1.ILifecycleConfig} message LifecycleConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.ICreateClusterRequest} message CreateClusterRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LifecycleConfig.encode = function encode(message, writer) { + CreateClusterRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.idleDeleteTtl != null && Object.hasOwnProperty.call(message, "idleDeleteTtl")) - $root.google.protobuf.Duration.encode(message.idleDeleteTtl, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.autoDeleteTime != null && Object.hasOwnProperty.call(message, "autoDeleteTime")) - $root.google.protobuf.Timestamp.encode(message.autoDeleteTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.autoDeleteTtl != null && Object.hasOwnProperty.call(message, "autoDeleteTtl")) - $root.google.protobuf.Duration.encode(message.autoDeleteTtl, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.idleStartTime != null && Object.hasOwnProperty.call(message, "idleStartTime")) - $root.google.protobuf.Timestamp.encode(message.idleStartTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId); + if (message.cluster != null && Object.hasOwnProperty.call(message, "cluster")) + $root.google.cloud.dataproc.v1.Cluster.encode(message.cluster, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.region != null && Object.hasOwnProperty.call(message, "region")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.region); + if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.requestId); return writer; }; /** - * Encodes the specified LifecycleConfig message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.LifecycleConfig.verify|verify} messages. + * Encodes the specified CreateClusterRequest message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.CreateClusterRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @static - * @param {google.cloud.dataproc.v1.ILifecycleConfig} message LifecycleConfig message or plain object to encode + * @param {google.cloud.dataproc.v1.ICreateClusterRequest} message CreateClusterRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LifecycleConfig.encodeDelimited = function encodeDelimited(message, writer) { + CreateClusterRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LifecycleConfig message from the specified reader or buffer. + * Decodes a CreateClusterRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.LifecycleConfig} LifecycleConfig + * @returns {google.cloud.dataproc.v1.CreateClusterRequest} CreateClusterRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LifecycleConfig.decode = function decode(reader, length) { + CreateClusterRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.LifecycleConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.CreateClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.idleDeleteTtl = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.autoDeleteTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.projectId = reader.string(); break; case 3: - message.autoDeleteTtl = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.region = reader.string(); + break; + case 2: + message.cluster = $root.google.cloud.dataproc.v1.Cluster.decode(reader, reader.uint32()); break; case 4: - message.idleStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.requestId = reader.string(); break; default: reader.skipType(tag & 7); @@ -7648,168 +9780,143 @@ }; /** - * Decodes a LifecycleConfig message from the specified reader or buffer, length delimited. + * Decodes a CreateClusterRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.LifecycleConfig} LifecycleConfig + * @returns {google.cloud.dataproc.v1.CreateClusterRequest} CreateClusterRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LifecycleConfig.decodeDelimited = function decodeDelimited(reader) { + CreateClusterRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LifecycleConfig message. + * Verifies a CreateClusterRequest message. * @function verify - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LifecycleConfig.verify = function verify(message) { + CreateClusterRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.idleDeleteTtl != null && message.hasOwnProperty("idleDeleteTtl")) { - var error = $root.google.protobuf.Duration.verify(message.idleDeleteTtl); - if (error) - return "idleDeleteTtl." + error; - } - if (message.autoDeleteTime != null && message.hasOwnProperty("autoDeleteTime")) { - properties.ttl = 1; - { - var error = $root.google.protobuf.Timestamp.verify(message.autoDeleteTime); - if (error) - return "autoDeleteTime." + error; - } - } - if (message.autoDeleteTtl != null && message.hasOwnProperty("autoDeleteTtl")) { - if (properties.ttl === 1) - return "ttl: multiple values"; - properties.ttl = 1; - { - var error = $root.google.protobuf.Duration.verify(message.autoDeleteTtl); - if (error) - return "autoDeleteTtl." + error; - } - } - if (message.idleStartTime != null && message.hasOwnProperty("idleStartTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.idleStartTime); + if (message.projectId != null && message.hasOwnProperty("projectId")) + if (!$util.isString(message.projectId)) + return "projectId: string expected"; + if (message.region != null && message.hasOwnProperty("region")) + if (!$util.isString(message.region)) + return "region: string expected"; + if (message.cluster != null && message.hasOwnProperty("cluster")) { + var error = $root.google.cloud.dataproc.v1.Cluster.verify(message.cluster); if (error) - return "idleStartTime." + error; + return "cluster." + error; } + if (message.requestId != null && message.hasOwnProperty("requestId")) + if (!$util.isString(message.requestId)) + return "requestId: string expected"; return null; }; /** - * Creates a LifecycleConfig message from a plain object. Also converts values to their respective internal types. + * Creates a CreateClusterRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.LifecycleConfig} LifecycleConfig + * @returns {google.cloud.dataproc.v1.CreateClusterRequest} CreateClusterRequest */ - LifecycleConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.LifecycleConfig) + CreateClusterRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.CreateClusterRequest) return object; - var message = new $root.google.cloud.dataproc.v1.LifecycleConfig(); - if (object.idleDeleteTtl != null) { - if (typeof object.idleDeleteTtl !== "object") - throw TypeError(".google.cloud.dataproc.v1.LifecycleConfig.idleDeleteTtl: object expected"); - message.idleDeleteTtl = $root.google.protobuf.Duration.fromObject(object.idleDeleteTtl); - } - if (object.autoDeleteTime != null) { - if (typeof object.autoDeleteTime !== "object") - throw TypeError(".google.cloud.dataproc.v1.LifecycleConfig.autoDeleteTime: object expected"); - message.autoDeleteTime = $root.google.protobuf.Timestamp.fromObject(object.autoDeleteTime); - } - if (object.autoDeleteTtl != null) { - if (typeof object.autoDeleteTtl !== "object") - throw TypeError(".google.cloud.dataproc.v1.LifecycleConfig.autoDeleteTtl: object expected"); - message.autoDeleteTtl = $root.google.protobuf.Duration.fromObject(object.autoDeleteTtl); - } - if (object.idleStartTime != null) { - if (typeof object.idleStartTime !== "object") - throw TypeError(".google.cloud.dataproc.v1.LifecycleConfig.idleStartTime: object expected"); - message.idleStartTime = $root.google.protobuf.Timestamp.fromObject(object.idleStartTime); + var message = new $root.google.cloud.dataproc.v1.CreateClusterRequest(); + if (object.projectId != null) + message.projectId = String(object.projectId); + if (object.region != null) + message.region = String(object.region); + if (object.cluster != null) { + if (typeof object.cluster !== "object") + throw TypeError(".google.cloud.dataproc.v1.CreateClusterRequest.cluster: object expected"); + message.cluster = $root.google.cloud.dataproc.v1.Cluster.fromObject(object.cluster); } + if (object.requestId != null) + message.requestId = String(object.requestId); return message; }; /** - * Creates a plain object from a LifecycleConfig message. Also converts values to other types if specified. + * Creates a plain object from a CreateClusterRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @static - * @param {google.cloud.dataproc.v1.LifecycleConfig} message LifecycleConfig + * @param {google.cloud.dataproc.v1.CreateClusterRequest} message CreateClusterRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LifecycleConfig.toObject = function toObject(message, options) { + CreateClusterRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.idleDeleteTtl = null; - object.idleStartTime = null; - } - if (message.idleDeleteTtl != null && message.hasOwnProperty("idleDeleteTtl")) - object.idleDeleteTtl = $root.google.protobuf.Duration.toObject(message.idleDeleteTtl, options); - if (message.autoDeleteTime != null && message.hasOwnProperty("autoDeleteTime")) { - object.autoDeleteTime = $root.google.protobuf.Timestamp.toObject(message.autoDeleteTime, options); - if (options.oneofs) - object.ttl = "autoDeleteTime"; - } - if (message.autoDeleteTtl != null && message.hasOwnProperty("autoDeleteTtl")) { - object.autoDeleteTtl = $root.google.protobuf.Duration.toObject(message.autoDeleteTtl, options); - if (options.oneofs) - object.ttl = "autoDeleteTtl"; + object.projectId = ""; + object.cluster = null; + object.region = ""; + object.requestId = ""; } - if (message.idleStartTime != null && message.hasOwnProperty("idleStartTime")) - object.idleStartTime = $root.google.protobuf.Timestamp.toObject(message.idleStartTime, options); + if (message.projectId != null && message.hasOwnProperty("projectId")) + object.projectId = message.projectId; + if (message.cluster != null && message.hasOwnProperty("cluster")) + object.cluster = $root.google.cloud.dataproc.v1.Cluster.toObject(message.cluster, options); + if (message.region != null && message.hasOwnProperty("region")) + object.region = message.region; + if (message.requestId != null && message.hasOwnProperty("requestId")) + object.requestId = message.requestId; return object; }; /** - * Converts this LifecycleConfig to JSON. + * Converts this CreateClusterRequest to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.LifecycleConfig + * @memberof google.cloud.dataproc.v1.CreateClusterRequest * @instance * @returns {Object.} JSON object */ - LifecycleConfig.prototype.toJSON = function toJSON() { + CreateClusterRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LifecycleConfig; + return CreateClusterRequest; })(); - v1.ClusterMetrics = (function() { + v1.UpdateClusterRequest = (function() { /** - * Properties of a ClusterMetrics. + * Properties of an UpdateClusterRequest. * @memberof google.cloud.dataproc.v1 - * @interface IClusterMetrics - * @property {Object.|null} [hdfsMetrics] ClusterMetrics hdfsMetrics - * @property {Object.|null} [yarnMetrics] ClusterMetrics yarnMetrics + * @interface IUpdateClusterRequest + * @property {string|null} [projectId] UpdateClusterRequest projectId + * @property {string|null} [region] UpdateClusterRequest region + * @property {string|null} [clusterName] UpdateClusterRequest clusterName + * @property {google.cloud.dataproc.v1.ICluster|null} [cluster] UpdateClusterRequest cluster + * @property {google.protobuf.IDuration|null} [gracefulDecommissionTimeout] UpdateClusterRequest gracefulDecommissionTimeout + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateClusterRequest updateMask + * @property {string|null} [requestId] UpdateClusterRequest requestId */ /** - * Constructs a new ClusterMetrics. + * Constructs a new UpdateClusterRequest. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a ClusterMetrics. - * @implements IClusterMetrics + * @classdesc Represents an UpdateClusterRequest. + * @implements IUpdateClusterRequest * @constructor - * @param {google.cloud.dataproc.v1.IClusterMetrics=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IUpdateClusterRequest=} [properties] Properties to set */ - function ClusterMetrics(properties) { - this.hdfsMetrics = {}; - this.yarnMetrics = {}; + function UpdateClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -7817,128 +9924,153 @@ } /** - * ClusterMetrics hdfsMetrics. - * @member {Object.} hdfsMetrics - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * UpdateClusterRequest projectId. + * @member {string} projectId + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @instance */ - ClusterMetrics.prototype.hdfsMetrics = $util.emptyObject; + UpdateClusterRequest.prototype.projectId = ""; /** - * ClusterMetrics yarnMetrics. - * @member {Object.} yarnMetrics - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * UpdateClusterRequest region. + * @member {string} region + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @instance */ - ClusterMetrics.prototype.yarnMetrics = $util.emptyObject; + UpdateClusterRequest.prototype.region = ""; /** - * Creates a new ClusterMetrics instance using the specified properties. + * UpdateClusterRequest clusterName. + * @member {string} clusterName + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @instance + */ + UpdateClusterRequest.prototype.clusterName = ""; + + /** + * UpdateClusterRequest cluster. + * @member {google.cloud.dataproc.v1.ICluster|null|undefined} cluster + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @instance + */ + UpdateClusterRequest.prototype.cluster = null; + + /** + * UpdateClusterRequest gracefulDecommissionTimeout. + * @member {google.protobuf.IDuration|null|undefined} gracefulDecommissionTimeout + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @instance + */ + UpdateClusterRequest.prototype.gracefulDecommissionTimeout = null; + + /** + * UpdateClusterRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @instance + */ + UpdateClusterRequest.prototype.updateMask = null; + + /** + * UpdateClusterRequest requestId. + * @member {string} requestId + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @instance + */ + UpdateClusterRequest.prototype.requestId = ""; + + /** + * Creates a new UpdateClusterRequest instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @static - * @param {google.cloud.dataproc.v1.IClusterMetrics=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.ClusterMetrics} ClusterMetrics instance + * @param {google.cloud.dataproc.v1.IUpdateClusterRequest=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.UpdateClusterRequest} UpdateClusterRequest instance */ - ClusterMetrics.create = function create(properties) { - return new ClusterMetrics(properties); + UpdateClusterRequest.create = function create(properties) { + return new UpdateClusterRequest(properties); }; /** - * Encodes the specified ClusterMetrics message. Does not implicitly {@link google.cloud.dataproc.v1.ClusterMetrics.verify|verify} messages. + * Encodes the specified UpdateClusterRequest message. Does not implicitly {@link google.cloud.dataproc.v1.UpdateClusterRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @static - * @param {google.cloud.dataproc.v1.IClusterMetrics} message ClusterMetrics message or plain object to encode + * @param {google.cloud.dataproc.v1.IUpdateClusterRequest} message UpdateClusterRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ClusterMetrics.encode = function encode(message, writer) { + UpdateClusterRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.hdfsMetrics != null && Object.hasOwnProperty.call(message, "hdfsMetrics")) - for (var keys = Object.keys(message.hdfsMetrics), i = 0; i < keys.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 0 =*/16).int64(message.hdfsMetrics[keys[i]]).ldelim(); - if (message.yarnMetrics != null && Object.hasOwnProperty.call(message, "yarnMetrics")) - for (var keys = Object.keys(message.yarnMetrics), i = 0; i < keys.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 0 =*/16).int64(message.yarnMetrics[keys[i]]).ldelim(); + if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId); + if (message.clusterName != null && Object.hasOwnProperty.call(message, "clusterName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.clusterName); + if (message.cluster != null && Object.hasOwnProperty.call(message, "cluster")) + $root.google.cloud.dataproc.v1.Cluster.encode(message.cluster, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.region != null && Object.hasOwnProperty.call(message, "region")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.region); + if (message.gracefulDecommissionTimeout != null && Object.hasOwnProperty.call(message, "gracefulDecommissionTimeout")) + $root.google.protobuf.Duration.encode(message.gracefulDecommissionTimeout, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.requestId); return writer; }; /** - * Encodes the specified ClusterMetrics message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.ClusterMetrics.verify|verify} messages. + * Encodes the specified UpdateClusterRequest message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.UpdateClusterRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @static - * @param {google.cloud.dataproc.v1.IClusterMetrics} message ClusterMetrics message or plain object to encode + * @param {google.cloud.dataproc.v1.IUpdateClusterRequest} message UpdateClusterRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ClusterMetrics.encodeDelimited = function encodeDelimited(message, writer) { + UpdateClusterRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ClusterMetrics message from the specified reader or buffer. + * Decodes an UpdateClusterRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.ClusterMetrics} ClusterMetrics + * @returns {google.cloud.dataproc.v1.UpdateClusterRequest} UpdateClusterRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClusterMetrics.decode = function decode(reader, length) { + UpdateClusterRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.ClusterMetrics(), key, value; + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.UpdateClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (message.hdfsMetrics === $util.emptyObject) - message.hdfsMetrics = {}; - var end2 = reader.uint32() + reader.pos; - key = ""; - value = 0; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.string(); - break; - case 2: - value = reader.int64(); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.hdfsMetrics[key] = value; + message.projectId = reader.string(); + break; + case 5: + message.region = reader.string(); break; case 2: - if (message.yarnMetrics === $util.emptyObject) - message.yarnMetrics = {}; - var end2 = reader.uint32() + reader.pos; - key = ""; - value = 0; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.string(); - break; - case 2: - value = reader.int64(); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.yarnMetrics[key] = value; + message.clusterName = reader.string(); + break; + case 3: + message.cluster = $root.google.cloud.dataproc.v1.Cluster.decode(reader, reader.uint32()); + break; + case 6: + message.gracefulDecommissionTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 4: + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + case 7: + message.requestId = reader.string(); break; default: reader.skipType(tag & 7); @@ -7949,166 +10081,175 @@ }; /** - * Decodes a ClusterMetrics message from the specified reader or buffer, length delimited. + * Decodes an UpdateClusterRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.ClusterMetrics} ClusterMetrics + * @returns {google.cloud.dataproc.v1.UpdateClusterRequest} UpdateClusterRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClusterMetrics.decodeDelimited = function decodeDelimited(reader) { + UpdateClusterRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ClusterMetrics message. + * Verifies an UpdateClusterRequest message. * @function verify - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClusterMetrics.verify = function verify(message) { + UpdateClusterRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.hdfsMetrics != null && message.hasOwnProperty("hdfsMetrics")) { - if (!$util.isObject(message.hdfsMetrics)) - return "hdfsMetrics: object expected"; - var key = Object.keys(message.hdfsMetrics); - for (var i = 0; i < key.length; ++i) - if (!$util.isInteger(message.hdfsMetrics[key[i]]) && !(message.hdfsMetrics[key[i]] && $util.isInteger(message.hdfsMetrics[key[i]].low) && $util.isInteger(message.hdfsMetrics[key[i]].high))) - return "hdfsMetrics: integer|Long{k:string} expected"; + if (message.projectId != null && message.hasOwnProperty("projectId")) + if (!$util.isString(message.projectId)) + return "projectId: string expected"; + if (message.region != null && message.hasOwnProperty("region")) + if (!$util.isString(message.region)) + return "region: string expected"; + if (message.clusterName != null && message.hasOwnProperty("clusterName")) + if (!$util.isString(message.clusterName)) + return "clusterName: string expected"; + if (message.cluster != null && message.hasOwnProperty("cluster")) { + var error = $root.google.cloud.dataproc.v1.Cluster.verify(message.cluster); + if (error) + return "cluster." + error; } - if (message.yarnMetrics != null && message.hasOwnProperty("yarnMetrics")) { - if (!$util.isObject(message.yarnMetrics)) - return "yarnMetrics: object expected"; - var key = Object.keys(message.yarnMetrics); - for (var i = 0; i < key.length; ++i) - if (!$util.isInteger(message.yarnMetrics[key[i]]) && !(message.yarnMetrics[key[i]] && $util.isInteger(message.yarnMetrics[key[i]].low) && $util.isInteger(message.yarnMetrics[key[i]].high))) - return "yarnMetrics: integer|Long{k:string} expected"; + if (message.gracefulDecommissionTimeout != null && message.hasOwnProperty("gracefulDecommissionTimeout")) { + var error = $root.google.protobuf.Duration.verify(message.gracefulDecommissionTimeout); + if (error) + return "gracefulDecommissionTimeout." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; } + if (message.requestId != null && message.hasOwnProperty("requestId")) + if (!$util.isString(message.requestId)) + return "requestId: string expected"; return null; }; /** - * Creates a ClusterMetrics message from a plain object. Also converts values to their respective internal types. + * Creates an UpdateClusterRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.ClusterMetrics} ClusterMetrics + * @returns {google.cloud.dataproc.v1.UpdateClusterRequest} UpdateClusterRequest */ - ClusterMetrics.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.ClusterMetrics) + UpdateClusterRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.UpdateClusterRequest) return object; - var message = new $root.google.cloud.dataproc.v1.ClusterMetrics(); - if (object.hdfsMetrics) { - if (typeof object.hdfsMetrics !== "object") - throw TypeError(".google.cloud.dataproc.v1.ClusterMetrics.hdfsMetrics: object expected"); - message.hdfsMetrics = {}; - for (var keys = Object.keys(object.hdfsMetrics), i = 0; i < keys.length; ++i) - if ($util.Long) - (message.hdfsMetrics[keys[i]] = $util.Long.fromValue(object.hdfsMetrics[keys[i]])).unsigned = false; - else if (typeof object.hdfsMetrics[keys[i]] === "string") - message.hdfsMetrics[keys[i]] = parseInt(object.hdfsMetrics[keys[i]], 10); - else if (typeof object.hdfsMetrics[keys[i]] === "number") - message.hdfsMetrics[keys[i]] = object.hdfsMetrics[keys[i]]; - else if (typeof object.hdfsMetrics[keys[i]] === "object") - message.hdfsMetrics[keys[i]] = new $util.LongBits(object.hdfsMetrics[keys[i]].low >>> 0, object.hdfsMetrics[keys[i]].high >>> 0).toNumber(); - } - if (object.yarnMetrics) { - if (typeof object.yarnMetrics !== "object") - throw TypeError(".google.cloud.dataproc.v1.ClusterMetrics.yarnMetrics: object expected"); - message.yarnMetrics = {}; - for (var keys = Object.keys(object.yarnMetrics), i = 0; i < keys.length; ++i) - if ($util.Long) - (message.yarnMetrics[keys[i]] = $util.Long.fromValue(object.yarnMetrics[keys[i]])).unsigned = false; - else if (typeof object.yarnMetrics[keys[i]] === "string") - message.yarnMetrics[keys[i]] = parseInt(object.yarnMetrics[keys[i]], 10); - else if (typeof object.yarnMetrics[keys[i]] === "number") - message.yarnMetrics[keys[i]] = object.yarnMetrics[keys[i]]; - else if (typeof object.yarnMetrics[keys[i]] === "object") - message.yarnMetrics[keys[i]] = new $util.LongBits(object.yarnMetrics[keys[i]].low >>> 0, object.yarnMetrics[keys[i]].high >>> 0).toNumber(); + var message = new $root.google.cloud.dataproc.v1.UpdateClusterRequest(); + if (object.projectId != null) + message.projectId = String(object.projectId); + if (object.region != null) + message.region = String(object.region); + if (object.clusterName != null) + message.clusterName = String(object.clusterName); + if (object.cluster != null) { + if (typeof object.cluster !== "object") + throw TypeError(".google.cloud.dataproc.v1.UpdateClusterRequest.cluster: object expected"); + message.cluster = $root.google.cloud.dataproc.v1.Cluster.fromObject(object.cluster); } - return message; - }; - - /** - * Creates a plain object from a ClusterMetrics message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.dataproc.v1.ClusterMetrics - * @static - * @param {google.cloud.dataproc.v1.ClusterMetrics} message ClusterMetrics - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ClusterMetrics.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.objects || options.defaults) { - object.hdfsMetrics = {}; - object.yarnMetrics = {}; + if (object.gracefulDecommissionTimeout != null) { + if (typeof object.gracefulDecommissionTimeout !== "object") + throw TypeError(".google.cloud.dataproc.v1.UpdateClusterRequest.gracefulDecommissionTimeout: object expected"); + message.gracefulDecommissionTimeout = $root.google.protobuf.Duration.fromObject(object.gracefulDecommissionTimeout); } - var keys2; - if (message.hdfsMetrics && (keys2 = Object.keys(message.hdfsMetrics)).length) { - object.hdfsMetrics = {}; - for (var j = 0; j < keys2.length; ++j) - if (typeof message.hdfsMetrics[keys2[j]] === "number") - object.hdfsMetrics[keys2[j]] = options.longs === String ? String(message.hdfsMetrics[keys2[j]]) : message.hdfsMetrics[keys2[j]]; - else - object.hdfsMetrics[keys2[j]] = options.longs === String ? $util.Long.prototype.toString.call(message.hdfsMetrics[keys2[j]]) : options.longs === Number ? new $util.LongBits(message.hdfsMetrics[keys2[j]].low >>> 0, message.hdfsMetrics[keys2[j]].high >>> 0).toNumber() : message.hdfsMetrics[keys2[j]]; + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.dataproc.v1.UpdateClusterRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); } - if (message.yarnMetrics && (keys2 = Object.keys(message.yarnMetrics)).length) { - object.yarnMetrics = {}; - for (var j = 0; j < keys2.length; ++j) - if (typeof message.yarnMetrics[keys2[j]] === "number") - object.yarnMetrics[keys2[j]] = options.longs === String ? String(message.yarnMetrics[keys2[j]]) : message.yarnMetrics[keys2[j]]; - else - object.yarnMetrics[keys2[j]] = options.longs === String ? $util.Long.prototype.toString.call(message.yarnMetrics[keys2[j]]) : options.longs === Number ? new $util.LongBits(message.yarnMetrics[keys2[j]].low >>> 0, message.yarnMetrics[keys2[j]].high >>> 0).toNumber() : message.yarnMetrics[keys2[j]]; + if (object.requestId != null) + message.requestId = String(object.requestId); + return message; + }; + + /** + * Creates a plain object from an UpdateClusterRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @static + * @param {google.cloud.dataproc.v1.UpdateClusterRequest} message UpdateClusterRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateClusterRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.projectId = ""; + object.clusterName = ""; + object.cluster = null; + object.updateMask = null; + object.region = ""; + object.gracefulDecommissionTimeout = null; + object.requestId = ""; } + if (message.projectId != null && message.hasOwnProperty("projectId")) + object.projectId = message.projectId; + if (message.clusterName != null && message.hasOwnProperty("clusterName")) + object.clusterName = message.clusterName; + if (message.cluster != null && message.hasOwnProperty("cluster")) + object.cluster = $root.google.cloud.dataproc.v1.Cluster.toObject(message.cluster, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.region != null && message.hasOwnProperty("region")) + object.region = message.region; + if (message.gracefulDecommissionTimeout != null && message.hasOwnProperty("gracefulDecommissionTimeout")) + object.gracefulDecommissionTimeout = $root.google.protobuf.Duration.toObject(message.gracefulDecommissionTimeout, options); + if (message.requestId != null && message.hasOwnProperty("requestId")) + object.requestId = message.requestId; return object; }; /** - * Converts this ClusterMetrics to JSON. + * Converts this UpdateClusterRequest to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.ClusterMetrics + * @memberof google.cloud.dataproc.v1.UpdateClusterRequest * @instance * @returns {Object.} JSON object */ - ClusterMetrics.prototype.toJSON = function toJSON() { + UpdateClusterRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ClusterMetrics; + return UpdateClusterRequest; })(); - v1.CreateClusterRequest = (function() { + v1.StopClusterRequest = (function() { /** - * Properties of a CreateClusterRequest. + * Properties of a StopClusterRequest. * @memberof google.cloud.dataproc.v1 - * @interface ICreateClusterRequest - * @property {string|null} [projectId] CreateClusterRequest projectId - * @property {string|null} [region] CreateClusterRequest region - * @property {google.cloud.dataproc.v1.ICluster|null} [cluster] CreateClusterRequest cluster - * @property {string|null} [requestId] CreateClusterRequest requestId + * @interface IStopClusterRequest + * @property {string|null} [projectId] StopClusterRequest projectId + * @property {string|null} [region] StopClusterRequest region + * @property {string|null} [clusterName] StopClusterRequest clusterName + * @property {string|null} [clusterUuid] StopClusterRequest clusterUuid + * @property {string|null} [requestId] StopClusterRequest requestId */ /** - * Constructs a new CreateClusterRequest. + * Constructs a new StopClusterRequest. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents a CreateClusterRequest. - * @implements ICreateClusterRequest + * @classdesc Represents a StopClusterRequest. + * @implements IStopClusterRequest * @constructor - * @param {google.cloud.dataproc.v1.ICreateClusterRequest=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IStopClusterRequest=} [properties] Properties to set */ - function CreateClusterRequest(properties) { + function StopClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -8116,113 +10257,126 @@ } /** - * CreateClusterRequest projectId. + * StopClusterRequest projectId. * @member {string} projectId - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @instance */ - CreateClusterRequest.prototype.projectId = ""; + StopClusterRequest.prototype.projectId = ""; /** - * CreateClusterRequest region. + * StopClusterRequest region. * @member {string} region - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @instance */ - CreateClusterRequest.prototype.region = ""; + StopClusterRequest.prototype.region = ""; /** - * CreateClusterRequest cluster. - * @member {google.cloud.dataproc.v1.ICluster|null|undefined} cluster - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * StopClusterRequest clusterName. + * @member {string} clusterName + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @instance */ - CreateClusterRequest.prototype.cluster = null; + StopClusterRequest.prototype.clusterName = ""; /** - * CreateClusterRequest requestId. + * StopClusterRequest clusterUuid. + * @member {string} clusterUuid + * @memberof google.cloud.dataproc.v1.StopClusterRequest + * @instance + */ + StopClusterRequest.prototype.clusterUuid = ""; + + /** + * StopClusterRequest requestId. * @member {string} requestId - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @instance */ - CreateClusterRequest.prototype.requestId = ""; + StopClusterRequest.prototype.requestId = ""; /** - * Creates a new CreateClusterRequest instance using the specified properties. + * Creates a new StopClusterRequest instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @static - * @param {google.cloud.dataproc.v1.ICreateClusterRequest=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.CreateClusterRequest} CreateClusterRequest instance + * @param {google.cloud.dataproc.v1.IStopClusterRequest=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.StopClusterRequest} StopClusterRequest instance */ - CreateClusterRequest.create = function create(properties) { - return new CreateClusterRequest(properties); + StopClusterRequest.create = function create(properties) { + return new StopClusterRequest(properties); }; /** - * Encodes the specified CreateClusterRequest message. Does not implicitly {@link google.cloud.dataproc.v1.CreateClusterRequest.verify|verify} messages. + * Encodes the specified StopClusterRequest message. Does not implicitly {@link google.cloud.dataproc.v1.StopClusterRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @static - * @param {google.cloud.dataproc.v1.ICreateClusterRequest} message CreateClusterRequest message or plain object to encode + * @param {google.cloud.dataproc.v1.IStopClusterRequest} message StopClusterRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CreateClusterRequest.encode = function encode(message, writer) { + StopClusterRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId); - if (message.cluster != null && Object.hasOwnProperty.call(message, "cluster")) - $root.google.cloud.dataproc.v1.Cluster.encode(message.cluster, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.region != null && Object.hasOwnProperty.call(message, "region")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.region); + writer.uint32(/* id 2, wireType 2 =*/18).string(message.region); + if (message.clusterName != null && Object.hasOwnProperty.call(message, "clusterName")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.clusterName); + if (message.clusterUuid != null && Object.hasOwnProperty.call(message, "clusterUuid")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.clusterUuid); if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.requestId); + writer.uint32(/* id 5, wireType 2 =*/42).string(message.requestId); return writer; }; /** - * Encodes the specified CreateClusterRequest message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.CreateClusterRequest.verify|verify} messages. + * Encodes the specified StopClusterRequest message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.StopClusterRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @static - * @param {google.cloud.dataproc.v1.ICreateClusterRequest} message CreateClusterRequest message or plain object to encode + * @param {google.cloud.dataproc.v1.IStopClusterRequest} message StopClusterRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CreateClusterRequest.encodeDelimited = function encodeDelimited(message, writer) { + StopClusterRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CreateClusterRequest message from the specified reader or buffer. + * Decodes a StopClusterRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.CreateClusterRequest} CreateClusterRequest + * @returns {google.cloud.dataproc.v1.StopClusterRequest} StopClusterRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateClusterRequest.decode = function decode(reader, length) { + StopClusterRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.CreateClusterRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.StopClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.projectId = reader.string(); break; - case 3: + case 2: message.region = reader.string(); break; - case 2: - message.cluster = $root.google.cloud.dataproc.v1.Cluster.decode(reader, reader.uint32()); + case 3: + message.clusterName = reader.string(); break; case 4: + message.clusterUuid = reader.string(); + break; + case 5: message.requestId = reader.string(); break; default: @@ -8234,30 +10388,30 @@ }; /** - * Decodes a CreateClusterRequest message from the specified reader or buffer, length delimited. + * Decodes a StopClusterRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.CreateClusterRequest} CreateClusterRequest + * @returns {google.cloud.dataproc.v1.StopClusterRequest} StopClusterRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateClusterRequest.decodeDelimited = function decodeDelimited(reader) { + StopClusterRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CreateClusterRequest message. + * Verifies a StopClusterRequest message. * @function verify - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateClusterRequest.verify = function verify(message) { + StopClusterRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.projectId != null && message.hasOwnProperty("projectId")) @@ -8266,11 +10420,12 @@ if (message.region != null && message.hasOwnProperty("region")) if (!$util.isString(message.region)) return "region: string expected"; - if (message.cluster != null && message.hasOwnProperty("cluster")) { - var error = $root.google.cloud.dataproc.v1.Cluster.verify(message.cluster); - if (error) - return "cluster." + error; - } + if (message.clusterName != null && message.hasOwnProperty("clusterName")) + if (!$util.isString(message.clusterName)) + return "clusterName: string expected"; + if (message.clusterUuid != null && message.hasOwnProperty("clusterUuid")) + if (!$util.isString(message.clusterUuid)) + return "clusterUuid: string expected"; if (message.requestId != null && message.hasOwnProperty("requestId")) if (!$util.isString(message.requestId)) return "requestId: string expected"; @@ -8278,99 +10433,99 @@ }; /** - * Creates a CreateClusterRequest message from a plain object. Also converts values to their respective internal types. + * Creates a StopClusterRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.CreateClusterRequest} CreateClusterRequest + * @returns {google.cloud.dataproc.v1.StopClusterRequest} StopClusterRequest */ - CreateClusterRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.CreateClusterRequest) + StopClusterRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.StopClusterRequest) return object; - var message = new $root.google.cloud.dataproc.v1.CreateClusterRequest(); + var message = new $root.google.cloud.dataproc.v1.StopClusterRequest(); if (object.projectId != null) message.projectId = String(object.projectId); if (object.region != null) message.region = String(object.region); - if (object.cluster != null) { - if (typeof object.cluster !== "object") - throw TypeError(".google.cloud.dataproc.v1.CreateClusterRequest.cluster: object expected"); - message.cluster = $root.google.cloud.dataproc.v1.Cluster.fromObject(object.cluster); - } + if (object.clusterName != null) + message.clusterName = String(object.clusterName); + if (object.clusterUuid != null) + message.clusterUuid = String(object.clusterUuid); if (object.requestId != null) message.requestId = String(object.requestId); return message; }; /** - * Creates a plain object from a CreateClusterRequest message. Also converts values to other types if specified. + * Creates a plain object from a StopClusterRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @static - * @param {google.cloud.dataproc.v1.CreateClusterRequest} message CreateClusterRequest + * @param {google.cloud.dataproc.v1.StopClusterRequest} message StopClusterRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CreateClusterRequest.toObject = function toObject(message, options) { + StopClusterRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.projectId = ""; - object.cluster = null; object.region = ""; + object.clusterName = ""; + object.clusterUuid = ""; object.requestId = ""; } if (message.projectId != null && message.hasOwnProperty("projectId")) object.projectId = message.projectId; - if (message.cluster != null && message.hasOwnProperty("cluster")) - object.cluster = $root.google.cloud.dataproc.v1.Cluster.toObject(message.cluster, options); if (message.region != null && message.hasOwnProperty("region")) object.region = message.region; + if (message.clusterName != null && message.hasOwnProperty("clusterName")) + object.clusterName = message.clusterName; + if (message.clusterUuid != null && message.hasOwnProperty("clusterUuid")) + object.clusterUuid = message.clusterUuid; if (message.requestId != null && message.hasOwnProperty("requestId")) object.requestId = message.requestId; return object; }; /** - * Converts this CreateClusterRequest to JSON. + * Converts this StopClusterRequest to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.CreateClusterRequest + * @memberof google.cloud.dataproc.v1.StopClusterRequest * @instance * @returns {Object.} JSON object */ - CreateClusterRequest.prototype.toJSON = function toJSON() { + StopClusterRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CreateClusterRequest; + return StopClusterRequest; })(); - v1.UpdateClusterRequest = (function() { + v1.StartClusterRequest = (function() { /** - * Properties of an UpdateClusterRequest. + * Properties of a StartClusterRequest. * @memberof google.cloud.dataproc.v1 - * @interface IUpdateClusterRequest - * @property {string|null} [projectId] UpdateClusterRequest projectId - * @property {string|null} [region] UpdateClusterRequest region - * @property {string|null} [clusterName] UpdateClusterRequest clusterName - * @property {google.cloud.dataproc.v1.ICluster|null} [cluster] UpdateClusterRequest cluster - * @property {google.protobuf.IDuration|null} [gracefulDecommissionTimeout] UpdateClusterRequest gracefulDecommissionTimeout - * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateClusterRequest updateMask - * @property {string|null} [requestId] UpdateClusterRequest requestId + * @interface IStartClusterRequest + * @property {string|null} [projectId] StartClusterRequest projectId + * @property {string|null} [region] StartClusterRequest region + * @property {string|null} [clusterName] StartClusterRequest clusterName + * @property {string|null} [clusterUuid] StartClusterRequest clusterUuid + * @property {string|null} [requestId] StartClusterRequest requestId */ /** - * Constructs a new UpdateClusterRequest. + * Constructs a new StartClusterRequest. * @memberof google.cloud.dataproc.v1 - * @classdesc Represents an UpdateClusterRequest. - * @implements IUpdateClusterRequest + * @classdesc Represents a StartClusterRequest. + * @implements IStartClusterRequest * @constructor - * @param {google.cloud.dataproc.v1.IUpdateClusterRequest=} [properties] Properties to set + * @param {google.cloud.dataproc.v1.IStartClusterRequest=} [properties] Properties to set */ - function UpdateClusterRequest(properties) { + function StartClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -8378,152 +10533,126 @@ } /** - * UpdateClusterRequest projectId. + * StartClusterRequest projectId. * @member {string} projectId - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @instance */ - UpdateClusterRequest.prototype.projectId = ""; + StartClusterRequest.prototype.projectId = ""; /** - * UpdateClusterRequest region. + * StartClusterRequest region. * @member {string} region - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @instance */ - UpdateClusterRequest.prototype.region = ""; + StartClusterRequest.prototype.region = ""; /** - * UpdateClusterRequest clusterName. + * StartClusterRequest clusterName. * @member {string} clusterName - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest - * @instance - */ - UpdateClusterRequest.prototype.clusterName = ""; - - /** - * UpdateClusterRequest cluster. - * @member {google.cloud.dataproc.v1.ICluster|null|undefined} cluster - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest - * @instance - */ - UpdateClusterRequest.prototype.cluster = null; - - /** - * UpdateClusterRequest gracefulDecommissionTimeout. - * @member {google.protobuf.IDuration|null|undefined} gracefulDecommissionTimeout - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @instance */ - UpdateClusterRequest.prototype.gracefulDecommissionTimeout = null; + StartClusterRequest.prototype.clusterName = ""; /** - * UpdateClusterRequest updateMask. - * @member {google.protobuf.IFieldMask|null|undefined} updateMask - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * StartClusterRequest clusterUuid. + * @member {string} clusterUuid + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @instance */ - UpdateClusterRequest.prototype.updateMask = null; + StartClusterRequest.prototype.clusterUuid = ""; /** - * UpdateClusterRequest requestId. + * StartClusterRequest requestId. * @member {string} requestId - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @instance */ - UpdateClusterRequest.prototype.requestId = ""; + StartClusterRequest.prototype.requestId = ""; /** - * Creates a new UpdateClusterRequest instance using the specified properties. + * Creates a new StartClusterRequest instance using the specified properties. * @function create - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @static - * @param {google.cloud.dataproc.v1.IUpdateClusterRequest=} [properties] Properties to set - * @returns {google.cloud.dataproc.v1.UpdateClusterRequest} UpdateClusterRequest instance + * @param {google.cloud.dataproc.v1.IStartClusterRequest=} [properties] Properties to set + * @returns {google.cloud.dataproc.v1.StartClusterRequest} StartClusterRequest instance */ - UpdateClusterRequest.create = function create(properties) { - return new UpdateClusterRequest(properties); + StartClusterRequest.create = function create(properties) { + return new StartClusterRequest(properties); }; /** - * Encodes the specified UpdateClusterRequest message. Does not implicitly {@link google.cloud.dataproc.v1.UpdateClusterRequest.verify|verify} messages. + * Encodes the specified StartClusterRequest message. Does not implicitly {@link google.cloud.dataproc.v1.StartClusterRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @static - * @param {google.cloud.dataproc.v1.IUpdateClusterRequest} message UpdateClusterRequest message or plain object to encode + * @param {google.cloud.dataproc.v1.IStartClusterRequest} message StartClusterRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - UpdateClusterRequest.encode = function encode(message, writer) { + StartClusterRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId); - if (message.clusterName != null && Object.hasOwnProperty.call(message, "clusterName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.clusterName); - if (message.cluster != null && Object.hasOwnProperty.call(message, "cluster")) - $root.google.cloud.dataproc.v1.Cluster.encode(message.cluster, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) - $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.region != null && Object.hasOwnProperty.call(message, "region")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.region); - if (message.gracefulDecommissionTimeout != null && Object.hasOwnProperty.call(message, "gracefulDecommissionTimeout")) - $root.google.protobuf.Duration.encode(message.gracefulDecommissionTimeout, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + writer.uint32(/* id 2, wireType 2 =*/18).string(message.region); + if (message.clusterName != null && Object.hasOwnProperty.call(message, "clusterName")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.clusterName); + if (message.clusterUuid != null && Object.hasOwnProperty.call(message, "clusterUuid")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.clusterUuid); if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.requestId); + writer.uint32(/* id 5, wireType 2 =*/42).string(message.requestId); return writer; }; /** - * Encodes the specified UpdateClusterRequest message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.UpdateClusterRequest.verify|verify} messages. + * Encodes the specified StartClusterRequest message, length delimited. Does not implicitly {@link google.cloud.dataproc.v1.StartClusterRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @static - * @param {google.cloud.dataproc.v1.IUpdateClusterRequest} message UpdateClusterRequest message or plain object to encode + * @param {google.cloud.dataproc.v1.IStartClusterRequest} message StartClusterRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - UpdateClusterRequest.encodeDelimited = function encodeDelimited(message, writer) { + StartClusterRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an UpdateClusterRequest message from the specified reader or buffer. + * Decodes a StartClusterRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.dataproc.v1.UpdateClusterRequest} UpdateClusterRequest + * @returns {google.cloud.dataproc.v1.StartClusterRequest} StartClusterRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateClusterRequest.decode = function decode(reader, length) { + StartClusterRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.UpdateClusterRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.StartClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.projectId = reader.string(); break; - case 5: - message.region = reader.string(); - break; case 2: - message.clusterName = reader.string(); - break; - case 3: - message.cluster = $root.google.cloud.dataproc.v1.Cluster.decode(reader, reader.uint32()); - break; - case 6: - message.gracefulDecommissionTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.region = reader.string(); + break; + case 3: + message.clusterName = reader.string(); break; case 4: - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.clusterUuid = reader.string(); break; - case 7: + case 5: message.requestId = reader.string(); break; default: @@ -8535,30 +10664,30 @@ }; /** - * Decodes an UpdateClusterRequest message from the specified reader or buffer, length delimited. + * Decodes a StartClusterRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.dataproc.v1.UpdateClusterRequest} UpdateClusterRequest + * @returns {google.cloud.dataproc.v1.StartClusterRequest} StartClusterRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateClusterRequest.decodeDelimited = function decodeDelimited(reader) { + StartClusterRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an UpdateClusterRequest message. + * Verifies a StartClusterRequest message. * @function verify - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateClusterRequest.verify = function verify(message) { + StartClusterRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.projectId != null && message.hasOwnProperty("projectId")) @@ -8570,21 +10699,9 @@ if (message.clusterName != null && message.hasOwnProperty("clusterName")) if (!$util.isString(message.clusterName)) return "clusterName: string expected"; - if (message.cluster != null && message.hasOwnProperty("cluster")) { - var error = $root.google.cloud.dataproc.v1.Cluster.verify(message.cluster); - if (error) - return "cluster." + error; - } - if (message.gracefulDecommissionTimeout != null && message.hasOwnProperty("gracefulDecommissionTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.gracefulDecommissionTimeout); - if (error) - return "gracefulDecommissionTimeout." + error; - } - if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); - if (error) - return "updateMask." + error; - } + if (message.clusterUuid != null && message.hasOwnProperty("clusterUuid")) + if (!$util.isString(message.clusterUuid)) + return "clusterUuid: string expected"; if (message.requestId != null && message.hasOwnProperty("requestId")) if (!$util.isString(message.requestId)) return "requestId: string expected"; @@ -8592,94 +10709,75 @@ }; /** - * Creates an UpdateClusterRequest message from a plain object. Also converts values to their respective internal types. + * Creates a StartClusterRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.dataproc.v1.UpdateClusterRequest} UpdateClusterRequest + * @returns {google.cloud.dataproc.v1.StartClusterRequest} StartClusterRequest */ - UpdateClusterRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.dataproc.v1.UpdateClusterRequest) + StartClusterRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dataproc.v1.StartClusterRequest) return object; - var message = new $root.google.cloud.dataproc.v1.UpdateClusterRequest(); + var message = new $root.google.cloud.dataproc.v1.StartClusterRequest(); if (object.projectId != null) message.projectId = String(object.projectId); if (object.region != null) message.region = String(object.region); if (object.clusterName != null) message.clusterName = String(object.clusterName); - if (object.cluster != null) { - if (typeof object.cluster !== "object") - throw TypeError(".google.cloud.dataproc.v1.UpdateClusterRequest.cluster: object expected"); - message.cluster = $root.google.cloud.dataproc.v1.Cluster.fromObject(object.cluster); - } - if (object.gracefulDecommissionTimeout != null) { - if (typeof object.gracefulDecommissionTimeout !== "object") - throw TypeError(".google.cloud.dataproc.v1.UpdateClusterRequest.gracefulDecommissionTimeout: object expected"); - message.gracefulDecommissionTimeout = $root.google.protobuf.Duration.fromObject(object.gracefulDecommissionTimeout); - } - if (object.updateMask != null) { - if (typeof object.updateMask !== "object") - throw TypeError(".google.cloud.dataproc.v1.UpdateClusterRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); - } + if (object.clusterUuid != null) + message.clusterUuid = String(object.clusterUuid); if (object.requestId != null) message.requestId = String(object.requestId); return message; }; /** - * Creates a plain object from an UpdateClusterRequest message. Also converts values to other types if specified. + * Creates a plain object from a StartClusterRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @static - * @param {google.cloud.dataproc.v1.UpdateClusterRequest} message UpdateClusterRequest + * @param {google.cloud.dataproc.v1.StartClusterRequest} message StartClusterRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - UpdateClusterRequest.toObject = function toObject(message, options) { + StartClusterRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.projectId = ""; - object.clusterName = ""; - object.cluster = null; - object.updateMask = null; object.region = ""; - object.gracefulDecommissionTimeout = null; + object.clusterName = ""; + object.clusterUuid = ""; object.requestId = ""; } if (message.projectId != null && message.hasOwnProperty("projectId")) object.projectId = message.projectId; - if (message.clusterName != null && message.hasOwnProperty("clusterName")) - object.clusterName = message.clusterName; - if (message.cluster != null && message.hasOwnProperty("cluster")) - object.cluster = $root.google.cloud.dataproc.v1.Cluster.toObject(message.cluster, options); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) - object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); if (message.region != null && message.hasOwnProperty("region")) object.region = message.region; - if (message.gracefulDecommissionTimeout != null && message.hasOwnProperty("gracefulDecommissionTimeout")) - object.gracefulDecommissionTimeout = $root.google.protobuf.Duration.toObject(message.gracefulDecommissionTimeout, options); + if (message.clusterName != null && message.hasOwnProperty("clusterName")) + object.clusterName = message.clusterName; + if (message.clusterUuid != null && message.hasOwnProperty("clusterUuid")) + object.clusterUuid = message.clusterUuid; if (message.requestId != null && message.hasOwnProperty("requestId")) object.requestId = message.requestId; return object; }; /** - * Converts this UpdateClusterRequest to JSON. + * Converts this StartClusterRequest to JSON. * @function toJSON - * @memberof google.cloud.dataproc.v1.UpdateClusterRequest + * @memberof google.cloud.dataproc.v1.StartClusterRequest * @instance * @returns {Object.} JSON object */ - UpdateClusterRequest.prototype.toJSON = function toJSON() { + StartClusterRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return UpdateClusterRequest; + return StartClusterRequest; })(); v1.DeleteClusterRequest = (function() { @@ -10412,9 +12510,15 @@ * @enum {number} * @property {number} COMPONENT_UNSPECIFIED=0 COMPONENT_UNSPECIFIED value * @property {number} ANACONDA=5 ANACONDA value + * @property {number} DOCKER=13 DOCKER value + * @property {number} DRUID=9 DRUID value + * @property {number} FLINK=14 FLINK value + * @property {number} HBASE=11 HBASE value * @property {number} HIVE_WEBHCAT=3 HIVE_WEBHCAT value * @property {number} JUPYTER=1 JUPYTER value * @property {number} PRESTO=6 PRESTO value + * @property {number} RANGER=12 RANGER value + * @property {number} SOLR=10 SOLR value * @property {number} ZEPPELIN=4 ZEPPELIN value * @property {number} ZOOKEEPER=8 ZOOKEEPER value */ @@ -10422,9 +12526,15 @@ var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "COMPONENT_UNSPECIFIED"] = 0; values[valuesById[5] = "ANACONDA"] = 5; + values[valuesById[13] = "DOCKER"] = 13; + values[valuesById[9] = "DRUID"] = 9; + values[valuesById[14] = "FLINK"] = 14; + values[valuesById[11] = "HBASE"] = 11; values[valuesById[3] = "HIVE_WEBHCAT"] = 3; values[valuesById[1] = "JUPYTER"] = 1; values[valuesById[6] = "PRESTO"] = 6; + values[valuesById[12] = "RANGER"] = 12; + values[valuesById[10] = "SOLR"] = 10; values[valuesById[4] = "ZEPPELIN"] = 4; values[valuesById[8] = "ZOOKEEPER"] = 8; return values; @@ -14696,6 +16806,7 @@ * @interface IJobPlacement * @property {string|null} [clusterName] JobPlacement clusterName * @property {string|null} [clusterUuid] JobPlacement clusterUuid + * @property {Object.|null} [clusterLabels] JobPlacement clusterLabels */ /** @@ -14707,6 +16818,7 @@ * @param {google.cloud.dataproc.v1.IJobPlacement=} [properties] Properties to set */ function JobPlacement(properties) { + this.clusterLabels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -14729,6 +16841,14 @@ */ JobPlacement.prototype.clusterUuid = ""; + /** + * JobPlacement clusterLabels. + * @member {Object.} clusterLabels + * @memberof google.cloud.dataproc.v1.JobPlacement + * @instance + */ + JobPlacement.prototype.clusterLabels = $util.emptyObject; + /** * Creates a new JobPlacement instance using the specified properties. * @function create @@ -14757,6 +16877,9 @@ writer.uint32(/* id 1, wireType 2 =*/10).string(message.clusterName); if (message.clusterUuid != null && Object.hasOwnProperty.call(message, "clusterUuid")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.clusterUuid); + if (message.clusterLabels != null && Object.hasOwnProperty.call(message, "clusterLabels")) + for (var keys = Object.keys(message.clusterLabels), i = 0; i < keys.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.clusterLabels[keys[i]]).ldelim(); return writer; }; @@ -14787,7 +16910,7 @@ JobPlacement.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.JobPlacement(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dataproc.v1.JobPlacement(), key, value; while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -14797,6 +16920,28 @@ case 2: message.clusterUuid = reader.string(); break; + case 3: + if (message.clusterLabels === $util.emptyObject) + message.clusterLabels = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.clusterLabels[key] = value; + break; default: reader.skipType(tag & 7); break; @@ -14838,6 +16983,14 @@ if (message.clusterUuid != null && message.hasOwnProperty("clusterUuid")) if (!$util.isString(message.clusterUuid)) return "clusterUuid: string expected"; + if (message.clusterLabels != null && message.hasOwnProperty("clusterLabels")) { + if (!$util.isObject(message.clusterLabels)) + return "clusterLabels: object expected"; + var key = Object.keys(message.clusterLabels); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.clusterLabels[key[i]])) + return "clusterLabels: string{k:string} expected"; + } return null; }; @@ -14857,6 +17010,13 @@ message.clusterName = String(object.clusterName); if (object.clusterUuid != null) message.clusterUuid = String(object.clusterUuid); + if (object.clusterLabels) { + if (typeof object.clusterLabels !== "object") + throw TypeError(".google.cloud.dataproc.v1.JobPlacement.clusterLabels: object expected"); + message.clusterLabels = {}; + for (var keys = Object.keys(object.clusterLabels), i = 0; i < keys.length; ++i) + message.clusterLabels[keys[i]] = String(object.clusterLabels[keys[i]]); + } return message; }; @@ -14873,6 +17033,8 @@ if (!options) options = {}; var object = {}; + if (options.objects || options.defaults) + object.clusterLabels = {}; if (options.defaults) { object.clusterName = ""; object.clusterUuid = ""; @@ -14881,6 +17043,12 @@ object.clusterName = message.clusterName; if (message.clusterUuid != null && message.hasOwnProperty("clusterUuid")) object.clusterUuid = message.clusterUuid; + var keys2; + if (message.clusterLabels && (keys2 = Object.keys(message.clusterLabels)).length) { + object.clusterLabels = {}; + for (var j = 0; j < keys2.length; ++j) + object.clusterLabels[keys2[j]] = message.clusterLabels[keys2[j]]; + } return object; }; @@ -16621,6 +18789,7 @@ * @memberof google.cloud.dataproc.v1 * @interface IJobScheduling * @property {number|null} [maxFailuresPerHour] JobScheduling maxFailuresPerHour + * @property {number|null} [maxFailuresTotal] JobScheduling maxFailuresTotal */ /** @@ -16646,6 +18815,14 @@ */ JobScheduling.prototype.maxFailuresPerHour = 0; + /** + * JobScheduling maxFailuresTotal. + * @member {number} maxFailuresTotal + * @memberof google.cloud.dataproc.v1.JobScheduling + * @instance + */ + JobScheduling.prototype.maxFailuresTotal = 0; + /** * Creates a new JobScheduling instance using the specified properties. * @function create @@ -16672,6 +18849,8 @@ writer = $Writer.create(); if (message.maxFailuresPerHour != null && Object.hasOwnProperty.call(message, "maxFailuresPerHour")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.maxFailuresPerHour); + if (message.maxFailuresTotal != null && Object.hasOwnProperty.call(message, "maxFailuresTotal")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxFailuresTotal); return writer; }; @@ -16709,6 +18888,9 @@ case 1: message.maxFailuresPerHour = reader.int32(); break; + case 2: + message.maxFailuresTotal = reader.int32(); + break; default: reader.skipType(tag & 7); break; @@ -16747,6 +18929,9 @@ if (message.maxFailuresPerHour != null && message.hasOwnProperty("maxFailuresPerHour")) if (!$util.isInteger(message.maxFailuresPerHour)) return "maxFailuresPerHour: integer expected"; + if (message.maxFailuresTotal != null && message.hasOwnProperty("maxFailuresTotal")) + if (!$util.isInteger(message.maxFailuresTotal)) + return "maxFailuresTotal: integer expected"; return null; }; @@ -16764,6 +18949,8 @@ var message = new $root.google.cloud.dataproc.v1.JobScheduling(); if (object.maxFailuresPerHour != null) message.maxFailuresPerHour = object.maxFailuresPerHour | 0; + if (object.maxFailuresTotal != null) + message.maxFailuresTotal = object.maxFailuresTotal | 0; return message; }; @@ -16780,10 +18967,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.maxFailuresPerHour = 0; + object.maxFailuresTotal = 0; + } if (message.maxFailuresPerHour != null && message.hasOwnProperty("maxFailuresPerHour")) object.maxFailuresPerHour = message.maxFailuresPerHour; + if (message.maxFailuresTotal != null && message.hasOwnProperty("maxFailuresTotal")) + object.maxFailuresTotal = message.maxFailuresTotal; return object; }; @@ -19894,6 +22085,7 @@ * @property {google.cloud.dataproc.v1.IWorkflowTemplatePlacement|null} [placement] WorkflowTemplate placement * @property {Array.|null} [jobs] WorkflowTemplate jobs * @property {Array.|null} [parameters] WorkflowTemplate parameters + * @property {google.protobuf.IDuration|null} [dagTimeout] WorkflowTemplate dagTimeout */ /** @@ -19986,6 +22178,14 @@ */ WorkflowTemplate.prototype.parameters = $util.emptyArray; + /** + * WorkflowTemplate dagTimeout. + * @member {google.protobuf.IDuration|null|undefined} dagTimeout + * @memberof google.cloud.dataproc.v1.WorkflowTemplate + * @instance + */ + WorkflowTemplate.prototype.dagTimeout = null; + /** * Creates a new WorkflowTemplate instance using the specified properties. * @function create @@ -20031,6 +22231,8 @@ if (message.parameters != null && message.parameters.length) for (var i = 0; i < message.parameters.length; ++i) $root.google.cloud.dataproc.v1.TemplateParameter.encode(message.parameters[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.dagTimeout != null && Object.hasOwnProperty.call(message, "dagTimeout")) + $root.google.protobuf.Duration.encode(message.dagTimeout, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); return writer; }; @@ -20115,6 +22317,9 @@ message.parameters = []; message.parameters.push($root.google.cloud.dataproc.v1.TemplateParameter.decode(reader, reader.uint32())); break; + case 10: + message.dagTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -20200,6 +22405,11 @@ return "parameters." + error; } } + if (message.dagTimeout != null && message.hasOwnProperty("dagTimeout")) { + var error = $root.google.protobuf.Duration.verify(message.dagTimeout); + if (error) + return "dagTimeout." + error; + } return null; }; @@ -20263,6 +22473,11 @@ message.parameters[i] = $root.google.cloud.dataproc.v1.TemplateParameter.fromObject(object.parameters[i]); } } + if (object.dagTimeout != null) { + if (typeof object.dagTimeout !== "object") + throw TypeError(".google.cloud.dataproc.v1.WorkflowTemplate.dagTimeout: object expected"); + message.dagTimeout = $root.google.protobuf.Duration.fromObject(object.dagTimeout); + } return message; }; @@ -20292,6 +22507,7 @@ object.createTime = null; object.updateTime = null; object.placement = null; + object.dagTimeout = null; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -20321,6 +22537,8 @@ for (var j = 0; j < message.parameters.length; ++j) object.parameters[j] = $root.google.cloud.dataproc.v1.TemplateParameter.toObject(message.parameters[j], options); } + if (message.dagTimeout != null && message.hasOwnProperty("dagTimeout")) + object.dagTimeout = $root.google.protobuf.Duration.toObject(message.dagTimeout, options); return object; }; @@ -22642,6 +24860,9 @@ * @property {google.protobuf.ITimestamp|null} [startTime] WorkflowMetadata startTime * @property {google.protobuf.ITimestamp|null} [endTime] WorkflowMetadata endTime * @property {string|null} [clusterUuid] WorkflowMetadata clusterUuid + * @property {google.protobuf.IDuration|null} [dagTimeout] WorkflowMetadata dagTimeout + * @property {google.protobuf.ITimestamp|null} [dagStartTime] WorkflowMetadata dagStartTime + * @property {google.protobuf.ITimestamp|null} [dagEndTime] WorkflowMetadata dagEndTime */ /** @@ -22748,6 +24969,30 @@ */ WorkflowMetadata.prototype.clusterUuid = ""; + /** + * WorkflowMetadata dagTimeout. + * @member {google.protobuf.IDuration|null|undefined} dagTimeout + * @memberof google.cloud.dataproc.v1.WorkflowMetadata + * @instance + */ + WorkflowMetadata.prototype.dagTimeout = null; + + /** + * WorkflowMetadata dagStartTime. + * @member {google.protobuf.ITimestamp|null|undefined} dagStartTime + * @memberof google.cloud.dataproc.v1.WorkflowMetadata + * @instance + */ + WorkflowMetadata.prototype.dagStartTime = null; + + /** + * WorkflowMetadata dagEndTime. + * @member {google.protobuf.ITimestamp|null|undefined} dagEndTime + * @memberof google.cloud.dataproc.v1.WorkflowMetadata + * @instance + */ + WorkflowMetadata.prototype.dagEndTime = null; + /** * Creates a new WorkflowMetadata instance using the specified properties. * @function create @@ -22795,6 +25040,12 @@ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); if (message.clusterUuid != null && Object.hasOwnProperty.call(message, "clusterUuid")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.clusterUuid); + if (message.dagTimeout != null && Object.hasOwnProperty.call(message, "dagTimeout")) + $root.google.protobuf.Duration.encode(message.dagTimeout, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.dagStartTime != null && Object.hasOwnProperty.call(message, "dagStartTime")) + $root.google.protobuf.Timestamp.encode(message.dagStartTime, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.dagEndTime != null && Object.hasOwnProperty.call(message, "dagEndTime")) + $root.google.protobuf.Timestamp.encode(message.dagEndTime, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); return writer; }; @@ -22881,6 +25132,15 @@ case 11: message.clusterUuid = reader.string(); break; + case 12: + message.dagTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 13: + message.dagStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 14: + message.dagEndTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -22971,6 +25231,21 @@ if (message.clusterUuid != null && message.hasOwnProperty("clusterUuid")) if (!$util.isString(message.clusterUuid)) return "clusterUuid: string expected"; + if (message.dagTimeout != null && message.hasOwnProperty("dagTimeout")) { + var error = $root.google.protobuf.Duration.verify(message.dagTimeout); + if (error) + return "dagTimeout." + error; + } + if (message.dagStartTime != null && message.hasOwnProperty("dagStartTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.dagStartTime); + if (error) + return "dagStartTime." + error; + } + if (message.dagEndTime != null && message.hasOwnProperty("dagEndTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.dagEndTime); + if (error) + return "dagEndTime." + error; + } return null; }; @@ -23044,6 +25319,21 @@ } if (object.clusterUuid != null) message.clusterUuid = String(object.clusterUuid); + if (object.dagTimeout != null) { + if (typeof object.dagTimeout !== "object") + throw TypeError(".google.cloud.dataproc.v1.WorkflowMetadata.dagTimeout: object expected"); + message.dagTimeout = $root.google.protobuf.Duration.fromObject(object.dagTimeout); + } + if (object.dagStartTime != null) { + if (typeof object.dagStartTime !== "object") + throw TypeError(".google.cloud.dataproc.v1.WorkflowMetadata.dagStartTime: object expected"); + message.dagStartTime = $root.google.protobuf.Timestamp.fromObject(object.dagStartTime); + } + if (object.dagEndTime != null) { + if (typeof object.dagEndTime !== "object") + throw TypeError(".google.cloud.dataproc.v1.WorkflowMetadata.dagEndTime: object expected"); + message.dagEndTime = $root.google.protobuf.Timestamp.fromObject(object.dagEndTime); + } return message; }; @@ -23073,6 +25363,9 @@ object.startTime = null; object.endTime = null; object.clusterUuid = ""; + object.dagTimeout = null; + object.dagStartTime = null; + object.dagEndTime = null; } if (message.template != null && message.hasOwnProperty("template")) object.template = message.template; @@ -23100,6 +25393,12 @@ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); if (message.clusterUuid != null && message.hasOwnProperty("clusterUuid")) object.clusterUuid = message.clusterUuid; + if (message.dagTimeout != null && message.hasOwnProperty("dagTimeout")) + object.dagTimeout = $root.google.protobuf.Duration.toObject(message.dagTimeout, options); + if (message.dagStartTime != null && message.hasOwnProperty("dagStartTime")) + object.dagStartTime = $root.google.protobuf.Timestamp.toObject(message.dagStartTime, options); + if (message.dagEndTime != null && message.hasOwnProperty("dagEndTime")) + object.dagEndTime = $root.google.protobuf.Timestamp.toObject(message.dagEndTime, options); return object; }; diff --git a/protos/protos.json b/protos/protos.json index 2cbc29b1..e2fdb0bf 100644 --- a/protos/protos.json +++ b/protos/protos.json @@ -12,8 +12,8 @@ "java_multiple_files": true, "java_outer_classname": "WorkflowTemplatesProto", "java_package": "com.google.cloud.dataproc.v1", - "(google.api.resource_definition).type": "dataproc.googleapis.com/Region", - "(google.api.resource_definition).pattern": "projects/{project}/regions/{region}" + "(google.api.resource_definition).type": "metastore.googleapis.com/Service", + "(google.api.resource_definition).pattern": "projects/{project}/locations/{location}/services/{service}" }, "nested": { "AutoscalingPolicyService": { @@ -432,6 +432,54 @@ } ] }, + "StopCluster": { + "requestType": "StopClusterRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}:stop", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "Cluster", + "(google.longrunning.operation_info).metadata_type": "google.cloud.dataproc.v1.ClusterOperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}:stop", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Cluster", + "metadata_type": "google.cloud.dataproc.v1.ClusterOperationMetadata" + } + } + ] + }, + "StartCluster": { + "requestType": "StartClusterRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}:start", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "Cluster", + "(google.longrunning.operation_info).metadata_type": "google.cloud.dataproc.v1.ClusterOperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}:start", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Cluster", + "metadata_type": "google.cloud.dataproc.v1.ClusterOperationMetadata" + } + } + ] + }, "DeleteCluster": { "requestType": "DeleteClusterRequest", "responseType": "google.longrunning.Operation", @@ -682,6 +730,52 @@ "options": { "(google.api.field_behavior)": "OPTIONAL" } + }, + "metastoreConfig": { + "type": "MetastoreConfig", + "id": 20, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "gkeClusterConfig": { + "type": "GkeClusterConfig", + "id": 21, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "GkeClusterConfig": { + "fields": { + "namespacedGkeDeploymentTarget": { + "type": "NamespacedGkeDeploymentTarget", + "id": 1, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + }, + "nested": { + "NamespacedGkeDeploymentTarget": { + "fields": { + "targetGkeCluster": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OPTIONAL", + "(google.api.resource_reference).type": "container.googleapis.com/Cluster" + } + }, + "clusterNamespace": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } } } }, @@ -756,6 +850,13 @@ "(google.api.field_behavior)": "OPTIONAL" } }, + "privateIpv6GoogleAccess": { + "type": "PrivateIpv6GoogleAccess", + "id": 12, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, "serviceAccount": { "type": "string", "id": 8, @@ -787,6 +888,66 @@ "options": { "(google.api.field_behavior)": "OPTIONAL" } + }, + "nodeGroupAffinity": { + "type": "NodeGroupAffinity", + "id": 13, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "shieldedInstanceConfig": { + "type": "ShieldedInstanceConfig", + "id": 14, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + }, + "nested": { + "PrivateIpv6GoogleAccess": { + "values": { + "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED": 0, + "INHERIT_FROM_SUBNETWORK": 1, + "OUTBOUND": 2, + "BIDIRECTIONAL": 3 + } + } + } + }, + "NodeGroupAffinity": { + "fields": { + "nodeGroupUri": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ShieldedInstanceConfig": { + "fields": { + "enableSecureBoot": { + "type": "bool", + "id": 1, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "enableVtpm": { + "type": "bool", + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "enableIntegrityMonitoring": { + "type": "bool", + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -987,7 +1148,10 @@ "RUNNING": 2, "ERROR": 3, "DELETING": 4, - "UPDATING": 5 + "UPDATING": 5, + "STOPPING": 6, + "STOPPED": 7, + "STARTING": 8 } }, "Substate": { @@ -1003,7 +1167,17 @@ "fields": { "kerberosConfig": { "type": "KerberosConfig", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "identityConfig": { + "type": "IdentityConfig", + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -1020,14 +1194,14 @@ "type": "string", "id": 2, "options": { - "(google.api.field_behavior)": "REQUIRED" + "(google.api.field_behavior)": "OPTIONAL" } }, "kmsKeyUri": { "type": "string", "id": 3, "options": { - "(google.api.field_behavior)": "REQUIRED" + "(google.api.field_behavior)": "OPTIONAL" } }, "keystoreUri": { @@ -1116,6 +1290,18 @@ } } }, + "IdentityConfig": { + "fields": { + "userServiceAccountMapping": { + "keyType": "string", + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, "SoftwareConfig": { "fields": { "imageVersion": { @@ -1183,6 +1369,18 @@ } } }, + "MetastoreConfig": { + "fields": { + "dataprocMetastoreService": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "metastore.googleapis.com/Service" + } + } + } + }, "ClusterMetrics": { "fields": { "hdfsMetrics": { @@ -1282,6 +1480,84 @@ } } }, + "StopClusterRequest": { + "fields": { + "projectId": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "region": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "clusterName": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "clusterUuid": { + "type": "string", + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "requestId": { + "type": "string", + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "StartClusterRequest": { + "fields": { + "projectId": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "region": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "clusterName": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "clusterUuid": { + "type": "string", + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "requestId": { + "type": "string", + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, "DeleteClusterRequest": { "fields": { "projectId": { @@ -1480,9 +1756,15 @@ "values": { "COMPONENT_UNSPECIFIED": 0, "ANACONDA": 5, + "DOCKER": 13, + "DRUID": 9, + "FLINK": 14, + "HBASE": 11, "HIVE_WEBHCAT": 3, "JUPYTER": 1, "PRESTO": 6, + "RANGER": 12, + "SOLR": 10, "ZEPPELIN": 4, "ZOOKEEPER": 8 } @@ -2154,6 +2436,14 @@ "options": { "(google.api.field_behavior)": "OUTPUT_ONLY" } + }, + "clusterLabels": { + "keyType": "string", + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -2440,6 +2730,13 @@ "options": { "(google.api.field_behavior)": "OPTIONAL" } + }, + "maxFailuresTotal": { + "type": "int32", + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -3076,6 +3373,13 @@ "options": { "(google.api.field_behavior)": "OPTIONAL" } + }, + "dagTimeout": { + "type": "google.protobuf.Duration", + "id": 10, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -3401,6 +3705,27 @@ "options": { "(google.api.field_behavior)": "OUTPUT_ONLY" } + }, + "dagTimeout": { + "type": "google.protobuf.Duration", + "id": 12, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "dagStartTime": { + "type": "google.protobuf.Timestamp", + "id": 13, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "dagEndTime": { + "type": "google.protobuf.Timestamp", + "id": 14, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } }, "nested": { diff --git a/src/v1/cluster_controller_client.ts b/src/v1/cluster_controller_client.ts index 0663b5a1..6dfb6363 100644 --- a/src/v1/cluster_controller_client.ts +++ b/src/v1/cluster_controller_client.ts @@ -181,6 +181,9 @@ export class ClusterControllerClient { projectRegionWorkflowTemplatePathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/regions/{region}/workflowTemplates/{workflow_template}' ), + servicePathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/services/{service}' + ), }; // Some of the methods on this service return "paged" results, @@ -222,6 +225,18 @@ export class ClusterControllerClient { const updateClusterMetadata = protoFilesRoot.lookup( '.google.cloud.dataproc.v1.ClusterOperationMetadata' ) as gax.protobuf.Type; + const stopClusterResponse = protoFilesRoot.lookup( + '.google.cloud.dataproc.v1.Cluster' + ) as gax.protobuf.Type; + const stopClusterMetadata = protoFilesRoot.lookup( + '.google.cloud.dataproc.v1.ClusterOperationMetadata' + ) as gax.protobuf.Type; + const startClusterResponse = protoFilesRoot.lookup( + '.google.cloud.dataproc.v1.Cluster' + ) as gax.protobuf.Type; + const startClusterMetadata = protoFilesRoot.lookup( + '.google.cloud.dataproc.v1.ClusterOperationMetadata' + ) as gax.protobuf.Type; const deleteClusterResponse = protoFilesRoot.lookup( '.google.protobuf.Empty' ) as gax.protobuf.Type; @@ -246,6 +261,16 @@ export class ClusterControllerClient { updateClusterResponse.decode.bind(updateClusterResponse), updateClusterMetadata.decode.bind(updateClusterMetadata) ), + stopCluster: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + stopClusterResponse.decode.bind(stopClusterResponse), + stopClusterMetadata.decode.bind(stopClusterMetadata) + ), + startCluster: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + startClusterResponse.decode.bind(startClusterResponse), + startClusterMetadata.decode.bind(startClusterMetadata) + ), deleteCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, deleteClusterResponse.decode.bind(deleteClusterResponse), @@ -306,6 +331,8 @@ export class ClusterControllerClient { const clusterControllerStubMethods = [ 'createCluster', 'updateCluster', + 'stopCluster', + 'startCluster', 'deleteCluster', 'getCluster', 'listClusters', @@ -535,9 +562,9 @@ export class ClusterControllerClient { * @param {google.cloud.dataproc.v1.Cluster} request.cluster * Required. The cluster to create. * @param {string} [request.requestId] - * Optional. A unique id used to identify the request. If the server - * receives two {@link google.cloud.dataproc.v1.CreateClusterRequest|CreateClusterRequest} requests with the same - * id, then the second request will be ignored and the + * 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 {@link google.longrunning.Operation|google.longrunning.Operation} created and stored in the backend * is returned. * @@ -761,8 +788,9 @@ export class ClusterControllerClient { * * @param {string} [request.requestId] * Optional. A unique id used to identify the request. If the server - * receives two {@link google.cloud.dataproc.v1.UpdateClusterRequest|UpdateClusterRequest} requests with the same - * id, then the second request will be ignored and the + * 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 {@link google.longrunning.Operation|google.longrunning.Operation} created and stored in the * backend is returned. * @@ -870,6 +898,332 @@ export class ClusterControllerClient { protos.google.cloud.dataproc.v1.ClusterOperationMetadata >; } + stopCluster( + request: protos.google.cloud.dataproc.v1.IStopClusterRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + stopCluster( + request: protos.google.cloud.dataproc.v1.IStopClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + stopCluster( + request: protos.google.cloud.dataproc.v1.IStopClusterRequest, + callback: Callback< + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Stops a cluster in a project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.projectId + * Required. The ID of the Google Cloud Platform project the + * cluster belongs to. + * @param {string} request.region + * Required. The Dataproc region in which to handle the request. + * @param {string} request.clusterName + * Required. The cluster name. + * @param {string} [request.clusterUuid] + * Optional. Specifying the `cluster_uuid` means the RPC will fail + * (with error NOT_FOUND) if a cluster with the specified UUID does not exist. + * @param {string} [request.requestId] + * Optional. A unique id used to identify the request. If the server + * 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 {@link 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). + * + * The id must contain only letters (a-z, A-Z), numbers (0-9), + * underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.stopCluster(request); + * const [response] = await operation.promise(); + */ + stopCluster( + request: protos.google.cloud.dataproc.v1.IStopClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + project_id: request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.stopCluster(request, options, callback); + } + /** + * Check the status of the long running operation returned by `stopCluster()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkStopClusterProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkStopClusterProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.dataproc.v1.Cluster, + protos.google.cloud.dataproc.v1.ClusterOperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.stopCluster, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.dataproc.v1.Cluster, + protos.google.cloud.dataproc.v1.ClusterOperationMetadata + >; + } + startCluster( + request: protos.google.cloud.dataproc.v1.IStartClusterRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + startCluster( + request: protos.google.cloud.dataproc.v1.IStartClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + startCluster( + request: protos.google.cloud.dataproc.v1.IStartClusterRequest, + callback: Callback< + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Starts a cluster in a project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.projectId + * Required. The ID of the Google Cloud Platform project the + * cluster belongs to. + * @param {string} request.region + * Required. The Dataproc region in which to handle the request. + * @param {string} request.clusterName + * Required. The cluster name. + * @param {string} [request.clusterUuid] + * Optional. Specifying the `cluster_uuid` means the RPC will fail + * (with error NOT_FOUND) if a cluster with the specified UUID does not exist. + * @param {string} [request.requestId] + * Optional. A unique id used to identify the request. If the server + * 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 {@link 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). + * + * The id must contain only letters (a-z, A-Z), numbers (0-9), + * underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.startCluster(request); + * const [response] = await operation.promise(); + */ + startCluster( + request: protos.google.cloud.dataproc.v1.IStartClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + project_id: request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.startCluster(request, options, callback); + } + /** + * Check the status of the long running operation returned by `startCluster()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkStartClusterProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkStartClusterProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.dataproc.v1.Cluster, + protos.google.cloud.dataproc.v1.ClusterOperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.startCluster, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.dataproc.v1.Cluster, + protos.google.cloud.dataproc.v1.ClusterOperationMetadata + >; + } deleteCluster( request: protos.google.cloud.dataproc.v1.IDeleteClusterRequest, options?: CallOptions @@ -925,8 +1279,9 @@ export class ClusterControllerClient { * (with error NOT_FOUND) if cluster with specified UUID does not exist. * @param {string} [request.requestId] * Optional. A unique id used to identify the request. If the server - * receives two {@link google.cloud.dataproc.v1.DeleteClusterRequest|DeleteClusterRequest} requests with the same - * id, then the second request will be ignored and the + * 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 {@link google.longrunning.Operation|google.longrunning.Operation} created and stored in the * backend is returned. * @@ -1714,6 +2069,55 @@ export class ClusterControllerClient { ).workflow_template; } + /** + * Return a fully-qualified service resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} service + * @returns {string} Resource name string. + */ + servicePath(project: string, location: string, service: string) { + return this.pathTemplates.servicePathTemplate.render({ + project: project, + location: location, + service: service, + }); + } + + /** + * Parse the project from Service resource. + * + * @param {string} serviceName + * A fully-qualified path representing Service resource. + * @returns {string} A string representing the project. + */ + matchProjectFromServiceName(serviceName: string) { + return this.pathTemplates.servicePathTemplate.match(serviceName).project; + } + + /** + * Parse the location from Service resource. + * + * @param {string} serviceName + * A fully-qualified path representing Service resource. + * @returns {string} A string representing the location. + */ + matchLocationFromServiceName(serviceName: string) { + return this.pathTemplates.servicePathTemplate.match(serviceName).location; + } + + /** + * Parse the service from Service resource. + * + * @param {string} serviceName + * A fully-qualified path representing Service resource. + * @returns {string} A string representing the service. + */ + matchServiceFromServiceName(serviceName: string) { + return this.pathTemplates.servicePathTemplate.match(serviceName).service; + } + /** * Terminate the gRPC channel and close the client. * diff --git a/src/v1/cluster_controller_client_config.json b/src/v1/cluster_controller_client_config.json index 59bd8123..6f5f5f3d 100644 --- a/src/v1/cluster_controller_client_config.json +++ b/src/v1/cluster_controller_client_config.json @@ -38,6 +38,14 @@ "retry_codes_name": "unavailable", "retry_params_name": "default" }, + "StopCluster": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "StartCluster": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, "DeleteCluster": { "timeout_millis": 300000, "retry_codes_name": "unavailable", diff --git a/src/v1/gapic_metadata.json b/src/v1/gapic_metadata.json index fd2fb1a8..eaf07c5a 100644 --- a/src/v1/gapic_metadata.json +++ b/src/v1/gapic_metadata.json @@ -93,6 +93,16 @@ "updateCluster" ] }, + "StopCluster": { + "methods": [ + "stopCluster" + ] + }, + "StartCluster": { + "methods": [ + "startCluster" + ] + }, "DeleteCluster": { "methods": [ "deleteCluster" @@ -130,6 +140,16 @@ "updateCluster" ] }, + "StopCluster": { + "methods": [ + "stopCluster" + ] + }, + "StartCluster": { + "methods": [ + "startCluster" + ] + }, "DeleteCluster": { "methods": [ "deleteCluster" diff --git a/src/v1/job_controller_client.ts b/src/v1/job_controller_client.ts index d2dcaf69..b434dabf 100644 --- a/src/v1/job_controller_client.ts +++ b/src/v1/job_controller_client.ts @@ -402,8 +402,9 @@ export class JobControllerClient { * Required. The job resource. * @param {string} [request.requestId] * Optional. A unique id used to identify the request. If the server - * receives two {@link google.cloud.dataproc.v1.SubmitJobRequest|SubmitJobRequest} requests with the same - * id, then the second request will be ignored and the + * receives two + * [SubmitJobRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.SubmitJobRequest)s + * with the same id, then the second request will be ignored and the * first {@link google.cloud.dataproc.v1.Job|Job} created and stored in the backend * is returned. * @@ -883,8 +884,9 @@ export class JobControllerClient { * Required. The job resource. * @param {string} [request.requestId] * Optional. A unique id used to identify the request. If the server - * receives two {@link google.cloud.dataproc.v1.SubmitJobRequest|SubmitJobRequest} requests with the same - * id, then the second request will be ignored and the + * receives two + * [SubmitJobRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.SubmitJobRequest)s + * with the same id, then the second request will be ignored and the * first {@link google.cloud.dataproc.v1.Job|Job} created and stored in the backend * is returned. * diff --git a/src/v1/workflow_template_service_client.ts b/src/v1/workflow_template_service_client.ts index 35d6e181..b3873aef 100644 --- a/src/v1/workflow_template_service_client.ts +++ b/src/v1/workflow_template_service_client.ts @@ -922,7 +922,7 @@ export class WorkflowTemplateServiceClient { * underscores (_), and hyphens (-). The maximum length is 40 characters. * @param {number[]} [request.parameters] * Optional. Map from parameter names to values that should be used for those - * parameters. Values may not exceed 100 characters. + * parameters. Values may not exceed 1000 characters. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. @@ -1066,7 +1066,8 @@ export class WorkflowTemplateServiceClient { * Instantiates a template and begins execution. * * This method is equivalent to executing the sequence - * {@link google.cloud.dataproc.v1.WorkflowTemplateService.CreateWorkflowTemplate|CreateWorkflowTemplate}, {@link google.cloud.dataproc.v1.WorkflowTemplateService.InstantiateWorkflowTemplate|InstantiateWorkflowTemplate}, + * {@link google.cloud.dataproc.v1.WorkflowTemplateService.CreateWorkflowTemplate|CreateWorkflowTemplate}, + * {@link google.cloud.dataproc.v1.WorkflowTemplateService.InstantiateWorkflowTemplate|InstantiateWorkflowTemplate}, * {@link google.cloud.dataproc.v1.WorkflowTemplateService.DeleteWorkflowTemplate|DeleteWorkflowTemplate}. * * The returned Operation can be used to track execution of diff --git a/test/gapic_cluster_controller_v1.ts b/test/gapic_cluster_controller_v1.ts index e8c5bd44..35f5fee6 100644 --- a/test/gapic_cluster_controller_v1.ts +++ b/test/gapic_cluster_controller_v1.ts @@ -732,6 +732,388 @@ describe('v1.ClusterControllerClient', () => { }); }); + describe('stopCluster', () => { + it('invokes stopCluster without error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.dataproc.v1.StopClusterRequest() + ); + request.projectId = ''; + const expectedHeaderRequestParams = 'project_id='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.stopCluster = stubLongRunningCall(expectedResponse); + const [operation] = await client.stopCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.stopCluster as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes stopCluster without error using callback', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.dataproc.v1.StopClusterRequest() + ); + request.projectId = ''; + const expectedHeaderRequestParams = 'project_id='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.stopCluster = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.stopCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.stopCluster as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes stopCluster with call error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.dataproc.v1.StopClusterRequest() + ); + request.projectId = ''; + const expectedHeaderRequestParams = 'project_id='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.stopCluster = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.stopCluster(request), expectedError); + assert( + (client.innerApiCalls.stopCluster as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes stopCluster with LRO error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.dataproc.v1.StopClusterRequest() + ); + request.projectId = ''; + const expectedHeaderRequestParams = 'project_id='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.stopCluster = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.stopCluster(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.stopCluster as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkStopClusterProgress without error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkStopClusterProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkStopClusterProgress with error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkStopClusterProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('startCluster', () => { + it('invokes startCluster without error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.dataproc.v1.StartClusterRequest() + ); + request.projectId = ''; + const expectedHeaderRequestParams = 'project_id='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.startCluster = stubLongRunningCall(expectedResponse); + const [operation] = await client.startCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.startCluster as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes startCluster without error using callback', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.dataproc.v1.StartClusterRequest() + ); + request.projectId = ''; + const expectedHeaderRequestParams = 'project_id='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.startCluster = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.startCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.dataproc.v1.ICluster, + protos.google.cloud.dataproc.v1.IClusterOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.startCluster as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes startCluster with call error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.dataproc.v1.StartClusterRequest() + ); + request.projectId = ''; + const expectedHeaderRequestParams = 'project_id='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.startCluster = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.startCluster(request), expectedError); + assert( + (client.innerApiCalls.startCluster as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes startCluster with LRO error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.dataproc.v1.StartClusterRequest() + ); + request.projectId = ''; + const expectedHeaderRequestParams = 'project_id='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.startCluster = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.startCluster(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.startCluster as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkStartClusterProgress without error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkStartClusterProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkStartClusterProgress with error', async () => { + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkStartClusterProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + describe('deleteCluster', () => { it('invokes deleteCluster without error', async () => { const client = new clustercontrollerModule.v1.ClusterControllerClient({ @@ -1710,5 +2092,69 @@ describe('v1.ClusterControllerClient', () => { ); }); }); + + describe('service', () => { + const fakePath = '/rendered/path/service'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + service: 'serviceValue', + }; + const client = new clustercontrollerModule.v1.ClusterControllerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.servicePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.servicePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('servicePath', () => { + const result = client.servicePath( + 'projectValue', + 'locationValue', + 'serviceValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.servicePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromServiceName', () => { + const result = client.matchProjectFromServiceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromServiceName', () => { + const result = client.matchLocationFromServiceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchServiceFromServiceName', () => { + const result = client.matchServiceFromServiceName(fakePath); + assert.strictEqual(result, 'serviceValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); }); });