BigQuery Reservation API . projects . locations . capacityCommitments

Instance Methods

create(parent, body=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)

Creates a new capacity commitment resource.

delete(name, x__xgafv=None)

Deletes a capacity commitment. Attempting to delete capacity commitment

get(name, x__xgafv=None)

Returns information about the capacity commitment.

list(parent, pageToken=None, pageSize=None, x__xgafv=None)

Lists all the capacity commitments for the admin project.

list_next(previous_request, previous_response)

Retrieves the next page of results.

merge(parent, body=None, x__xgafv=None)

Merges capacity commitments of the same plan into a single commitment.

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates an existing capacity commitment.

split(name, body=None, x__xgafv=None)

Splits capacity commitment to two commitments of the same plan and

Method Details

create(parent, body=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)
Creates a new capacity commitment resource.

Args:
  parent: string, Required. Resource name of the parent reservation. E.g.,
   `projects/myproject/locations/US` (required)
  body: object, The request body.
    The object takes the form of:

{ # Capacity commitment is a way to purchase compute capacity for BigQuery jobs
      # (in the form of slots) with some committed period of usage. Annual
      # commitments renew by default. Commitments can be removed after their
      # commitment end time passes.
      # 
      # In order to remove annual commitment, its plan needs to be changed
      # to monthly or flex first.
      # 
      # A capacity commitment resource exists as a child resource of the admin
      # project.
    "plan": "A String", # Capacity commitment commitment plan.
    "slotCount": "A String", # Number of slots in this commitment.
    "renewalPlan": "A String", # The plan this capacity commitment is converted to after commitment_end_time
        # passes. Once the plan is changed, committed period is extended according to
        # commitment plan. Only applicable for ANNUAL commitments.
    "failureStatus": { # The `Status` type defines a logical error model that is suitable for # Output only. For FAILED commitment plan, provides the reason of failure.
        # different programming environments, including REST APIs and RPC APIs. It is
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
        # three pieces of data: error code, error message, and error details.
        #
        # You can find out more about this error model and how to work with it in the
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
      "details": [ # A list of messages that carry the error details.  There is a common set of
          # message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "message": "A String", # A developer-facing error message, which should be in English. Any
          # user-facing error message should be localized and sent in the
          # google.rpc.Status.details field, or localized by the client.
    },
    "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE
        # capacity commitments.
    "state": "A String", # Output only. State of the commitment.
    "name": "A String", # Output only. The resource name of the capacity commitment, e.g.,
        # `projects/myproject/locations/US/capacityCommitments/123`
  }

  enforceSingleAdminProjectPerOrg: boolean, If true, fail the request if another project in the organization has a
capacity commitment.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Capacity commitment is a way to purchase compute capacity for BigQuery jobs
        # (in the form of slots) with some committed period of usage. Annual
        # commitments renew by default. Commitments can be removed after their
        # commitment end time passes.
        #
        # In order to remove annual commitment, its plan needs to be changed
        # to monthly or flex first.
        #
        # A capacity commitment resource exists as a child resource of the admin
        # project.
      "plan": "A String", # Capacity commitment commitment plan.
      "slotCount": "A String", # Number of slots in this commitment.
      "renewalPlan": "A String", # The plan this capacity commitment is converted to after commitment_end_time
          # passes. Once the plan is changed, committed period is extended according to
          # commitment plan. Only applicable for ANNUAL commitments.
      "failureStatus": { # The `Status` type defines a logical error model that is suitable for # Output only. For FAILED commitment plan, provides the reason of failure.
          # different programming environments, including REST APIs and RPC APIs. It is
          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
          # three pieces of data: error code, error message, and error details.
          #
          # You can find out more about this error model and how to work with it in the
          # [API Design Guide](https://cloud.google.com/apis/design/errors).
        "details": [ # A list of messages that carry the error details.  There is a common set of
            # message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "message": "A String", # A developer-facing error message, which should be in English. Any
            # user-facing error message should be localized and sent in the
            # google.rpc.Status.details field, or localized by the client.
      },
      "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE
          # capacity commitments.
      "state": "A String", # Output only. State of the commitment.
      "name": "A String", # Output only. The resource name of the capacity commitment, e.g.,
          # `projects/myproject/locations/US/capacityCommitments/123`
    }
delete(name, x__xgafv=None)
Deletes a capacity commitment. Attempting to delete capacity commitment
before its commitment_end_time will fail with the error code
`google.rpc.Code.FAILED_PRECONDITION`.

Args:
  name: string, Required. Resource name of the capacity commitment to delete. E.g.,
   `projects/myproject/locations/US/capacityCommitments/123` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
get(name, x__xgafv=None)
Returns information about the capacity commitment.

Args:
  name: string, Required. Resource name of the capacity commitment to retrieve. E.g.,
   `projects/myproject/locations/US/capacityCommitments/123` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Capacity commitment is a way to purchase compute capacity for BigQuery jobs
        # (in the form of slots) with some committed period of usage. Annual
        # commitments renew by default. Commitments can be removed after their
        # commitment end time passes.
        #
        # In order to remove annual commitment, its plan needs to be changed
        # to monthly or flex first.
        #
        # A capacity commitment resource exists as a child resource of the admin
        # project.
      "plan": "A String", # Capacity commitment commitment plan.
      "slotCount": "A String", # Number of slots in this commitment.
      "renewalPlan": "A String", # The plan this capacity commitment is converted to after commitment_end_time
          # passes. Once the plan is changed, committed period is extended according to
          # commitment plan. Only applicable for ANNUAL commitments.
      "failureStatus": { # The `Status` type defines a logical error model that is suitable for # Output only. For FAILED commitment plan, provides the reason of failure.
          # different programming environments, including REST APIs and RPC APIs. It is
          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
          # three pieces of data: error code, error message, and error details.
          #
          # You can find out more about this error model and how to work with it in the
          # [API Design Guide](https://cloud.google.com/apis/design/errors).
        "details": [ # A list of messages that carry the error details.  There is a common set of
            # message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "message": "A String", # A developer-facing error message, which should be in English. Any
            # user-facing error message should be localized and sent in the
            # google.rpc.Status.details field, or localized by the client.
      },
      "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE
          # capacity commitments.
      "state": "A String", # Output only. State of the commitment.
      "name": "A String", # Output only. The resource name of the capacity commitment, e.g.,
          # `projects/myproject/locations/US/capacityCommitments/123`
    }
list(parent, pageToken=None, pageSize=None, x__xgafv=None)
Lists all the capacity commitments for the admin project.

Args:
  parent: string, Required. Resource name of the parent reservation. E.g.,
   `projects/myproject/locations/US` (required)
  pageToken: string, The next_page_token value returned from a previous List request, if any.
  pageSize: integer, The maximum number of items to return.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response for ReservationService.ListCapacityCommitments.
    "capacityCommitments": [ # List of capacity commitments visible to the user.
      { # Capacity commitment is a way to purchase compute capacity for BigQuery jobs
            # (in the form of slots) with some committed period of usage. Annual
            # commitments renew by default. Commitments can be removed after their
            # commitment end time passes.
            #
            # In order to remove annual commitment, its plan needs to be changed
            # to monthly or flex first.
            #
            # A capacity commitment resource exists as a child resource of the admin
            # project.
          "plan": "A String", # Capacity commitment commitment plan.
          "slotCount": "A String", # Number of slots in this commitment.
          "renewalPlan": "A String", # The plan this capacity commitment is converted to after commitment_end_time
              # passes. Once the plan is changed, committed period is extended according to
              # commitment plan. Only applicable for ANNUAL commitments.
          "failureStatus": { # The `Status` type defines a logical error model that is suitable for # Output only. For FAILED commitment plan, provides the reason of failure.
              # different programming environments, including REST APIs and RPC APIs. It is
              # used by [gRPC](https://github.com/grpc). Each `Status` message contains
              # three pieces of data: error code, error message, and error details.
              #
              # You can find out more about this error model and how to work with it in the
              # [API Design Guide](https://cloud.google.com/apis/design/errors).
            "details": [ # A list of messages that carry the error details.  There is a common set of
                # message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "message": "A String", # A developer-facing error message, which should be in English. Any
                # user-facing error message should be localized and sent in the
                # google.rpc.Status.details field, or localized by the client.
          },
          "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE
              # capacity commitments.
          "state": "A String", # Output only. State of the commitment.
          "name": "A String", # Output only. The resource name of the capacity commitment, e.g.,
              # `projects/myproject/locations/US/capacityCommitments/123`
        },
    ],
    "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no
        # more results in the list.
  }
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
merge(parent, body=None, x__xgafv=None)
Merges capacity commitments of the same plan into a single commitment.

The resulting capacity commitment has the greater commitment_end_time
out of the to-be-merged capacity commitments.

Attempting to merge capacity commitments of different plan will fail
with the error code `google.rpc.Code.FAILED_PRECONDITION`.

Args:
  parent: string, Parent resource that identifies admin project and location e.g.,
 `projects/myproject/locations/us` (required)
  body: object, The request body.
    The object takes the form of:

{ # The request for ReservationService.MergeCapacityCommitments.
    "capacityCommitmentIds": [ # Ids of capacity commitments to merge.
        # These capacity commitments must exist under admin project and location
        # specified in the parent.
      "A String",
    ],
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Capacity commitment is a way to purchase compute capacity for BigQuery jobs
        # (in the form of slots) with some committed period of usage. Annual
        # commitments renew by default. Commitments can be removed after their
        # commitment end time passes.
        #
        # In order to remove annual commitment, its plan needs to be changed
        # to monthly or flex first.
        #
        # A capacity commitment resource exists as a child resource of the admin
        # project.
      "plan": "A String", # Capacity commitment commitment plan.
      "slotCount": "A String", # Number of slots in this commitment.
      "renewalPlan": "A String", # The plan this capacity commitment is converted to after commitment_end_time
          # passes. Once the plan is changed, committed period is extended according to
          # commitment plan. Only applicable for ANNUAL commitments.
      "failureStatus": { # The `Status` type defines a logical error model that is suitable for # Output only. For FAILED commitment plan, provides the reason of failure.
          # different programming environments, including REST APIs and RPC APIs. It is
          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
          # three pieces of data: error code, error message, and error details.
          #
          # You can find out more about this error model and how to work with it in the
          # [API Design Guide](https://cloud.google.com/apis/design/errors).
        "details": [ # A list of messages that carry the error details.  There is a common set of
            # message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "message": "A String", # A developer-facing error message, which should be in English. Any
            # user-facing error message should be localized and sent in the
            # google.rpc.Status.details field, or localized by the client.
      },
      "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE
          # capacity commitments.
      "state": "A String", # Output only. State of the commitment.
      "name": "A String", # Output only. The resource name of the capacity commitment, e.g.,
          # `projects/myproject/locations/US/capacityCommitments/123`
    }
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates an existing capacity commitment.

Only `plan` and `renewal_plan` fields can be updated.

Plan can only be changed to a plan of a longer commitment period.
Attempting to change to a plan with shorter commitment period will fail
with the error code `google.rpc.Code.FAILED_PRECONDITION`.

Args:
  name: string, Output only. The resource name of the capacity commitment, e.g.,
`projects/myproject/locations/US/capacityCommitments/123` (required)
  body: object, The request body.
    The object takes the form of:

{ # Capacity commitment is a way to purchase compute capacity for BigQuery jobs
      # (in the form of slots) with some committed period of usage. Annual
      # commitments renew by default. Commitments can be removed after their
      # commitment end time passes.
      # 
      # In order to remove annual commitment, its plan needs to be changed
      # to monthly or flex first.
      # 
      # A capacity commitment resource exists as a child resource of the admin
      # project.
    "plan": "A String", # Capacity commitment commitment plan.
    "slotCount": "A String", # Number of slots in this commitment.
    "renewalPlan": "A String", # The plan this capacity commitment is converted to after commitment_end_time
        # passes. Once the plan is changed, committed period is extended according to
        # commitment plan. Only applicable for ANNUAL commitments.
    "failureStatus": { # The `Status` type defines a logical error model that is suitable for # Output only. For FAILED commitment plan, provides the reason of failure.
        # different programming environments, including REST APIs and RPC APIs. It is
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
        # three pieces of data: error code, error message, and error details.
        #
        # You can find out more about this error model and how to work with it in the
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
      "details": [ # A list of messages that carry the error details.  There is a common set of
          # message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "message": "A String", # A developer-facing error message, which should be in English. Any
          # user-facing error message should be localized and sent in the
          # google.rpc.Status.details field, or localized by the client.
    },
    "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE
        # capacity commitments.
    "state": "A String", # Output only. State of the commitment.
    "name": "A String", # Output only. The resource name of the capacity commitment, e.g.,
        # `projects/myproject/locations/US/capacityCommitments/123`
  }

  updateMask: string, Standard field mask for the set of fields to be updated.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Capacity commitment is a way to purchase compute capacity for BigQuery jobs
        # (in the form of slots) with some committed period of usage. Annual
        # commitments renew by default. Commitments can be removed after their
        # commitment end time passes.
        #
        # In order to remove annual commitment, its plan needs to be changed
        # to monthly or flex first.
        #
        # A capacity commitment resource exists as a child resource of the admin
        # project.
      "plan": "A String", # Capacity commitment commitment plan.
      "slotCount": "A String", # Number of slots in this commitment.
      "renewalPlan": "A String", # The plan this capacity commitment is converted to after commitment_end_time
          # passes. Once the plan is changed, committed period is extended according to
          # commitment plan. Only applicable for ANNUAL commitments.
      "failureStatus": { # The `Status` type defines a logical error model that is suitable for # Output only. For FAILED commitment plan, provides the reason of failure.
          # different programming environments, including REST APIs and RPC APIs. It is
          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
          # three pieces of data: error code, error message, and error details.
          #
          # You can find out more about this error model and how to work with it in the
          # [API Design Guide](https://cloud.google.com/apis/design/errors).
        "details": [ # A list of messages that carry the error details.  There is a common set of
            # message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "message": "A String", # A developer-facing error message, which should be in English. Any
            # user-facing error message should be localized and sent in the
            # google.rpc.Status.details field, or localized by the client.
      },
      "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE
          # capacity commitments.
      "state": "A String", # Output only. State of the commitment.
      "name": "A String", # Output only. The resource name of the capacity commitment, e.g.,
          # `projects/myproject/locations/US/capacityCommitments/123`
    }
split(name, body=None, x__xgafv=None)
Splits capacity commitment to two commitments of the same plan and
`commitment_end_time`.

A common use case is to enable downgrading commitments.

For example, in order to downgrade from 10000 slots to 8000, you might
split a 10000 capacity commitment into commitments of 2000 and 8000. Then,
you would change the plan of the first one to `FLEX` and then delete it.

Args:
  name: string, Required. The resource name e.g.,:
 `projects/myproject/locations/US/capacityCommitments/123` (required)
  body: object, The request body.
    The object takes the form of:

{ # The request for ReservationService.SplitCapacityCommitment.
    "slotCount": "A String", # Number of slots in the capacity commitment after the split.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response for ReservationService.SplitCapacityCommitment.
    "second": { # Capacity commitment is a way to purchase compute capacity for BigQuery jobs # Second capacity commitment, result of a split.
          # (in the form of slots) with some committed period of usage. Annual
          # commitments renew by default. Commitments can be removed after their
          # commitment end time passes.
          #
          # In order to remove annual commitment, its plan needs to be changed
          # to monthly or flex first.
          #
          # A capacity commitment resource exists as a child resource of the admin
          # project.
        "plan": "A String", # Capacity commitment commitment plan.
        "slotCount": "A String", # Number of slots in this commitment.
        "renewalPlan": "A String", # The plan this capacity commitment is converted to after commitment_end_time
            # passes. Once the plan is changed, committed period is extended according to
            # commitment plan. Only applicable for ANNUAL commitments.
        "failureStatus": { # The `Status` type defines a logical error model that is suitable for # Output only. For FAILED commitment plan, provides the reason of failure.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
        },
        "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE
            # capacity commitments.
        "state": "A String", # Output only. State of the commitment.
        "name": "A String", # Output only. The resource name of the capacity commitment, e.g.,
            # `projects/myproject/locations/US/capacityCommitments/123`
      },
    "first": { # Capacity commitment is a way to purchase compute capacity for BigQuery jobs # First capacity commitment, result of a split.
          # (in the form of slots) with some committed period of usage. Annual
          # commitments renew by default. Commitments can be removed after their
          # commitment end time passes.
          #
          # In order to remove annual commitment, its plan needs to be changed
          # to monthly or flex first.
          #
          # A capacity commitment resource exists as a child resource of the admin
          # project.
        "plan": "A String", # Capacity commitment commitment plan.
        "slotCount": "A String", # Number of slots in this commitment.
        "renewalPlan": "A String", # The plan this capacity commitment is converted to after commitment_end_time
            # passes. Once the plan is changed, committed period is extended according to
            # commitment plan. Only applicable for ANNUAL commitments.
        "failureStatus": { # The `Status` type defines a logical error model that is suitable for # Output only. For FAILED commitment plan, provides the reason of failure.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
        },
        "commitmentEndTime": "A String", # Output only. The end of the current commitment period. It is applicable only for ACTIVE
            # capacity commitments.
        "state": "A String", # Output only. State of the commitment.
        "name": "A String", # Output only. The resource name of the capacity commitment, e.g.,
            # `projects/myproject/locations/US/capacityCommitments/123`
      },
  }