Class: Google::Apis::ComputeV1::License

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb

Overview

Represents a License resource. A License represents billing and aggregate usage data forpublic andmarketplace images. Caution This resource is intended for use only by third-party partners who are creatingCloud Marketplace images.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ License

Returns a new instance of License.



29411
29412
29413
# File 'lib/google/apis/compute_v1/classes.rb', line 29411

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#allowed_replacement_licensesArray<String>

Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false. Corresponds to the JSON property allowedReplacementLicenses

Returns:

  • (Array<String>)


29277
29278
29279
# File 'lib/google/apis/compute_v1/classes.rb', line 29277

def allowed_replacement_licenses
  @allowed_replacement_licenses
end

#appendable_to_diskBoolean Also known as: appendable_to_disk?

If true, this license can be appended to an existing disk's set of licenses. Corresponds to the JSON property appendableToDisk

Returns:

  • (Boolean)


29283
29284
29285
# File 'lib/google/apis/compute_v1/classes.rb', line 29283

def appendable_to_disk
  @appendable_to_disk
end

#charges_use_feeBoolean Also known as: charges_use_fee?

[Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee. Corresponds to the JSON property chargesUseFee

Returns:

  • (Boolean)


29290
29291
29292
# File 'lib/google/apis/compute_v1/classes.rb', line 29290

def charges_use_fee
  @charges_use_fee
end

#creation_timestampString

Output only. [Output Only] Creation timestamp inRFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


29297
29298
29299
# File 'lib/google/apis/compute_v1/classes.rb', line 29297

def creation_timestamp
  @creation_timestamp
end

#descriptionString

An optional textual description of the resource; provided by the client when the resource is created. Corresponds to the JSON property description

Returns:

  • (String)


29303
29304
29305
# File 'lib/google/apis/compute_v1/classes.rb', line 29303

def description
  @description
end

#idFixnum

[Output Only] The unique identifier for the resource. This identifier is defined by the server. Corresponds to the JSON property id

Returns:

  • (Fixnum)


29309
29310
29311
# File 'lib/google/apis/compute_v1/classes.rb', line 29309

def id
  @id
end

#incompatible_licensesArray<String>

Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image. Corresponds to the JSON property incompatibleLicenses

Returns:

  • (Array<String>)


29316
29317
29318
# File 'lib/google/apis/compute_v1/classes.rb', line 29316

def incompatible_licenses
  @incompatible_licenses
end

#kindString

Output only. [Output Only] Type of resource. Always compute#license for licenses. Corresponds to the JSON property kind

Returns:

  • (String)


29322
29323
29324
# File 'lib/google/apis/compute_v1/classes.rb', line 29322

def kind
  @kind
end

#license_codeFixnum

[Output Only] The unique code used to attach this license to images, snapshots, and disks. Corresponds to the JSON property licenseCode

Returns:

  • (Fixnum)


29328
29329
29330
# File 'lib/google/apis/compute_v1/classes.rb', line 29328

def license_code
  @license_code
end

#minimum_retentionGoogle::Apis::ComputeV1::Duration

A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. Corresponds to the JSON property minimumRetention



29336
29337
29338
# File 'lib/google/apis/compute_v1/classes.rb', line 29336

def minimum_retention
  @minimum_retention
end

#multi_tenant_onlyBoolean Also known as: multi_tenant_only?

If true, this license can only be used on VMs on multi tenant nodes. Corresponds to the JSON property multiTenantOnly

Returns:

  • (Boolean)


29341
29342
29343
# File 'lib/google/apis/compute_v1/classes.rb', line 29341

def multi_tenant_only
  @multi_tenant_only
end

#nameString

Name of the resource. The name must be 1-63 characters long and comply withRFC1035. Corresponds to the JSON property name

Returns:

  • (String)


29348
29349
29350
# File 'lib/google/apis/compute_v1/classes.rb', line 29348

def name
  @name
end

#os_licenseBoolean Also known as: os_license?

If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time. Corresponds to the JSON property osLicense

Returns:

  • (Boolean)


29354
29355
29356
# File 'lib/google/apis/compute_v1/classes.rb', line 29354

def os_license
  @os_license
end

#paramsGoogle::Apis::ComputeV1::LicenseParams

Additional license params. Corresponds to the JSON property params



29360
29361
29362
# File 'lib/google/apis/compute_v1/classes.rb', line 29360

def params
  @params
end

#removable_from_diskBoolean Also known as: removable_from_disk?

If true, this license can be removed from a disk's set of licenses, with no replacement license needed. Corresponds to the JSON property removableFromDisk

Returns:

  • (Boolean)


29366
29367
29368
# File 'lib/google/apis/compute_v1/classes.rb', line 29366

def removable_from_disk
  @removable_from_disk
end

#required_coattached_licensesArray<String>

Specifies the set of permissible coattached licenseCodes of licenses that satisfy the coattachment requirement of this license. At least one license from the set must be attached to the same disk or image as this license. Corresponds to the JSON property requiredCoattachedLicenses

Returns:

  • (Array<String>)


29374
29375
29376
# File 'lib/google/apis/compute_v1/classes.rb', line 29374

def required_coattached_licenses
  @required_coattached_licenses
end

#resource_requirementsGoogle::Apis::ComputeV1::LicenseResourceRequirements

[Input Only] Deprecated. Corresponds to the JSON property resourceRequirements



29379
29380
29381
# File 'lib/google/apis/compute_v1/classes.rb', line 29379

def resource_requirements
  @resource_requirements
end

Output only. [Output Only] Server-defined URL for the resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


29384
29385
29386
# File 'lib/google/apis/compute_v1/classes.rb', line 29384

def self_link
  @self_link
end

Output only. [Output Only] Server-defined URL for this resource with the resource id. Corresponds to the JSON property selfLinkWithId

Returns:

  • (String)


29390
29391
29392
# File 'lib/google/apis/compute_v1/classes.rb', line 29390

def self_link_with_id
  @self_link_with_id
end

#sole_tenant_onlyBoolean Also known as: sole_tenant_only?

If true, this license can only be used on VMs on sole tenant nodes. Corresponds to the JSON property soleTenantOnly

Returns:

  • (Boolean)


29395
29396
29397
# File 'lib/google/apis/compute_v1/classes.rb', line 29395

def sole_tenant_only
  @sole_tenant_only
end

#transferableBoolean Also known as: transferable?

If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk. Corresponds to the JSON property transferable

Returns:

  • (Boolean)


29402
29403
29404
# File 'lib/google/apis/compute_v1/classes.rb', line 29402

def transferable
  @transferable
end

#update_timestampString

Output only. [Output Only] Last update timestamp inRFC3339 text format. Corresponds to the JSON property updateTimestamp

Returns:

  • (String)


29409
29410
29411
# File 'lib/google/apis/compute_v1/classes.rb', line 29409

def update_timestamp
  @update_timestamp
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



29416
29417
29418
29419
29420
29421
29422
29423
29424
29425
29426
29427
29428
29429
29430
29431
29432
29433
29434
29435
29436
29437
29438
29439
# File 'lib/google/apis/compute_v1/classes.rb', line 29416

def update!(**args)
  @allowed_replacement_licenses = args[:allowed_replacement_licenses] if args.key?(:allowed_replacement_licenses)
  @appendable_to_disk = args[:appendable_to_disk] if args.key?(:appendable_to_disk)
  @charges_use_fee = args[:charges_use_fee] if args.key?(:charges_use_fee)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @id = args[:id] if args.key?(:id)
  @incompatible_licenses = args[:incompatible_licenses] if args.key?(:incompatible_licenses)
  @kind = args[:kind] if args.key?(:kind)
  @license_code = args[:license_code] if args.key?(:license_code)
  @minimum_retention = args[:minimum_retention] if args.key?(:minimum_retention)
  @multi_tenant_only = args[:multi_tenant_only] if args.key?(:multi_tenant_only)
  @name = args[:name] if args.key?(:name)
  @os_license = args[:os_license] if args.key?(:os_license)
  @params = args[:params] if args.key?(:params)
  @removable_from_disk = args[:removable_from_disk] if args.key?(:removable_from_disk)
  @required_coattached_licenses = args[:required_coattached_licenses] if args.key?(:required_coattached_licenses)
  @resource_requirements = args[:resource_requirements] if args.key?(:resource_requirements)
  @self_link = args[:self_link] if args.key?(:self_link)
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
  @sole_tenant_only = args[:sole_tenant_only] if args.key?(:sole_tenant_only)
  @transferable = args[:transferable] if args.key?(:transferable)
  @update_timestamp = args[:update_timestamp] if args.key?(:update_timestamp)
end