Class: Google::Apis::ComputeAlpha::LicenseCode

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 Code resource. A License Code is a unique identifier used to represent alicense resource. 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) ⇒ LicenseCode

Returns a new instance of LicenseCode.



40442
40443
40444
# File 'lib/google/apis/compute_alpha/classes.rb', line 40442

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


40324
40325
40326
# File 'lib/google/apis/compute_alpha/classes.rb', line 40324

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)


40330
40331
40332
# File 'lib/google/apis/compute_alpha/classes.rb', line 40330

def appendable_to_disk
  @appendable_to_disk
end

#creation_timestampString

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

Returns:

  • (String)


40337
40338
40339
# File 'lib/google/apis/compute_alpha/classes.rb', line 40337

def creation_timestamp
  @creation_timestamp
end

#descriptionString

Output only. [Output Only] Description of this License Code. Corresponds to the JSON property description

Returns:

  • (String)


40342
40343
40344
# File 'lib/google/apis/compute_alpha/classes.rb', line 40342

def description
  @description
end

#idFixnum

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

Returns:

  • (Fixnum)


40349
40350
40351
# File 'lib/google/apis/compute_alpha/classes.rb', line 40349

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


40356
40357
40358
# File 'lib/google/apis/compute_alpha/classes.rb', line 40356

def incompatible_licenses
  @incompatible_licenses
end

#kindString

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

Returns:

  • (String)


40362
40363
40364
# File 'lib/google/apis/compute_alpha/classes.rb', line 40362

def kind
  @kind
end

#license_aliasArray<Google::Apis::ComputeAlpha::LicenseCodeLicenseAlias>

[Output Only] URL and description aliases of Licenses with the same License Code. Corresponds to the JSON property licenseAlias



40368
40369
40370
# File 'lib/google/apis/compute_alpha/classes.rb', line 40368

def license_alias
  @license_alias
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



40376
40377
40378
# File 'lib/google/apis/compute_alpha/classes.rb', line 40376

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)


40381
40382
40383
# File 'lib/google/apis/compute_alpha/classes.rb', line 40381

def multi_tenant_only
  @multi_tenant_only
end

#nameString

Output only. [Output Only] Name of the resource. The name is 1-20 characters long and must be a valid 64 bit integer. Corresponds to the JSON property name

Returns:

  • (String)


40389
40390
40391
# File 'lib/google/apis/compute_alpha/classes.rb', line 40389

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)


40395
40396
40397
# File 'lib/google/apis/compute_alpha/classes.rb', line 40395

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)


40402
40403
40404
# File 'lib/google/apis/compute_alpha/classes.rb', line 40402

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


40410
40411
40412
# File 'lib/google/apis/compute_alpha/classes.rb', line 40410

def required_coattached_licenses
  @required_coattached_licenses
end

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

Returns:

  • (String)


40415
40416
40417
# File 'lib/google/apis/compute_alpha/classes.rb', line 40415

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


40420
40421
40422
# File 'lib/google/apis/compute_alpha/classes.rb', line 40420

def sole_tenant_only
  @sole_tenant_only
end

#stateString

Output only. [Output Only] Current state of this License Code. Corresponds to the JSON property state

Returns:

  • (String)


40426
40427
40428
# File 'lib/google/apis/compute_alpha/classes.rb', line 40426

def state
  @state
end

#transferableBoolean Also known as: transferable?

Output only. [Output Only] If true, the license will remain attached when creating images or snapshots from disks. Otherwise, the license is not transferred. Corresponds to the JSON property transferable

Returns:

  • (Boolean)


40433
40434
40435
# File 'lib/google/apis/compute_alpha/classes.rb', line 40433

def transferable
  @transferable
end

#update_timestampString

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

Returns:

  • (String)


40440
40441
40442
# File 'lib/google/apis/compute_alpha/classes.rb', line 40440

def update_timestamp
  @update_timestamp
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



40447
40448
40449
40450
40451
40452
40453
40454
40455
40456
40457
40458
40459
40460
40461
40462
40463
40464
40465
40466
40467
# File 'lib/google/apis/compute_alpha/classes.rb', line 40447

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)
  @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_alias = args[:license_alias] if args.key?(:license_alias)
  @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)
  @self_link = args[:self_link] if args.key?(:self_link)
  @sole_tenant_only = args[:sole_tenant_only] if args.key?(:sole_tenant_only)
  @state = args[:state] if args.key?(:state)
  @transferable = args[:transferable] if args.key?(:transferable)
  @update_timestamp = args[:update_timestamp] if args.key?(:update_timestamp)
end