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.



38799
38800
38801
# File 'lib/google/apis/compute_alpha/classes.rb', line 38799

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


38681
38682
38683
# File 'lib/google/apis/compute_alpha/classes.rb', line 38681

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)


38687
38688
38689
# File 'lib/google/apis/compute_alpha/classes.rb', line 38687

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)


38694
38695
38696
# File 'lib/google/apis/compute_alpha/classes.rb', line 38694

def creation_timestamp
  @creation_timestamp
end

#descriptionString

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

Returns:

  • (String)


38699
38700
38701
# File 'lib/google/apis/compute_alpha/classes.rb', line 38699

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)


38706
38707
38708
# File 'lib/google/apis/compute_alpha/classes.rb', line 38706

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


38713
38714
38715
# File 'lib/google/apis/compute_alpha/classes.rb', line 38713

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)


38719
38720
38721
# File 'lib/google/apis/compute_alpha/classes.rb', line 38719

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



38725
38726
38727
# File 'lib/google/apis/compute_alpha/classes.rb', line 38725

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



38733
38734
38735
# File 'lib/google/apis/compute_alpha/classes.rb', line 38733

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)


38738
38739
38740
# File 'lib/google/apis/compute_alpha/classes.rb', line 38738

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)


38746
38747
38748
# File 'lib/google/apis/compute_alpha/classes.rb', line 38746

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)


38752
38753
38754
# File 'lib/google/apis/compute_alpha/classes.rb', line 38752

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)


38759
38760
38761
# File 'lib/google/apis/compute_alpha/classes.rb', line 38759

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


38767
38768
38769
# File 'lib/google/apis/compute_alpha/classes.rb', line 38767

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)


38772
38773
38774
# File 'lib/google/apis/compute_alpha/classes.rb', line 38772

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)


38777
38778
38779
# File 'lib/google/apis/compute_alpha/classes.rb', line 38777

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)


38783
38784
38785
# File 'lib/google/apis/compute_alpha/classes.rb', line 38783

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)


38790
38791
38792
# File 'lib/google/apis/compute_alpha/classes.rb', line 38790

def transferable
  @transferable
end

#update_timestampString

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

Returns:

  • (String)


38797
38798
38799
# File 'lib/google/apis/compute_alpha/classes.rb', line 38797

def update_timestamp
  @update_timestamp
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



38804
38805
38806
38807
38808
38809
38810
38811
38812
38813
38814
38815
38816
38817
38818
38819
38820
38821
38822
38823
38824
# File 'lib/google/apis/compute_alpha/classes.rb', line 38804

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