diff --git a/BigQueryReservation/metadata/V1/Reservation.php b/BigQueryReservation/metadata/V1/Reservation.php index c1fa1a5308ad..78a4ccf73d54 100644 --- a/BigQueryReservation/metadata/V1/Reservation.php +++ b/BigQueryReservation/metadata/V1/Reservation.php @@ -26,7 +26,7 @@ public static function initOnce() { \GPBMetadata\Google\Rpc\Status::initOnce(); \GPBMetadata\Google\Type\Expr::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xBA\x84\x01\x0A6google/cloud/bigquery/reservation/v1/reservation.proto\x12\$google.cloud.bigquery.reservation.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A\x1Egoogle/iam/v1/iam_policy.proto\x1A\x1Agoogle/iam/v1/policy.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x17google/rpc/status.proto\x1A\x16google/type/expr.proto\"\xFC\x0C\x0A\x0BReservation\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1A\x0A\x0Dslot_capacity\x18\x02 \x01(\x03B\x03\xE0A\x01\x12\x1E\x0A\x11ignore_idle_slots\x18\x04 \x01(\x08B\x03\xE0A\x01\x12S\x0A\x09autoscale\x18\x07 \x01(\x0B2;.google.cloud.bigquery.reservation.v1.Reservation.AutoscaleB\x03\xE0A\x01\x12\x18\x0A\x0Bconcurrency\x18\x10 \x01(\x03B\x03\xE0A\x01\x126\x0A\x0Dcreation_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x09 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\"\x0A\x16multi_region_auxiliary\x18\x0E \x01(\x08B\x02\x18\x01\x12C\x0A\x07edition\x18\x11 \x01(\x0E2-.google.cloud.bigquery.reservation.v1.EditionB\x03\xE0A\x01\x12C\x0A\x10primary_location\x18\x12 \x01(\x09B)\xE0A\x03\xFAA#\x0A!locations.googleapis.com/Location\x12E\x0A\x12secondary_location\x18\x13 \x01(\x09B)\xE0A\x01\xFAA#\x0A!locations.googleapis.com/Location\x12L\x0A\x19original_primary_location\x18\x14 \x01(\x09B)\xE0A\x03\xFAA#\x0A!locations.googleapis.com/Location\x12\x1B\x0A\x09max_slots\x18\x15 \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x12X\x0A\x0Cscaling_mode\x18\x16 \x01(\x0E2=.google.cloud.bigquery.reservation.v1.Reservation.ScalingModeB\x03\xE0A\x01\x12R\x0A\x06labels\x18\x17 \x03(\x0B2=.google.cloud.bigquery.reservation.v1.Reservation.LabelsEntryB\x03\xE0A\x01\x12\x1E\x0A\x11reservation_group\x18\x19 \x01(\x09B\x03\xE0A\x01\x12d\x0A\x12replication_status\x18\x18 \x01(\x0B2C.google.cloud.bigquery.reservation.v1.Reservation.ReplicationStatusB\x03\xE0A\x03\x12V\x0A\x11scheduling_policy\x18\x1B \x01(\x0B26.google.cloud.bigquery.reservation.v1.SchedulingPolicyB\x03\xE0A\x01\x1A?\x0A\x09Autoscale\x12\x1A\x0A\x0Dcurrent_slots\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x16\x0A\x09max_slots\x18\x02 \x01(\x03B\x03\xE0A\x01\x1A\xF8\x01\x0A\x11ReplicationStatus\x12&\x0A\x05error\x18\x01 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03\x128\x0A\x0Flast_error_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12>\x0A\x15last_replication_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12A\x0A\x18soft_failover_start_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"c\x0A\x0BScalingMode\x12\x1C\x0A\x18SCALING_MODE_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EAUTOSCALE_ONLY\x10\x01\x12\x13\x0A\x0FIDLE_SLOTS_ONLY\x10\x02\x12\x0D\x0A\x09ALL_SLOTS\x10\x03:w\xEAAt\x0A.bigqueryreservation.googleapis.com/Reservation\x12Bprojects/{project}/locations/{location}/reservations/{reservation}B\x0C\x0A\x0A_max_slots\"l\x0A\x10SchedulingPolicy\x12\x1D\x0A\x0Bconcurrency\x18\x01 \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x12\x1B\x0A\x09max_slots\x18\x02 \x01(\x03B\x03\xE0A\x01H\x01\x88\x01\x01B\x0E\x0A\x0C_concurrencyB\x0C\x0A\x0A_max_slots\"\xD5\x01\x0A\x10ReservationGroup\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08:\xAD\x01\xEAA\xA9\x01\x0A3bigqueryreservation.googleapis.com/ReservationGroup\x12Mprojects/{project}/locations/{location}/reservationGroups/{reservation_group}*\x11reservationGroups2\x10reservationGroup\"\xAA\x08\x0A\x12CapacityCommitment\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x17\x0A\x0Aslot_count\x18\x02 \x01(\x03B\x03\xE0A\x01\x12Z\x0A\x04plan\x18\x03 \x01(\x0E2G.google.cloud.bigquery.reservation.v1.CapacityCommitment.CommitmentPlanB\x03\xE0A\x01\x12R\x0A\x05state\x18\x04 \x01(\x0E2>.google.cloud.bigquery.reservation.v1.CapacityCommitment.StateB\x03\xE0A\x03\x12>\x0A\x15commitment_start_time\x18\x09 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12<\x0A\x13commitment_end_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12/\x0A\x0Efailure_status\x18\x07 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03\x12b\x0A\x0Crenewal_plan\x18\x08 \x01(\x0E2G.google.cloud.bigquery.reservation.v1.CapacityCommitment.CommitmentPlanB\x03\xE0A\x01\x12\"\x0A\x16multi_region_auxiliary\x18\x0A \x01(\x08B\x02\x18\x01\x12C\x0A\x07edition\x18\x0C \x01(\x0E2-.google.cloud.bigquery.reservation.v1.EditionB\x03\xE0A\x01\x12\x19\x0A\x0Cis_flat_rate\x18\x0E \x01(\x08B\x03\xE0A\x03\"\xCA\x01\x0A\x0ECommitmentPlan\x12\x1F\x0A\x1BCOMMITMENT_PLAN_UNSPECIFIED\x10\x00\x12\x08\x0A\x04FLEX\x10\x03\x12\x16\x0A\x0EFLEX_FLAT_RATE\x10\x07\x1A\x02\x08\x01\x12\x0D\x0A\x05TRIAL\x10\x05\x1A\x02\x08\x01\x12\x0B\x0A\x07MONTHLY\x10\x02\x12\x19\x0A\x11MONTHLY_FLAT_RATE\x10\x08\x1A\x02\x08\x01\x12\x0A\x0A\x06ANNUAL\x10\x04\x12\x18\x0A\x10ANNUAL_FLAT_RATE\x10\x09\x1A\x02\x08\x01\x12\x0E\x0A\x0ATHREE_YEAR\x10\x0A\x12\x08\x0A\x04NONE\x10\x06\"C\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PENDING\x10\x01\x12\x0A\x0A\x06ACTIVE\x10\x02\x12\x0A\x0A\x06FAILED\x10\x03:\x8E\x01\xEAA\x8A\x01\x0A5bigqueryreservation.googleapis.com/CapacityCommitment\x12Qprojects/{project}/locations/{location}/capacityCommitments/{capacity_commitment}\"\xC2\x01\x0A\x18CreateReservationRequest\x12F\x0A\x06parent\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x12.bigqueryreservation.googleapis.com/Reservation\x12\x16\x0A\x0Ereservation_id\x18\x02 \x01(\x09\x12F\x0A\x0Breservation\x18\x03 \x01(\x0B21.google.cloud.bigquery.reservation.v1.Reservation\"\x88\x01\x0A\x17ListReservationsRequest\x12F\x0A\x06parent\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x12.bigqueryreservation.googleapis.com/Reservation\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\"|\x0A\x18ListReservationsResponse\x12G\x0A\x0Creservations\x18\x01 \x03(\x0B21.google.cloud.bigquery.reservation.v1.Reservation\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"]\x0A\x15GetReservationRequest\x12D\x0A\x04name\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x0A.bigqueryreservation.googleapis.com/Reservation\"`\x0A\x18DeleteReservationRequest\x12D\x0A\x04name\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x0A.bigqueryreservation.googleapis.com/Reservation\"\x93\x01\x0A\x18UpdateReservationRequest\x12F\x0A\x0Breservation\x18\x01 \x01(\x0B21.google.cloud.bigquery.reservation.v1.Reservation\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask\"\xB2\x01\x0A\x1AFailoverReservationRequest\x12D\x0A\x04name\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x0A.bigqueryreservation.googleapis.com/Reservation\x12N\x0A\x0Dfailover_mode\x18\x02 \x01(\x0E22.google.cloud.bigquery.reservation.v1.FailoverModeB\x03\xE0A\x01\"\xE7\x01\x0A\x1DCreateReservationGroupRequest\x12K\x0A\x06parent\x18\x01 \x01(\x09B;\xE0A\x02\xFAA5\x123bigqueryreservation.googleapis.com/ReservationGroup\x12!\x0A\x14reservation_group_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12V\x0A\x11reservation_group\x18\x03 \x01(\x0B26.google.cloud.bigquery.reservation.v1.ReservationGroupB\x03\xE0A\x02\"g\x0A\x1AGetReservationGroupRequest\x12I\x0A\x04name\x18\x01 \x01(\x09B;\xE0A\x02\xFAA5\x0A3bigqueryreservation.googleapis.com/ReservationGroup\"\x92\x01\x0A\x1CListReservationGroupsRequest\x12K\x0A\x06parent\x18\x01 \x01(\x09B;\xE0A\x02\xFAA5\x123bigqueryreservation.googleapis.com/ReservationGroup\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\"\x8C\x01\x0A\x1DListReservationGroupsResponse\x12R\x0A\x12reservation_groups\x18\x01 \x03(\x0B26.google.cloud.bigquery.reservation.v1.ReservationGroup\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"j\x0A\x1DDeleteReservationGroupRequest\x12I\x0A\x04name\x18\x01 \x01(\x09B;\xE0A\x02\xFAA5\x0A3bigqueryreservation.googleapis.com/ReservationGroup\"\x95\x02\x0A\x1FCreateCapacityCommitmentRequest\x12M\x0A\x06parent\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x125bigqueryreservation.googleapis.com/CapacityCommitment\x12U\x0A\x13capacity_commitment\x18\x02 \x01(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\x12,\x0A\$enforce_single_admin_project_per_org\x18\x04 \x01(\x08\x12\x1E\x0A\x16capacity_commitment_id\x18\x05 \x01(\x09\"\x96\x01\x0A\x1EListCapacityCommitmentsRequest\x12M\x0A\x06parent\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x125bigqueryreservation.googleapis.com/CapacityCommitment\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\"\x92\x01\x0A\x1FListCapacityCommitmentsResponse\x12V\x0A\x14capacity_commitments\x18\x01 \x03(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"k\x0A\x1CGetCapacityCommitmentRequest\x12K\x0A\x04name\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x0A5bigqueryreservation.googleapis.com/CapacityCommitment\"}\x0A\x1FDeleteCapacityCommitmentRequest\x12K\x0A\x04name\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x0A5bigqueryreservation.googleapis.com/CapacityCommitment\x12\x0D\x0A\x05force\x18\x03 \x01(\x08\"\xA9\x01\x0A\x1FUpdateCapacityCommitmentRequest\x12U\x0A\x13capacity_commitment\x18\x01 \x01(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask\"\x81\x01\x0A\x1ESplitCapacityCommitmentRequest\x12K\x0A\x04name\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x0A5bigqueryreservation.googleapis.com/CapacityCommitment\x12\x12\x0A\x0Aslot_count\x18\x02 \x01(\x03\"\xB4\x01\x0A\x1FSplitCapacityCommitmentResponse\x12G\x0A\x05first\x18\x01 \x01(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\x12H\x0A\x06second\x18\x02 \x01(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\"\xB3\x01\x0A\x1FMergeCapacityCommitmentsRequest\x12J\x0A\x06parent\x18\x01 \x01(\x09B:\xFAA7\x125bigqueryreservation.googleapis.com/CapacityCommitment\x12\x1F\x0A\x17capacity_commitment_ids\x18\x02 \x03(\x09\x12#\x0A\x16capacity_commitment_id\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xF5\x06\x0A\x0AAssignment\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x15\x0A\x08assignee\x18\x04 \x01(\x09B\x03\xE0A\x01\x12O\x0A\x08job_type\x18\x03 \x01(\x0E28.google.cloud.bigquery.reservation.v1.Assignment.JobTypeB\x03\xE0A\x01\x12J\x0A\x05state\x18\x06 \x01(\x0E26.google.cloud.bigquery.reservation.v1.Assignment.StateB\x03\xE0A\x03\x12(\x0A\x19enable_gemini_in_bigquery\x18\x0A \x01(\x08B\x05\x18\x01\xE0A\x01\x12V\x0A\x11scheduling_policy\x18\x0B \x01(\x0B26.google.cloud.bigquery.reservation.v1.SchedulingPolicyB\x03\xE0A\x01\x12\x16\x0A\x09principal\x18\x0C \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x0Aprecedence\x18\x0D \x01(\x03B\x03\xE0A\x01\x12)\x0A\x09condition\x18\x0E \x01(\x0B2\x11.google.type.ExprB\x03\xE0A\x01\"\xDC\x01\x0A\x07JobType\x12\x18\x0A\x14JOB_TYPE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08PIPELINE\x10\x01\x12\x09\x0A\x05QUERY\x10\x02\x12\x0F\x0A\x0BML_EXTERNAL\x10\x03\x12\x0E\x0A\x0ABACKGROUND\x10\x04\x12\x0E\x0A\x0ACONTINUOUS\x10\x06\x12\"\x0A\x1EBACKGROUND_CHANGE_DATA_CAPTURE\x10\x07\x12\$\x0A BACKGROUND_COLUMN_METADATA_INDEX\x10\x08\x12#\x0A\x1FBACKGROUND_SEARCH_INDEX_REFRESH\x10\x09\"7\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PENDING\x10\x01\x12\x0A\x0A\x06ACTIVE\x10\x02:\xA9\x01\xEAA\xA5\x01\x0A-bigqueryreservation.googleapis.com/Assignment\x12[projects/{project}/locations/{location}/reservations/{reservation}/assignments/{assignment}*\x0Bassignments2\x0Aassignment\"\xBD\x01\x0A\x17CreateAssignmentRequest\x12E\x0A\x06parent\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x12-bigqueryreservation.googleapis.com/Assignment\x12D\x0A\x0Aassignment\x18\x02 \x01(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12\x15\x0A\x0Dassignment_id\x18\x04 \x01(\x09\"\x86\x01\x0A\x16ListAssignmentsRequest\x12E\x0A\x06parent\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x12-bigqueryreservation.googleapis.com/Assignment\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\"y\x0A\x17ListAssignmentsResponse\x12E\x0A\x0Bassignments\x18\x01 \x03(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"^\x0A\x17DeleteAssignmentRequest\x12C\x0A\x04name\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x0A-bigqueryreservation.googleapis.com/Assignment\"\x8B\x01\x0A\x18SearchAssignmentsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x0D\x0A\x05query\x18\x02 \x01(\x09\x12\x11\x0A\x09page_size\x18\x03 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x04 \x01(\x09\"\x8E\x01\x0A\x1BSearchAllAssignmentsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x0D\x0A\x05query\x18\x02 \x01(\x09\x12\x11\x0A\x09page_size\x18\x03 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x04 \x01(\x09\"{\x0A\x19SearchAssignmentsResponse\x12E\x0A\x0Bassignments\x18\x01 \x03(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"~\x0A\x1CSearchAllAssignmentsResponse\x12E\x0A\x0Bassignments\x18\x01 \x03(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xBF\x01\x0A\x15MoveAssignmentRequest\x12C\x0A\x04name\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x0A-bigqueryreservation.googleapis.com/Assignment\x12J\x0A\x0Edestination_id\x18\x03 \x01(\x09B2\xFAA/\x12-bigqueryreservation.googleapis.com/Assignment\x12\x15\x0A\x0Dassignment_id\x18\x05 \x01(\x09\"\x90\x01\x0A\x17UpdateAssignmentRequest\x12D\x0A\x0Aassignment\x18\x01 \x01(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask\"Y\x0A\x0ETableReference\x12\x17\x0A\x0Aproject_id\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x0Adataset_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08table_id\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xAE\x02\x0A\x0DBiReservation\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04size\x18\x04 \x01(\x03B\x03\xE0A\x01\x12S\x0A\x10preferred_tables\x18\x05 \x03(\x0B24.google.cloud.bigquery.reservation.v1.TableReferenceB\x03\xE0A\x01:l\xEAAi\x0A0bigqueryreservation.googleapis.com/BiReservation\x125projects/{project}/locations/{location}/biReservation\"a\x0A\x17GetBiReservationRequest\x12F\x0A\x04name\x18\x01 \x01(\x09B8\xE0A\x02\xFAA2\x0A0bigqueryreservation.googleapis.com/BiReservation\"\x9A\x01\x0A\x1AUpdateBiReservationRequest\x12K\x0A\x0Ebi_reservation\x18\x01 \x01(\x0B23.google.cloud.bigquery.reservation.v1.BiReservation\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask*U\x0A\x07Edition\x12\x17\x0A\x13EDITION_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08STANDARD\x10\x01\x12\x0E\x0A\x0AENTERPRISE\x10\x02\x12\x13\x0A\x0FENTERPRISE_PLUS\x10\x03*A\x0A\x0CFailoverMode\x12\x1D\x0A\x19FAILOVER_MODE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04SOFT\x10\x01\x12\x08\x0A\x04HARD\x10\x022\xA36\x0A\x12ReservationService\x12\xF1\x01\x0A\x11CreateReservation\x12>.google.cloud.bigquery.reservation.v1.CreateReservationRequest\x1A1.google.cloud.bigquery.reservation.v1.Reservation\"i\xDAA!parent,reservation,reservation_id\x82\xD3\xE4\x93\x02?\"0/v1/{parent=projects/*/locations/*}/reservations:\x0Breservation\x12\xD4\x01\x0A\x10ListReservations\x12=.google.cloud.bigquery.reservation.v1.ListReservationsRequest\x1A>.google.cloud.bigquery.reservation.v1.ListReservationsResponse\"A\xDAA\x06parent\x82\xD3\xE4\x93\x022\x120/v1/{parent=projects/*/locations/*}/reservations\x12\xC1\x01\x0A\x0EGetReservation\x12;.google.cloud.bigquery.reservation.v1.GetReservationRequest\x1A1.google.cloud.bigquery.reservation.v1.Reservation\"?\xDAA\x04name\x82\xD3\xE4\x93\x022\x120/v1/{name=projects/*/locations/*/reservations/*}\x12\xAC\x01\x0A\x11DeleteReservation\x12>.google.cloud.bigquery.reservation.v1.DeleteReservationRequest\x1A\x16.google.protobuf.Empty\"?\xDAA\x04name\x82\xD3\xE4\x93\x022*0/v1/{name=projects/*/locations/*/reservations/*}\x12\xF3\x01\x0A\x11UpdateReservation\x12>.google.cloud.bigquery.reservation.v1.UpdateReservationRequest\x1A1.google.cloud.bigquery.reservation.v1.Reservation\"k\xDAA\x17reservation,update_mask\x82\xD3\xE4\x93\x02K2/v1/{parent=projects/*/locations/*/reservations/*}/assignments:\x0Aassignment\x12\xDF\x01\x0A\x0FListAssignments\x12<.google.cloud.bigquery.reservation.v1.ListAssignmentsRequest\x1A=.google.cloud.bigquery.reservation.v1.ListAssignmentsResponse\"O\xDAA\x06parent\x82\xD3\xE4\x93\x02@\x12>/v1/{parent=projects/*/locations/*/reservations/*}/assignments\x12\xB8\x01\x0A\x10DeleteAssignment\x12=.google.cloud.bigquery.reservation.v1.DeleteAssignmentRequest\x1A\x16.google.protobuf.Empty\"M\xDAA\x04name\x82\xD3\xE4\x93\x02@*>/v1/{name=projects/*/locations/*/reservations/*/assignments/*}\x12\xE5\x01\x0A\x11SearchAssignments\x12>.google.cloud.bigquery.reservation.v1.SearchAssignmentsRequest\x1A?.google.cloud.bigquery.reservation.v1.SearchAssignmentsResponse\"O\x88\x02\x01\xDAA\x0Cparent,query\x82\xD3\xE4\x93\x027\x125/v1/{parent=projects/*/locations/*}:searchAssignments\x12\xEE\x01\x0A\x14SearchAllAssignments\x12A.google.cloud.bigquery.reservation.v1.SearchAllAssignmentsRequest\x1AB.google.cloud.bigquery.reservation.v1.SearchAllAssignmentsResponse\"O\xDAA\x0Cparent,query\x82\xD3\xE4\x93\x02:\x128/v1/{parent=projects/*/locations/*}:searchAllAssignments\x12\xE5\x01\x0A\x0EMoveAssignment\x12;.google.cloud.bigquery.reservation.v1.MoveAssignmentRequest\x1A0.google.cloud.bigquery.reservation.v1.Assignment\"d\xDAA\x13name,destination_id\x82\xD3\xE4\x93\x02H\"C/v1/{name=projects/*/locations/*/reservations/*/assignments/*}:move:\x01*\x12\xFB\x01\x0A\x10UpdateAssignment\x12=.google.cloud.bigquery.reservation.v1.UpdateAssignmentRequest\x1A0.google.cloud.bigquery.reservation.v1.Assignment\"v\xDAA\x16assignment,update_mask\x82\xD3\xE4\x93\x02W2I/v1/{assignment.name=projects/*/locations/*/reservations/*/assignments/*}:\x0Aassignment\x12\xC6\x01\x0A\x10GetBiReservation\x12=.google.cloud.bigquery.reservation.v1.GetBiReservationRequest\x1A3.google.cloud.bigquery.reservation.v1.BiReservation\">\xDAA\x04name\x82\xD3\xE4\x93\x021\x12//v1/{name=projects/*/locations/*/biReservation}\x12\x81\x02\x0A\x13UpdateBiReservation\x12@.google.cloud.bigquery.reservation.v1.UpdateBiReservationRequest\x1A3.google.cloud.bigquery.reservation.v1.BiReservation\"s\xDAA\x1Abi_reservation,update_mask\x82\xD3\xE4\x93\x02P2>/v1/{bi_reservation.name=projects/*/locations/*/biReservation}:\x0Ebi_reservation\x12\xF4\x01\x0A\x0CGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"\xA8\x01\xDAA\x08resource\x82\xD3\xE4\x93\x02\x96\x01\x12A/v1/{resource=projects/*/locations/*/reservations/*}:getIamPolicyZQ\x12O/v1/{resource=projects/*/locations/*/reservations/*/assignments/*}:getIamPolicy\x12\x81\x02\x0A\x0CSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"\xB5\x01\xDAA\x0Fresource,policy\x82\xD3\xE4\x93\x02\x9C\x01\"A/v1/{resource=projects/*/locations/*/reservations/*}:setIamPolicy:\x01*ZT\"O/v1/{resource=projects/*/locations/*/reservations/*/assignments/*}:setIamPolicy:\x01*\x12\x9B\x02\x0A\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1A).google.iam.v1.TestIamPermissionsResponse\"\xAF\x01\x82\xD3\xE4\x93\x02\xA8\x01\"G/v1/{resource=projects/*/locations/*/reservations/*}:testIamPermissions:\x01*ZZ\"U/v1/{resource=projects/*/locations/*/reservations/*/assignments/*}:testIamPermissions:\x01*\x12\xE7\x01\x0A\x16CreateReservationGroup\x12C.google.cloud.bigquery.reservation.v1.CreateReservationGroupRequest\x1A6.google.cloud.bigquery.reservation.v1.ReservationGroup\"P\x82\xD3\xE4\x93\x02J\"5/v1/{parent=projects/*/locations/*}/reservationGroups:\x11reservation_group\x12\xD5\x01\x0A\x13GetReservationGroup\x12@.google.cloud.bigquery.reservation.v1.GetReservationGroupRequest\x1A6.google.cloud.bigquery.reservation.v1.ReservationGroup\"D\xDAA\x04name\x82\xD3\xE4\x93\x027\x125/v1/{name=projects/*/locations/*/reservationGroups/*}\x12\xBB\x01\x0A\x16DeleteReservationGroup\x12C.google.cloud.bigquery.reservation.v1.DeleteReservationGroupRequest\x1A\x16.google.protobuf.Empty\"D\xDAA\x04name\x82\xD3\xE4\x93\x027*5/v1/{name=projects/*/locations/*/reservationGroups/*}\x12\xE8\x01\x0A\x15ListReservationGroups\x12B.google.cloud.bigquery.reservation.v1.ListReservationGroupsRequest\x1AC.google.cloud.bigquery.reservation.v1.ListReservationGroupsResponse\"F\xDAA\x06parent\x82\xD3\xE4\x93\x027\x125/v1/{parent=projects/*/locations/*}/reservationGroups\x1A\x7F\xCAA\"bigqueryreservation.googleapis.com\xD2AWhttps://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platformB\xD8\x01\x0A(com.google.cloud.bigquery.reservation.v1B\x10ReservationProtoP\x01ZJcloud.google.com/go/bigquery/reservation/apiv1/reservationpb;reservationpb\xAA\x02\$Google.Cloud.BigQuery.Reservation.V1\xCA\x02\$Google\\Cloud\\BigQuery\\Reservation\\V1b\x06proto3" + "\x0A\x9A\x8A\x01\x0A6google/cloud/bigquery/reservation/v1/reservation.proto\x12\$google.cloud.bigquery.reservation.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A\x1Egoogle/iam/v1/iam_policy.proto\x1A\x1Agoogle/iam/v1/policy.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x17google/rpc/status.proto\x1A\x16google/type/expr.proto\"\xA1\x0D\x0A\x0BReservation\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1A\x0A\x0Dslot_capacity\x18\x02 \x01(\x03B\x03\xE0A\x01\x12\x1E\x0A\x11ignore_idle_slots\x18\x04 \x01(\x08B\x03\xE0A\x01\x12S\x0A\x09autoscale\x18\x07 \x01(\x0B2;.google.cloud.bigquery.reservation.v1.Reservation.AutoscaleB\x03\xE0A\x01\x12\x18\x0A\x0Bconcurrency\x18\x10 \x01(\x03B\x03\xE0A\x01\x126\x0A\x0Dcreation_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x09 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\"\x0A\x16multi_region_auxiliary\x18\x0E \x01(\x08B\x02\x18\x01\x12C\x0A\x07edition\x18\x11 \x01(\x0E2-.google.cloud.bigquery.reservation.v1.EditionB\x03\xE0A\x01\x12C\x0A\x10primary_location\x18\x12 \x01(\x09B)\xE0A\x03\xFAA#\x0A!locations.googleapis.com/Location\x12E\x0A\x12secondary_location\x18\x13 \x01(\x09B)\xE0A\x01\xFAA#\x0A!locations.googleapis.com/Location\x12L\x0A\x19original_primary_location\x18\x14 \x01(\x09B)\xE0A\x03\xFAA#\x0A!locations.googleapis.com/Location\x12\x1B\x0A\x09max_slots\x18\x15 \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x12X\x0A\x0Cscaling_mode\x18\x16 \x01(\x0E2=.google.cloud.bigquery.reservation.v1.Reservation.ScalingModeB\x03\xE0A\x01\x12R\x0A\x06labels\x18\x17 \x03(\x0B2=.google.cloud.bigquery.reservation.v1.Reservation.LabelsEntryB\x03\xE0A\x01\x12\x1E\x0A\x11reservation_group\x18\x19 \x01(\x09B\x03\xE0A\x01\x12d\x0A\x12replication_status\x18\x18 \x01(\x0B2C.google.cloud.bigquery.reservation.v1.Reservation.ReplicationStatusB\x03\xE0A\x03\x12V\x0A\x11scheduling_policy\x18\x1B \x01(\x0B26.google.cloud.bigquery.reservation.v1.SchedulingPolicyB\x03\xE0A\x01\x12#\x0A\x16reservation_group_path\x18\x1C \x03(\x09B\x03\xE0A\x03\x1A?\x0A\x09Autoscale\x12\x1A\x0A\x0Dcurrent_slots\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x16\x0A\x09max_slots\x18\x02 \x01(\x03B\x03\xE0A\x01\x1A\xF8\x01\x0A\x11ReplicationStatus\x12&\x0A\x05error\x18\x01 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03\x128\x0A\x0Flast_error_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12>\x0A\x15last_replication_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12A\x0A\x18soft_failover_start_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"c\x0A\x0BScalingMode\x12\x1C\x0A\x18SCALING_MODE_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EAUTOSCALE_ONLY\x10\x01\x12\x13\x0A\x0FIDLE_SLOTS_ONLY\x10\x02\x12\x0D\x0A\x09ALL_SLOTS\x10\x03:w\xEAAt\x0A.bigqueryreservation.googleapis.com/Reservation\x12Bprojects/{project}/locations/{location}/reservations/{reservation}B\x0C\x0A\x0A_max_slots\"l\x0A\x10SchedulingPolicy\x12\x1D\x0A\x0Bconcurrency\x18\x01 \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x12\x1B\x0A\x09max_slots\x18\x02 \x01(\x03B\x03\xE0A\x01H\x01\x88\x01\x01B\x0E\x0A\x0C_concurrencyB\x0C\x0A\x0A_max_slots\"\x96\x03\x0A\x10ReservationGroup\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12Q\x0A\x0Cparent_group\x18\x02 \x01(\x09B;\xE0A\x01\xFAA5\x123bigqueryreservation.googleapis.com/ReservationGroup\x126\x0A\x0Dcreation_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03:\xAD\x01\xEAA\xA9\x01\x0A3bigqueryreservation.googleapis.com/ReservationGroup\x12Mprojects/{project}/locations/{location}/reservationGroups/{reservation_group}*\x11reservationGroups2\x10reservationGroup\"\xAE\x08\x0A\x12CapacityCommitment\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x17\x0A\x0Aslot_count\x18\x02 \x01(\x03B\x03\xE0A\x01\x12Z\x0A\x04plan\x18\x03 \x01(\x0E2G.google.cloud.bigquery.reservation.v1.CapacityCommitment.CommitmentPlanB\x03\xE0A\x01\x12R\x0A\x05state\x18\x04 \x01(\x0E2>.google.cloud.bigquery.reservation.v1.CapacityCommitment.StateB\x03\xE0A\x03\x12>\x0A\x15commitment_start_time\x18\x09 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12<\x0A\x13commitment_end_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12/\x0A\x0Efailure_status\x18\x07 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03\x12b\x0A\x0Crenewal_plan\x18\x08 \x01(\x0E2G.google.cloud.bigquery.reservation.v1.CapacityCommitment.CommitmentPlanB\x03\xE0A\x01\x12\"\x0A\x16multi_region_auxiliary\x18\x0A \x01(\x08B\x02\x18\x01\x12C\x0A\x07edition\x18\x0C \x01(\x0E2-.google.cloud.bigquery.reservation.v1.EditionB\x03\xE0A\x01\x12\x19\x0A\x0Cis_flat_rate\x18\x0E \x01(\x08B\x03\xE0A\x03\"\xCE\x01\x0A\x0ECommitmentPlan\x12\x1F\x0A\x1BCOMMITMENT_PLAN_UNSPECIFIED\x10\x00\x12\x0C\x0A\x04FLEX\x10\x03\x1A\x02\x08\x01\x12\x16\x0A\x0EFLEX_FLAT_RATE\x10\x07\x1A\x02\x08\x01\x12\x0D\x0A\x05TRIAL\x10\x05\x1A\x02\x08\x01\x12\x0B\x0A\x07MONTHLY\x10\x02\x12\x19\x0A\x11MONTHLY_FLAT_RATE\x10\x08\x1A\x02\x08\x01\x12\x0A\x0A\x06ANNUAL\x10\x04\x12\x18\x0A\x10ANNUAL_FLAT_RATE\x10\x09\x1A\x02\x08\x01\x12\x0E\x0A\x0ATHREE_YEAR\x10\x0A\x12\x08\x0A\x04NONE\x10\x06\"C\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PENDING\x10\x01\x12\x0A\x0A\x06ACTIVE\x10\x02\x12\x0A\x0A\x06FAILED\x10\x03:\x8E\x01\xEAA\x8A\x01\x0A5bigqueryreservation.googleapis.com/CapacityCommitment\x12Qprojects/{project}/locations/{location}/capacityCommitments/{capacity_commitment}\"\xC2\x01\x0A\x18CreateReservationRequest\x12F\x0A\x06parent\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x12.bigqueryreservation.googleapis.com/Reservation\x12\x16\x0A\x0Ereservation_id\x18\x02 \x01(\x09\x12F\x0A\x0Breservation\x18\x03 \x01(\x0B21.google.cloud.bigquery.reservation.v1.Reservation\"\x88\x01\x0A\x17ListReservationsRequest\x12F\x0A\x06parent\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x12.bigqueryreservation.googleapis.com/Reservation\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\"|\x0A\x18ListReservationsResponse\x12G\x0A\x0Creservations\x18\x01 \x03(\x0B21.google.cloud.bigquery.reservation.v1.Reservation\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"]\x0A\x15GetReservationRequest\x12D\x0A\x04name\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x0A.bigqueryreservation.googleapis.com/Reservation\"`\x0A\x18DeleteReservationRequest\x12D\x0A\x04name\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x0A.bigqueryreservation.googleapis.com/Reservation\"\x93\x01\x0A\x18UpdateReservationRequest\x12F\x0A\x0Breservation\x18\x01 \x01(\x0B21.google.cloud.bigquery.reservation.v1.Reservation\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask\"\xB2\x01\x0A\x1AFailoverReservationRequest\x12D\x0A\x04name\x18\x01 \x01(\x09B6\xE0A\x02\xFAA0\x0A.bigqueryreservation.googleapis.com/Reservation\x12N\x0A\x0Dfailover_mode\x18\x02 \x01(\x0E22.google.cloud.bigquery.reservation.v1.FailoverModeB\x03\xE0A\x01\"\xE7\x01\x0A\x1DCreateReservationGroupRequest\x12K\x0A\x06parent\x18\x01 \x01(\x09B;\xE0A\x02\xFAA5\x123bigqueryreservation.googleapis.com/ReservationGroup\x12!\x0A\x14reservation_group_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12V\x0A\x11reservation_group\x18\x03 \x01(\x0B26.google.cloud.bigquery.reservation.v1.ReservationGroupB\x03\xE0A\x02\"g\x0A\x1AGetReservationGroupRequest\x12I\x0A\x04name\x18\x01 \x01(\x09B;\xE0A\x02\xFAA5\x0A3bigqueryreservation.googleapis.com/ReservationGroup\"\x92\x01\x0A\x1CListReservationGroupsRequest\x12K\x0A\x06parent\x18\x01 \x01(\x09B;\xE0A\x02\xFAA5\x123bigqueryreservation.googleapis.com/ReservationGroup\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\"\x8C\x01\x0A\x1DListReservationGroupsResponse\x12R\x0A\x12reservation_groups\x18\x01 \x03(\x0B26.google.cloud.bigquery.reservation.v1.ReservationGroup\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"j\x0A\x1DDeleteReservationGroupRequest\x12I\x0A\x04name\x18\x01 \x01(\x09B;\xE0A\x02\xFAA5\x0A3bigqueryreservation.googleapis.com/ReservationGroup\"\xAD\x01\x0A\x1DUpdateReservationGroupRequest\x12V\x0A\x11reservation_group\x18\x01 \x01(\x0B26.google.cloud.bigquery.reservation.v1.ReservationGroupB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\"\x95\x02\x0A\x1FCreateCapacityCommitmentRequest\x12M\x0A\x06parent\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x125bigqueryreservation.googleapis.com/CapacityCommitment\x12U\x0A\x13capacity_commitment\x18\x02 \x01(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\x12,\x0A\$enforce_single_admin_project_per_org\x18\x04 \x01(\x08\x12\x1E\x0A\x16capacity_commitment_id\x18\x05 \x01(\x09\"\x96\x01\x0A\x1EListCapacityCommitmentsRequest\x12M\x0A\x06parent\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x125bigqueryreservation.googleapis.com/CapacityCommitment\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\"\x92\x01\x0A\x1FListCapacityCommitmentsResponse\x12V\x0A\x14capacity_commitments\x18\x01 \x03(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"k\x0A\x1CGetCapacityCommitmentRequest\x12K\x0A\x04name\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x0A5bigqueryreservation.googleapis.com/CapacityCommitment\"}\x0A\x1FDeleteCapacityCommitmentRequest\x12K\x0A\x04name\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x0A5bigqueryreservation.googleapis.com/CapacityCommitment\x12\x0D\x0A\x05force\x18\x03 \x01(\x08\"\xA9\x01\x0A\x1FUpdateCapacityCommitmentRequest\x12U\x0A\x13capacity_commitment\x18\x01 \x01(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask\"\x81\x01\x0A\x1ESplitCapacityCommitmentRequest\x12K\x0A\x04name\x18\x01 \x01(\x09B=\xE0A\x02\xFAA7\x0A5bigqueryreservation.googleapis.com/CapacityCommitment\x12\x12\x0A\x0Aslot_count\x18\x02 \x01(\x03\"\xB4\x01\x0A\x1FSplitCapacityCommitmentResponse\x12G\x0A\x05first\x18\x01 \x01(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\x12H\x0A\x06second\x18\x02 \x01(\x0B28.google.cloud.bigquery.reservation.v1.CapacityCommitment\"\xB3\x01\x0A\x1FMergeCapacityCommitmentsRequest\x12J\x0A\x06parent\x18\x01 \x01(\x09B:\xFAA7\x125bigqueryreservation.googleapis.com/CapacityCommitment\x12\x1F\x0A\x17capacity_commitment_ids\x18\x02 \x03(\x09\x12#\x0A\x16capacity_commitment_id\x18\x03 \x01(\x09B\x03\xE0A\x01\"\x9E\x07\x0A\x0AAssignment\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x15\x0A\x08assignee\x18\x04 \x01(\x09B\x03\xE0A\x01\x12O\x0A\x08job_type\x18\x03 \x01(\x0E28.google.cloud.bigquery.reservation.v1.Assignment.JobTypeB\x03\xE0A\x01\x12J\x0A\x05state\x18\x06 \x01(\x0E26.google.cloud.bigquery.reservation.v1.Assignment.StateB\x03\xE0A\x03\x12(\x0A\x19enable_gemini_in_bigquery\x18\x0A \x01(\x08B\x05\x18\x01\xE0A\x01\x12V\x0A\x11scheduling_policy\x18\x0B \x01(\x0B26.google.cloud.bigquery.reservation.v1.SchedulingPolicyB\x03\xE0A\x01\x12\x16\x0A\x09principal\x18\x0C \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x0Aprecedence\x18\x0D \x01(\x03B\x03\xE0A\x01\x12)\x0A\x09condition\x18\x0E \x01(\x0B2\x11.google.type.ExprB\x03\xE0A\x01\"\x85\x02\x0A\x07JobType\x12\x18\x0A\x14JOB_TYPE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08PIPELINE\x10\x01\x12\x09\x0A\x05QUERY\x10\x02\x12\x0F\x0A\x0BML_EXTERNAL\x10\x03\x12\x0E\x0A\x0ABACKGROUND\x10\x04\x12\x0E\x0A\x0ACONTINUOUS\x10\x06\x12\"\x0A\x1EBACKGROUND_CHANGE_DATA_CAPTURE\x10\x07\x12\$\x0A BACKGROUND_COLUMN_METADATA_INDEX\x10\x08\x12#\x0A\x1FBACKGROUND_SEARCH_INDEX_REFRESH\x10\x09\x12'\x0A#AUTOMATIC_MATERIALIZED_VIEW_REFRESH\x10\x0A\"7\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PENDING\x10\x01\x12\x0A\x0A\x06ACTIVE\x10\x02:\xA9\x01\xEAA\xA5\x01\x0A-bigqueryreservation.googleapis.com/Assignment\x12[projects/{project}/locations/{location}/reservations/{reservation}/assignments/{assignment}*\x0Bassignments2\x0Aassignment\"\xBD\x01\x0A\x17CreateAssignmentRequest\x12E\x0A\x06parent\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x12-bigqueryreservation.googleapis.com/Assignment\x12D\x0A\x0Aassignment\x18\x02 \x01(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12\x15\x0A\x0Dassignment_id\x18\x04 \x01(\x09\"\x86\x01\x0A\x16ListAssignmentsRequest\x12E\x0A\x06parent\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x12-bigqueryreservation.googleapis.com/Assignment\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\"y\x0A\x17ListAssignmentsResponse\x12E\x0A\x0Bassignments\x18\x01 \x03(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"^\x0A\x17DeleteAssignmentRequest\x12C\x0A\x04name\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x0A-bigqueryreservation.googleapis.com/Assignment\"\x8B\x01\x0A\x18SearchAssignmentsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x0D\x0A\x05query\x18\x02 \x01(\x09\x12\x11\x0A\x09page_size\x18\x03 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x04 \x01(\x09\"\x8E\x01\x0A\x1BSearchAllAssignmentsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x0D\x0A\x05query\x18\x02 \x01(\x09\x12\x11\x0A\x09page_size\x18\x03 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x04 \x01(\x09\"{\x0A\x19SearchAssignmentsResponse\x12E\x0A\x0Bassignments\x18\x01 \x03(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"~\x0A\x1CSearchAllAssignmentsResponse\x12E\x0A\x0Bassignments\x18\x01 \x03(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xBF\x01\x0A\x15MoveAssignmentRequest\x12C\x0A\x04name\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x0A-bigqueryreservation.googleapis.com/Assignment\x12J\x0A\x0Edestination_id\x18\x03 \x01(\x09B2\xFAA/\x12-bigqueryreservation.googleapis.com/Assignment\x12\x15\x0A\x0Dassignment_id\x18\x05 \x01(\x09\"\x90\x01\x0A\x17UpdateAssignmentRequest\x12D\x0A\x0Aassignment\x18\x01 \x01(\x0B20.google.cloud.bigquery.reservation.v1.Assignment\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask\"Y\x0A\x0ETableReference\x12\x17\x0A\x0Aproject_id\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x0Adataset_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08table_id\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xAE\x02\x0A\x0DBiReservation\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04size\x18\x04 \x01(\x03B\x03\xE0A\x01\x12S\x0A\x10preferred_tables\x18\x05 \x03(\x0B24.google.cloud.bigquery.reservation.v1.TableReferenceB\x03\xE0A\x01:l\xEAAi\x0A0bigqueryreservation.googleapis.com/BiReservation\x125projects/{project}/locations/{location}/biReservation\"a\x0A\x17GetBiReservationRequest\x12F\x0A\x04name\x18\x01 \x01(\x09B8\xE0A\x02\xFAA2\x0A0bigqueryreservation.googleapis.com/BiReservation\"\x9A\x01\x0A\x1AUpdateBiReservationRequest\x12K\x0A\x0Ebi_reservation\x18\x01 \x01(\x0B23.google.cloud.bigquery.reservation.v1.BiReservation\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask*U\x0A\x07Edition\x12\x17\x0A\x13EDITION_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08STANDARD\x10\x01\x12\x0E\x0A\x0AENTERPRISE\x10\x02\x12\x13\x0A\x0FENTERPRISE_PLUS\x10\x03*A\x0A\x0CFailoverMode\x12\x1D\x0A\x19FAILOVER_MODE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04SOFT\x10\x01\x12\x08\x0A\x04HARD\x10\x022\xC08\x0A\x12ReservationService\x12\xF1\x01\x0A\x11CreateReservation\x12>.google.cloud.bigquery.reservation.v1.CreateReservationRequest\x1A1.google.cloud.bigquery.reservation.v1.Reservation\"i\xDAA!parent,reservation,reservation_id\x82\xD3\xE4\x93\x02?\"0/v1/{parent=projects/*/locations/*}/reservations:\x0Breservation\x12\xD4\x01\x0A\x10ListReservations\x12=.google.cloud.bigquery.reservation.v1.ListReservationsRequest\x1A>.google.cloud.bigquery.reservation.v1.ListReservationsResponse\"A\xDAA\x06parent\x82\xD3\xE4\x93\x022\x120/v1/{parent=projects/*/locations/*}/reservations\x12\xC1\x01\x0A\x0EGetReservation\x12;.google.cloud.bigquery.reservation.v1.GetReservationRequest\x1A1.google.cloud.bigquery.reservation.v1.Reservation\"?\xDAA\x04name\x82\xD3\xE4\x93\x022\x120/v1/{name=projects/*/locations/*/reservations/*}\x12\xAC\x01\x0A\x11DeleteReservation\x12>.google.cloud.bigquery.reservation.v1.DeleteReservationRequest\x1A\x16.google.protobuf.Empty\"?\xDAA\x04name\x82\xD3\xE4\x93\x022*0/v1/{name=projects/*/locations/*/reservations/*}\x12\xF3\x01\x0A\x11UpdateReservation\x12>.google.cloud.bigquery.reservation.v1.UpdateReservationRequest\x1A1.google.cloud.bigquery.reservation.v1.Reservation\"k\xDAA\x17reservation,update_mask\x82\xD3\xE4\x93\x02K2/v1/{parent=projects/*/locations/*/reservations/*}/assignments:\x0Aassignment\x12\xDF\x01\x0A\x0FListAssignments\x12<.google.cloud.bigquery.reservation.v1.ListAssignmentsRequest\x1A=.google.cloud.bigquery.reservation.v1.ListAssignmentsResponse\"O\xDAA\x06parent\x82\xD3\xE4\x93\x02@\x12>/v1/{parent=projects/*/locations/*/reservations/*}/assignments\x12\xB8\x01\x0A\x10DeleteAssignment\x12=.google.cloud.bigquery.reservation.v1.DeleteAssignmentRequest\x1A\x16.google.protobuf.Empty\"M\xDAA\x04name\x82\xD3\xE4\x93\x02@*>/v1/{name=projects/*/locations/*/reservations/*/assignments/*}\x12\xE5\x01\x0A\x11SearchAssignments\x12>.google.cloud.bigquery.reservation.v1.SearchAssignmentsRequest\x1A?.google.cloud.bigquery.reservation.v1.SearchAssignmentsResponse\"O\x88\x02\x01\xDAA\x0Cparent,query\x82\xD3\xE4\x93\x027\x125/v1/{parent=projects/*/locations/*}:searchAssignments\x12\xEE\x01\x0A\x14SearchAllAssignments\x12A.google.cloud.bigquery.reservation.v1.SearchAllAssignmentsRequest\x1AB.google.cloud.bigquery.reservation.v1.SearchAllAssignmentsResponse\"O\xDAA\x0Cparent,query\x82\xD3\xE4\x93\x02:\x128/v1/{parent=projects/*/locations/*}:searchAllAssignments\x12\xE5\x01\x0A\x0EMoveAssignment\x12;.google.cloud.bigquery.reservation.v1.MoveAssignmentRequest\x1A0.google.cloud.bigquery.reservation.v1.Assignment\"d\xDAA\x13name,destination_id\x82\xD3\xE4\x93\x02H\"C/v1/{name=projects/*/locations/*/reservations/*/assignments/*}:move:\x01*\x12\xFB\x01\x0A\x10UpdateAssignment\x12=.google.cloud.bigquery.reservation.v1.UpdateAssignmentRequest\x1A0.google.cloud.bigquery.reservation.v1.Assignment\"v\xDAA\x16assignment,update_mask\x82\xD3\xE4\x93\x02W2I/v1/{assignment.name=projects/*/locations/*/reservations/*/assignments/*}:\x0Aassignment\x12\xC6\x01\x0A\x10GetBiReservation\x12=.google.cloud.bigquery.reservation.v1.GetBiReservationRequest\x1A3.google.cloud.bigquery.reservation.v1.BiReservation\">\xDAA\x04name\x82\xD3\xE4\x93\x021\x12//v1/{name=projects/*/locations/*/biReservation}\x12\x81\x02\x0A\x13UpdateBiReservation\x12@.google.cloud.bigquery.reservation.v1.UpdateBiReservationRequest\x1A3.google.cloud.bigquery.reservation.v1.BiReservation\"s\xDAA\x1Abi_reservation,update_mask\x82\xD3\xE4\x93\x02P2>/v1/{bi_reservation.name=projects/*/locations/*/biReservation}:\x0Ebi_reservation\x12\xF4\x01\x0A\x0CGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"\xA8\x01\xDAA\x08resource\x82\xD3\xE4\x93\x02\x96\x01\x12A/v1/{resource=projects/*/locations/*/reservations/*}:getIamPolicyZQ\x12O/v1/{resource=projects/*/locations/*/reservations/*/assignments/*}:getIamPolicy\x12\x81\x02\x0A\x0CSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"\xB5\x01\xDAA\x0Fresource,policy\x82\xD3\xE4\x93\x02\x9C\x01\"A/v1/{resource=projects/*/locations/*/reservations/*}:setIamPolicy:\x01*ZT\"O/v1/{resource=projects/*/locations/*/reservations/*/assignments/*}:setIamPolicy:\x01*\x12\x9B\x02\x0A\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1A).google.iam.v1.TestIamPermissionsResponse\"\xAF\x01\x82\xD3\xE4\x93\x02\xA8\x01\"G/v1/{resource=projects/*/locations/*/reservations/*}:testIamPermissions:\x01*ZZ\"U/v1/{resource=projects/*/locations/*/reservations/*/assignments/*}:testIamPermissions:\x01*\x12\xE7\x01\x0A\x16CreateReservationGroup\x12C.google.cloud.bigquery.reservation.v1.CreateReservationGroupRequest\x1A6.google.cloud.bigquery.reservation.v1.ReservationGroup\"P\x82\xD3\xE4\x93\x02J\"5/v1/{parent=projects/*/locations/*}/reservationGroups:\x11reservation_group\x12\xD5\x01\x0A\x13GetReservationGroup\x12@.google.cloud.bigquery.reservation.v1.GetReservationGroupRequest\x1A6.google.cloud.bigquery.reservation.v1.ReservationGroup\"D\xDAA\x04name\x82\xD3\xE4\x93\x027\x125/v1/{name=projects/*/locations/*/reservationGroups/*}\x12\xBB\x01\x0A\x16DeleteReservationGroup\x12C.google.cloud.bigquery.reservation.v1.DeleteReservationGroupRequest\x1A\x16.google.protobuf.Empty\"D\xDAA\x04name\x82\xD3\xE4\x93\x027*5/v1/{name=projects/*/locations/*/reservationGroups/*}\x12\xE8\x01\x0A\x15ListReservationGroups\x12B.google.cloud.bigquery.reservation.v1.ListReservationGroupsRequest\x1AC.google.cloud.bigquery.reservation.v1.ListReservationGroupsResponse\"F\xDAA\x06parent\x82\xD3\xE4\x93\x027\x125/v1/{parent=projects/*/locations/*}/reservationGroups\x12\x9A\x02\x0A\x16UpdateReservationGroup\x12C.google.cloud.bigquery.reservation.v1.UpdateReservationGroupRequest\x1A6.google.cloud.bigquery.reservation.v1.ReservationGroup\"\x82\x01\xDAA\x1Dreservation_group,update_mask\x82\xD3\xE4\x93\x02\\2G/v1/{reservation_group.name=projects/*/locations/*/reservationGroups/*}:\x11reservation_group\x1A\x7F\xCAA\"bigqueryreservation.googleapis.com\xD2AWhttps://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platformB\xD8\x01\x0A(com.google.cloud.bigquery.reservation.v1B\x10ReservationProtoP\x01ZJcloud.google.com/go/bigquery/reservation/apiv1/reservationpb;reservationpb\xAA\x02\$Google.Cloud.BigQuery.Reservation.V1\xCA\x02\$Google\\Cloud\\BigQuery\\Reservation\\V1b\x06proto3" , true); static::$is_initialized = true; diff --git a/BigQueryReservation/samples/V1/ReservationServiceClient/update_reservation_group.php b/BigQueryReservation/samples/V1/ReservationServiceClient/update_reservation_group.php new file mode 100644 index 000000000000..4e9f8423b253 --- /dev/null +++ b/BigQueryReservation/samples/V1/ReservationServiceClient/update_reservation_group.php @@ -0,0 +1,59 @@ +setReservationGroup($reservationGroup); + + // Call the API and handle any network failures. + try { + /** @var ReservationGroup $response */ + $response = $reservationServiceClient->updateReservationGroup($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} +// [END bigqueryreservation_v1_generated_ReservationService_UpdateReservationGroup_sync] diff --git a/BigQueryReservation/src/V1/Assignment/JobType.php b/BigQueryReservation/src/V1/Assignment/JobType.php index 8ffad48780b6..a9606645e647 100644 --- a/BigQueryReservation/src/V1/Assignment/JobType.php +++ b/BigQueryReservation/src/V1/Assignment/JobType.php @@ -78,6 +78,14 @@ class JobType * Generated from protobuf enum BACKGROUND_SEARCH_INDEX_REFRESH = 9; */ const BACKGROUND_SEARCH_INDEX_REFRESH = 9; + /** + * Automated materialized view refresh jobs will use the reservation. + * Reservations with this job type will take priority over a default QUERY + * reservation assignment (if it exists). + * + * Generated from protobuf enum AUTOMATIC_MATERIALIZED_VIEW_REFRESH = 10; + */ + const AUTOMATIC_MATERIALIZED_VIEW_REFRESH = 10; private static $valueToName = [ self::JOB_TYPE_UNSPECIFIED => 'JOB_TYPE_UNSPECIFIED', @@ -89,6 +97,7 @@ class JobType self::BACKGROUND_CHANGE_DATA_CAPTURE => 'BACKGROUND_CHANGE_DATA_CAPTURE', self::BACKGROUND_COLUMN_METADATA_INDEX => 'BACKGROUND_COLUMN_METADATA_INDEX', self::BACKGROUND_SEARCH_INDEX_REFRESH => 'BACKGROUND_SEARCH_INDEX_REFRESH', + self::AUTOMATIC_MATERIALIZED_VIEW_REFRESH => 'AUTOMATIC_MATERIALIZED_VIEW_REFRESH', ]; public static function name($value) diff --git a/BigQueryReservation/src/V1/CapacityCommitment/CommitmentPlan.php b/BigQueryReservation/src/V1/CapacityCommitment/CommitmentPlan.php index 1ab5419487d7..5a6bf72271c7 100644 --- a/BigQueryReservation/src/V1/CapacityCommitment/CommitmentPlan.php +++ b/BigQueryReservation/src/V1/CapacityCommitment/CommitmentPlan.php @@ -22,11 +22,13 @@ class CommitmentPlan */ const COMMITMENT_PLAN_UNSPECIFIED = 0; /** + * Deprecated: Flex commitments are deprecated. Please use Edition-based + * capacity commitments. * Flex commitments have committed period of 1 minute after becoming ACTIVE. * After that, they are not in a committed period anymore and can be removed * any time. * - * Generated from protobuf enum FLEX = 3; + * Generated from protobuf enum FLEX = 3 [deprecated = true]; */ const FLEX = 3; /** diff --git a/BigQueryReservation/src/V1/Client/ReservationServiceClient.php b/BigQueryReservation/src/V1/Client/ReservationServiceClient.php index 48d5c2dfdaa3..a40f3e3dcb62 100644 --- a/BigQueryReservation/src/V1/Client/ReservationServiceClient.php +++ b/BigQueryReservation/src/V1/Client/ReservationServiceClient.php @@ -65,6 +65,7 @@ use Google\Cloud\BigQuery\Reservation\V1\UpdateAssignmentRequest; use Google\Cloud\BigQuery\Reservation\V1\UpdateBiReservationRequest; use Google\Cloud\BigQuery\Reservation\V1\UpdateCapacityCommitmentRequest; +use Google\Cloud\BigQuery\Reservation\V1\UpdateReservationGroupRequest; use Google\Cloud\BigQuery\Reservation\V1\UpdateReservationRequest; use Google\Cloud\Iam\V1\GetIamPolicyRequest; use Google\Cloud\Iam\V1\Policy; @@ -128,6 +129,7 @@ * @method PromiseInterface updateBiReservationAsync(UpdateBiReservationRequest $request, array $optionalArgs = []) * @method PromiseInterface updateCapacityCommitmentAsync(UpdateCapacityCommitmentRequest $request, array $optionalArgs = []) * @method PromiseInterface updateReservationAsync(UpdateReservationRequest $request, array $optionalArgs = []) + * @method PromiseInterface updateReservationGroupAsync(UpdateReservationGroupRequest $request, array $optionalArgs = []) */ final class ReservationServiceClient { @@ -1374,4 +1376,33 @@ public function updateReservation(UpdateReservationRequest $request, array $call { return $this->startApiCall('UpdateReservation', $request, $callOptions)->wait(); } + + /** + * Updates an existing reservation group resource. + * + * The async variant is + * {@see ReservationServiceClient::updateReservationGroupAsync()} . + * + * @example samples/V1/ReservationServiceClient/update_reservation_group.php + * + * @param UpdateReservationGroupRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return ReservationGroup + * + * @throws ApiException Thrown if the API call fails. + */ + public function updateReservationGroup( + UpdateReservationGroupRequest $request, + array $callOptions = [] + ): ReservationGroup { + return $this->startApiCall('UpdateReservationGroup', $request, $callOptions)->wait(); + } } diff --git a/BigQueryReservation/src/V1/Reservation.php b/BigQueryReservation/src/V1/Reservation.php index 44716e51738c..1b03f20c86ee 100644 --- a/BigQueryReservation/src/V1/Reservation.php +++ b/BigQueryReservation/src/V1/Reservation.php @@ -217,6 +217,16 @@ class Reservation extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.cloud.bigquery.reservation.v1.SchedulingPolicy scheduling_policy = 27 [(.google.api.field_behavior) = OPTIONAL]; */ protected $scheduling_policy = null; + /** + * Output only. The reservation group path of the reservation from root to + * leaf. The order of elements matters: the first element is the top level + * group and the last element is the direct parent reservation group. For + * example, if a reservation is under group-1 -> group-2 -> group-3, then the + * reservation group path is ["group-1", "group-2", "group-3"]. + * + * Generated from protobuf field repeated string reservation_group_path = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $reservation_group_path; /** * Constructor. @@ -353,6 +363,12 @@ class Reservation extends \Google\Protobuf\Internal\Message * this reservation. The scheduling policy controls how the reservation's * resources are distributed. * This feature is not yet generally available. + * @type string[] $reservation_group_path + * Output only. The reservation group path of the reservation from root to + * leaf. The order of elements matters: the first element is the top level + * group and the last element is the direct parent reservation group. For + * example, if a reservation is under group-1 -> group-2 -> group-3, then the + * reservation group path is ["group-1", "group-2", "group-3"]. * } */ public function __construct($data = NULL) { @@ -1080,5 +1096,39 @@ public function setSchedulingPolicy($var) return $this; } + /** + * Output only. The reservation group path of the reservation from root to + * leaf. The order of elements matters: the first element is the top level + * group and the last element is the direct parent reservation group. For + * example, if a reservation is under group-1 -> group-2 -> group-3, then the + * reservation group path is ["group-1", "group-2", "group-3"]. + * + * Generated from protobuf field repeated string reservation_group_path = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField + */ + public function getReservationGroupPath() + { + return $this->reservation_group_path; + } + + /** + * Output only. The reservation group path of the reservation from root to + * leaf. The order of elements matters: the first element is the top level + * group and the last element is the direct parent reservation group. For + * example, if a reservation is under group-1 -> group-2 -> group-3, then the + * reservation group path is ["group-1", "group-2", "group-3"]. + * + * Generated from protobuf field repeated string reservation_group_path = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string[] $var + * @return $this + */ + public function setReservationGroupPath($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->reservation_group_path = $arr; + + return $this; + } + } diff --git a/BigQueryReservation/src/V1/ReservationGroup.php b/BigQueryReservation/src/V1/ReservationGroup.php index c33ac03c6149..3fd80ece9cf0 100644 --- a/BigQueryReservation/src/V1/ReservationGroup.php +++ b/BigQueryReservation/src/V1/ReservationGroup.php @@ -25,6 +25,30 @@ class ReservationGroup extends \Google\Protobuf\Internal\Message * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; */ protected $name = ''; + /** + * Optional. The parent reservation group of the reservation group. + * Format: `projects/{@*}locations/{@*}reservationGroups/team1-prod` for non-root + * reservation groups, or `projects/{@*}locations/*` for root reservation + * groups. + * + * Generated from protobuf field string parent_group = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + */ + protected $parent_group = ''; + /** + * Output only. Creation time of the reservation group. + * + * Generated from protobuf field .google.protobuf.Timestamp creation_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $creation_time = null; + /** + * Output only. Last update time of the reservation group via a user + * operation. This timestamp is updated only when an update operation + * explicitly targets this reservation group directly. It is not updated when + * parent or child groups are created, updated, or deleted. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; /** * Constructor. @@ -38,6 +62,18 @@ class ReservationGroup extends \Google\Protobuf\Internal\Message * The reservation_group_id must only contain lower case alphanumeric * characters or dashes. It must start with a letter and must not end with a * dash. Its maximum length is 64 characters. + * @type string $parent_group + * Optional. The parent reservation group of the reservation group. + * Format: `projects/{@*}locations/{@*}reservationGroups/team1-prod` for non-root + * reservation groups, or `projects/{@*}locations/*` for root reservation + * groups. + * @type \Google\Protobuf\Timestamp $creation_time + * Output only. Creation time of the reservation group. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. Last update time of the reservation group via a user + * operation. This timestamp is updated only when an update operation + * explicitly targets this reservation group directly. It is not updated when + * parent or child groups are created, updated, or deleted. * } */ public function __construct($data = NULL) { @@ -79,5 +115,115 @@ public function setName($var) return $this; } + /** + * Optional. The parent reservation group of the reservation group. + * Format: `projects/{@*}locations/{@*}reservationGroups/team1-prod` for non-root + * reservation groups, or `projects/{@*}locations/*` for root reservation + * groups. + * + * Generated from protobuf field string parent_group = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @return string + */ + public function getParentGroup() + { + return $this->parent_group; + } + + /** + * Optional. The parent reservation group of the reservation group. + * Format: `projects/{@*}locations/{@*}reservationGroups/team1-prod` for non-root + * reservation groups, or `projects/{@*}locations/*` for root reservation + * groups. + * + * Generated from protobuf field string parent_group = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParentGroup($var) + { + GPBUtil::checkString($var, True); + $this->parent_group = $var; + + return $this; + } + + /** + * Output only. Creation time of the reservation group. + * + * Generated from protobuf field .google.protobuf.Timestamp creation_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreationTime() + { + return $this->creation_time; + } + + public function hasCreationTime() + { + return isset($this->creation_time); + } + + public function clearCreationTime() + { + unset($this->creation_time); + } + + /** + * Output only. Creation time of the reservation group. + * + * Generated from protobuf field .google.protobuf.Timestamp creation_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreationTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->creation_time = $var; + + return $this; + } + + /** + * Output only. Last update time of the reservation group via a user + * operation. This timestamp is updated only when an update operation + * explicitly targets this reservation group directly. It is not updated when + * parent or child groups are created, updated, or deleted. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. Last update time of the reservation group via a user + * operation. This timestamp is updated only when an update operation + * explicitly targets this reservation group directly. It is not updated when + * parent or child groups are created, updated, or deleted. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + } diff --git a/BigQueryReservation/src/V1/UpdateReservationGroupRequest.php b/BigQueryReservation/src/V1/UpdateReservationGroupRequest.php new file mode 100644 index 000000000000..30386894743a --- /dev/null +++ b/BigQueryReservation/src/V1/UpdateReservationGroupRequest.php @@ -0,0 +1,137 @@ +google.cloud.bigquery.reservation.v1.UpdateReservationGroupRequest + */ +class UpdateReservationGroupRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Content of the reservation group to update. + * + * Generated from protobuf field .google.cloud.bigquery.reservation.v1.ReservationGroup reservation_group = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $reservation_group = null; + /** + * Optional. Standard field mask for the set of fields to be updated. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $update_mask = null; + + /** + * @param \Google\Cloud\BigQuery\Reservation\V1\ReservationGroup $reservationGroup Required. Content of the reservation group to update. + * @param \Google\Protobuf\FieldMask $updateMask Optional. Standard field mask for the set of fields to be updated. + * + * @return \Google\Cloud\BigQuery\Reservation\V1\UpdateReservationGroupRequest + * + * @experimental + */ + public static function build(\Google\Cloud\BigQuery\Reservation\V1\ReservationGroup $reservationGroup, \Google\Protobuf\FieldMask $updateMask): self + { + return (new self()) + ->setReservationGroup($reservationGroup) + ->setUpdateMask($updateMask); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\BigQuery\Reservation\V1\ReservationGroup $reservation_group + * Required. Content of the reservation group to update. + * @type \Google\Protobuf\FieldMask $update_mask + * Optional. Standard field mask for the set of fields to be updated. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Bigquery\Reservation\V1\Reservation::initOnce(); + parent::__construct($data); + } + + /** + * Required. Content of the reservation group to update. + * + * Generated from protobuf field .google.cloud.bigquery.reservation.v1.ReservationGroup reservation_group = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\BigQuery\Reservation\V1\ReservationGroup|null + */ + public function getReservationGroup() + { + return $this->reservation_group; + } + + public function hasReservationGroup() + { + return isset($this->reservation_group); + } + + public function clearReservationGroup() + { + unset($this->reservation_group); + } + + /** + * Required. Content of the reservation group to update. + * + * Generated from protobuf field .google.cloud.bigquery.reservation.v1.ReservationGroup reservation_group = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\BigQuery\Reservation\V1\ReservationGroup $var + * @return $this + */ + public function setReservationGroup($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\BigQuery\Reservation\V1\ReservationGroup::class); + $this->reservation_group = $var; + + return $this; + } + + /** + * Optional. Standard field mask for the set of fields to be updated. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\FieldMask|null + */ + public function getUpdateMask() + { + return $this->update_mask; + } + + public function hasUpdateMask() + { + return isset($this->update_mask); + } + + public function clearUpdateMask() + { + unset($this->update_mask); + } + + /** + * Optional. Standard field mask for the set of fields to be updated. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\FieldMask $var + * @return $this + */ + public function setUpdateMask($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class); + $this->update_mask = $var; + + return $this; + } + +} + diff --git a/BigQueryReservation/src/V1/gapic_metadata.json b/BigQueryReservation/src/V1/gapic_metadata.json index 49a250e00c01..e8a076997bd7 100644 --- a/BigQueryReservation/src/V1/gapic_metadata.json +++ b/BigQueryReservation/src/V1/gapic_metadata.json @@ -154,6 +154,11 @@ "methods": [ "updateReservation" ] + }, + "UpdateReservationGroup": { + "methods": [ + "updateReservationGroup" + ] } } } diff --git a/BigQueryReservation/src/V1/resources/reservation_service_client_config.json b/BigQueryReservation/src/V1/resources/reservation_service_client_config.json index cfb23efbb0f3..49ed3940cae3 100644 --- a/BigQueryReservation/src/V1/resources/reservation_service_client_config.json +++ b/BigQueryReservation/src/V1/resources/reservation_service_client_config.json @@ -183,6 +183,11 @@ "timeout_millis": 300000, "retry_codes_name": "no_retry_1_codes", "retry_params_name": "no_retry_1_params" + }, + "UpdateReservationGroup": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" } } } diff --git a/BigQueryReservation/src/V1/resources/reservation_service_descriptor_config.php b/BigQueryReservation/src/V1/resources/reservation_service_descriptor_config.php index 2e3511db8386..ac1799ec6e92 100644 --- a/BigQueryReservation/src/V1/resources/reservation_service_descriptor_config.php +++ b/BigQueryReservation/src/V1/resources/reservation_service_descriptor_config.php @@ -423,6 +423,19 @@ ], ], ], + 'UpdateReservationGroup' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\BigQuery\Reservation\V1\ReservationGroup', + 'headerParams' => [ + [ + 'keyName' => 'reservation_group.name', + 'fieldAccessors' => [ + 'getReservationGroup', + 'getName', + ], + ], + ], + ], 'templateMap' => [ 'assignment' => 'projects/{project}/locations/{location}/reservations/{reservation}/assignments/{assignment}', 'biReservation' => 'projects/{project}/locations/{location}/biReservation', diff --git a/BigQueryReservation/src/V1/resources/reservation_service_rest_client_config.php b/BigQueryReservation/src/V1/resources/reservation_service_rest_client_config.php index 40160d5e6040..2176fab5ad08 100644 --- a/BigQueryReservation/src/V1/resources/reservation_service_rest_client_config.php +++ b/BigQueryReservation/src/V1/resources/reservation_service_rest_client_config.php @@ -383,6 +383,19 @@ ], ], ], + 'UpdateReservationGroup' => [ + 'method' => 'patch', + 'uriTemplate' => '/v1/{reservation_group.name=projects/*/locations/*/reservationGroups/*}', + 'body' => 'reservation_group', + 'placeholders' => [ + 'reservation_group.name' => [ + 'getters' => [ + 'getReservationGroup', + 'getName', + ], + ], + ], + ], ], ], 'numericEnums' => true, diff --git a/BigQueryReservation/tests/Unit/V1/Client/ReservationServiceClientTest.php b/BigQueryReservation/tests/Unit/V1/Client/ReservationServiceClientTest.php index b8b1367848ad..30fe43d3bf1d 100644 --- a/BigQueryReservation/tests/Unit/V1/Client/ReservationServiceClientTest.php +++ b/BigQueryReservation/tests/Unit/V1/Client/ReservationServiceClientTest.php @@ -64,6 +64,7 @@ use Google\Cloud\BigQuery\Reservation\V1\UpdateAssignmentRequest; use Google\Cloud\BigQuery\Reservation\V1\UpdateBiReservationRequest; use Google\Cloud\BigQuery\Reservation\V1\UpdateCapacityCommitmentRequest; +use Google\Cloud\BigQuery\Reservation\V1\UpdateReservationGroupRequest; use Google\Cloud\BigQuery\Reservation\V1\UpdateReservationRequest; use Google\Cloud\Iam\V1\GetIamPolicyRequest; use Google\Cloud\Iam\V1\Policy; @@ -347,8 +348,10 @@ public function createReservationGroupTest() $this->assertTrue($transport->isExhausted()); // Mock response $name = 'name3373707'; + $parentGroup = 'parentGroup1394981546'; $expectedResponse = new ReservationGroup(); $expectedResponse->setName($name); + $expectedResponse->setParentGroup($parentGroup); $transport->addResponse($expectedResponse); // Mock request $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); @@ -1063,8 +1066,10 @@ public function getReservationGroupTest() $this->assertTrue($transport->isExhausted()); // Mock response $name2 = 'name2-1052831874'; + $parentGroup = 'parentGroup1394981546'; $expectedResponse = new ReservationGroup(); $expectedResponse->setName($name2); + $expectedResponse->setParentGroup($parentGroup); $transport->addResponse($expectedResponse); // Mock request $formattedName = $gapicClient->reservationGroupName('[PROJECT]', '[LOCATION]', '[RESERVATION_GROUP]'); @@ -2186,6 +2191,76 @@ public function updateReservationExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function updateReservationGroupTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $parentGroup = 'parentGroup1394981546'; + $expectedResponse = new ReservationGroup(); + $expectedResponse->setName($name); + $expectedResponse->setParentGroup($parentGroup); + $transport->addResponse($expectedResponse); + // Mock request + $reservationGroup = new ReservationGroup(); + $request = (new UpdateReservationGroupRequest())->setReservationGroup($reservationGroup); + $response = $gapicClient->updateReservationGroup($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.bigquery.reservation.v1.ReservationService/UpdateReservationGroup', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getReservationGroup(); + $this->assertProtobufEquals($reservationGroup, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function updateReservationGroupExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $reservationGroup = new ReservationGroup(); + $request = (new UpdateReservationGroupRequest())->setReservationGroup($reservationGroup); + try { + $gapicClient->updateReservationGroup($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function createAssignmentAsyncTest() {