Class: Google::Apis::ComputeAlpha::License

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

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ License

Returns a new instance of License.



27441
27442
27443
# File 'lib/google/apis/compute_alpha/classes.rb', line 27441

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>)


27317
27318
27319
# File 'lib/google/apis/compute_alpha/classes.rb', line 27317

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)


27322
27323
27324
# File 'lib/google/apis/compute_alpha/classes.rb', line 27322

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)


27329
27330
27331
# File 'lib/google/apis/compute_alpha/classes.rb', line 27329

def charges_use_fee
  @charges_use_fee
end

#creation_timestampString

[Output Only] Creation timestamp in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


27335
27336
27337
# File 'lib/google/apis/compute_alpha/classes.rb', line 27335

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)


27341
27342
27343
# File 'lib/google/apis/compute_alpha/classes.rb', line 27341

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)


27347
27348
27349
# File 'lib/google/apis/compute_alpha/classes.rb', line 27347

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>)


27354
27355
27356
# File 'lib/google/apis/compute_alpha/classes.rb', line 27354

def incompatible_licenses
  @incompatible_licenses
end

#kindString

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

Returns:

  • (String)


27359
27360
27361
# File 'lib/google/apis/compute_alpha/classes.rb', line 27359

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)


27365
27366
27367
# File 'lib/google/apis/compute_alpha/classes.rb', line 27365

def license_code
  @license_code
end

#minimum_retentionGoogle::Apis::ComputeAlpha::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



27373
27374
27375
# File 'lib/google/apis/compute_alpha/classes.rb', line 27373

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)


27378
27379
27380
# File 'lib/google/apis/compute_alpha/classes.rb', line 27378

def multi_tenant_only
  @multi_tenant_only
end

#nameString

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

Returns:

  • (String)


27385
27386
27387
# File 'lib/google/apis/compute_alpha/classes.rb', line 27385

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)


27391
27392
27393
# File 'lib/google/apis/compute_alpha/classes.rb', line 27391

def os_license
  @os_license
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)


27398
27399
27400
# File 'lib/google/apis/compute_alpha/classes.rb', line 27398

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>)


27406
27407
27408
# File 'lib/google/apis/compute_alpha/classes.rb', line 27406

def required_coattached_licenses
  @required_coattached_licenses
end

#resource_requirementsGoogle::Apis::ComputeAlpha::LicenseResourceRequirements

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



27411
27412
27413
# File 'lib/google/apis/compute_alpha/classes.rb', line 27411

def resource_requirements
  @resource_requirements
end

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

Returns:

  • (String)


27416
27417
27418
# File 'lib/google/apis/compute_alpha/classes.rb', line 27416

def self_link
  @self_link
end

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

Returns:

  • (String)


27421
27422
27423
# File 'lib/google/apis/compute_alpha/classes.rb', line 27421

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)


27426
27427
27428
# File 'lib/google/apis/compute_alpha/classes.rb', line 27426

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)


27433
27434
27435
# File 'lib/google/apis/compute_alpha/classes.rb', line 27433

def transferable
  @transferable
end

#update_timestampString

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

Returns:

  • (String)


27439
27440
27441
# File 'lib/google/apis/compute_alpha/classes.rb', line 27439

def update_timestamp
  @update_timestamp
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



27446
27447
27448
27449
27450
27451
27452
27453
27454
27455
27456
27457
27458
27459
27460
27461
27462
27463
27464
27465
27466
27467
27468
# File 'lib/google/apis/compute_alpha/classes.rb', line 27446

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)
  @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