Class: Google::Cloud::Compute::V1::Commitment

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/compute/v1/compute.rb

Overview

Represents a regional Commitment resource. Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts.

Defined Under Namespace

Modules: Category, Plan, Status, Type

Instance Attribute Summary collapse

Instance Attribute Details

#category::String

Returns The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified. Check the Category enum for the list of possible values.

Returns:

  • (::String)

    The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified. Check the Category enum for the list of possible values.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#creation_timestamp::String

Returns [Output Only] Creation timestamp in RFC3339 text format.

Returns:

  • (::String)

    [Output Only] Creation timestamp in RFC3339 text format.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#description::String

Returns An optional description of this resource. Provide this property when you create the resource.

Returns:

  • (::String)

    An optional description of this resource. Provide this property when you create the resource.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#end_timestamp::String

Returns [Output Only] Commitment end time in RFC3339 text format.

Returns:

  • (::String)

    [Output Only] Commitment end time in RFC3339 text format.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#id::Integer

Returns [Output Only] The unique identifier for the resource. This identifier is defined by the server.

Returns:

  • (::Integer)

    [Output Only] The unique identifier for the resource. This identifier is defined by the server.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#kind::String

Returns [Output Only] Type of the resource. Always compute#commitment for commitments.

Returns:

  • (::String)

    [Output Only] Type of the resource. Always compute#commitment for commitments.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#license_resource::Google::Cloud::Compute::V1::LicenseResourceCommitment

Returns The license specification required as part of a license commitment.

Returns:



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#name::String

Returns Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

Returns:

  • (::String)

    Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#plan::String

Returns The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years). Check the Plan enum for the list of possible values.

Returns:

  • (::String)

    The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years). Check the Plan enum for the list of possible values.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#region::String

Returns [Output Only] URL of the region where this commitment may be used.

Returns:

  • (::String)

    [Output Only] URL of the region where this commitment may be used.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#reservations::Array<::Google::Cloud::Compute::V1::Reservation>

Returns List of reservations in this commitment.

Returns:



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#resources::Array<::Google::Cloud::Compute::V1::ResourceCommitment>

Returns A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.

Returns:



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

Returns [Output Only] Server-defined URL for the resource.

Returns:

  • (::String)

    [Output Only] Server-defined URL for the resource.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#start_timestamp::String

Returns [Output Only] Commitment start time in RFC3339 text format.

Returns:

  • (::String)

    [Output Only] Commitment start time in RFC3339 text format.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#status::String

Returns [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. Check the Status enum for the list of possible values.

Returns:

  • (::String)

    [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. Check the Status enum for the list of possible values.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#status_message::String

Returns [Output Only] An optional, human-readable explanation of the status.

Returns:

  • (::String)

    [Output Only] An optional, human-readable explanation of the status.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end

#type::String

Returns The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines. Check the Type enum for the list of possible values.

Returns:

  • (::String)

    The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines. Check the Type enum for the list of possible values.



3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 3351

class Commitment
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
  module Category
    # A value indicating that the enum field is not set.
    UNDEFINED_CATEGORY = 0

    CATEGORY_UNSPECIFIED = 509189462

    LICENSE = 347869217

    MACHINE = 469553191
  end

  # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
  module Plan
    # A value indicating that the enum field is not set.
    UNDEFINED_PLAN = 0

    INVALID = 530283991

    THIRTY_SIX_MONTH = 266295942

    TWELVE_MONTH = 173083962
  end

  # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
  module Status
    # A value indicating that the enum field is not set.
    UNDEFINED_STATUS = 0

    ACTIVE = 314733318

    CREATING = 455564985

    EXPIRED = 482489093

    NOT_YET_ACTIVE = 20607337
  end

  # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
  module Type
    # A value indicating that the enum field is not set.
    UNDEFINED_TYPE = 0

    ACCELERATOR_OPTIMIZED = 280848403

    COMPUTE_OPTIMIZED = 158349023

    GENERAL_PURPOSE = 299793543

    GENERAL_PURPOSE_E2 = 301911877

    GENERAL_PURPOSE_N2 = 301912156

    GENERAL_PURPOSE_N2D = 232471400

    MEMORY_OPTIMIZED = 281753417

    TYPE_UNSPECIFIED = 437714322
  end
end