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 a license resource. 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) ⇒ LicenseCode

Returns a new instance of LicenseCode.



27592
27593
27594
# File 'lib/google/apis/compute_alpha/classes.rb', line 27592

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


27481
27482
27483
# File 'lib/google/apis/compute_alpha/classes.rb', line 27481

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)


27486
27487
27488
# File 'lib/google/apis/compute_alpha/classes.rb', line 27486

def appendable_to_disk
  @appendable_to_disk
end

#creation_timestampString

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

Returns:

  • (String)


27492
27493
27494
# File 'lib/google/apis/compute_alpha/classes.rb', line 27492

def creation_timestamp
  @creation_timestamp
end

#descriptionString

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

Returns:

  • (String)


27497
27498
27499
# File 'lib/google/apis/compute_alpha/classes.rb', line 27497

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)


27503
27504
27505
# File 'lib/google/apis/compute_alpha/classes.rb', line 27503

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


27510
27511
27512
# File 'lib/google/apis/compute_alpha/classes.rb', line 27510

def incompatible_licenses
  @incompatible_licenses
end

#kindString

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

Returns:

  • (String)


27515
27516
27517
# File 'lib/google/apis/compute_alpha/classes.rb', line 27515

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



27521
27522
27523
# File 'lib/google/apis/compute_alpha/classes.rb', line 27521

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



27529
27530
27531
# File 'lib/google/apis/compute_alpha/classes.rb', line 27529

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)


27534
27535
27536
# File 'lib/google/apis/compute_alpha/classes.rb', line 27534

def multi_tenant_only
  @multi_tenant_only
end

#nameString

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


27541
27542
27543
# File 'lib/google/apis/compute_alpha/classes.rb', line 27541

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)


27547
27548
27549
# File 'lib/google/apis/compute_alpha/classes.rb', line 27547

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)


27554
27555
27556
# File 'lib/google/apis/compute_alpha/classes.rb', line 27554

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


27562
27563
27564
# File 'lib/google/apis/compute_alpha/classes.rb', line 27562

def required_coattached_licenses
  @required_coattached_licenses
end

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

Returns:

  • (String)


27567
27568
27569
# File 'lib/google/apis/compute_alpha/classes.rb', line 27567

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)


27572
27573
27574
# File 'lib/google/apis/compute_alpha/classes.rb', line 27572

def sole_tenant_only
  @sole_tenant_only
end

#stateString

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

Returns:

  • (String)


27578
27579
27580
# File 'lib/google/apis/compute_alpha/classes.rb', line 27578

def state
  @state
end

#transferableBoolean Also known as: transferable?

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


27584
27585
27586
# File 'lib/google/apis/compute_alpha/classes.rb', line 27584

def transferable
  @transferable
end

#update_timestampString

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

Returns:

  • (String)


27590
27591
27592
# File 'lib/google/apis/compute_alpha/classes.rb', line 27590

def update_timestamp
  @update_timestamp
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



27597
27598
27599
27600
27601
27602
27603
27604
27605
27606
27607
27608
27609
27610
27611
27612
27613
27614
27615
27616
27617
# File 'lib/google/apis/compute_alpha/classes.rb', line 27597

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