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.
  "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`
  "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 and TRIAL 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.
}

  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.
    "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`
    "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 and TRIAL 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.
  }
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.
    "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`
    "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 and TRIAL 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.
  }
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.
        "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`
        "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 and TRIAL 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.
      },
    ],
    "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.
    "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`
    "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 and TRIAL 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.
  }
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.
  "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`
  "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 and TRIAL 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.
}

  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.
    "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`
    "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 and TRIAL 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.
  }
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.
      "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`
      "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 and TRIAL 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.
    },
    "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.
      "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`
      "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 and TRIAL 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.
    },
  }