Class: Google::Apis::OsconfigV1beta::GuestPolicy

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/osconfig_v1beta/classes.rb,
generated/google/apis/osconfig_v1beta/representations.rb,
generated/google/apis/osconfig_v1beta/representations.rb

Overview

An OS Config resource representing a guest configuration policy. These policies represent the desired state for VM instance guest environments including packages to install or remove, package repository configurations, and software to install.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ GuestPolicy

Returns a new instance of GuestPolicy.



659
660
661
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 659

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

Instance Attribute Details

#assignmentGoogle::Apis::OsconfigV1beta::Assignment

An assignment represents the group or groups of VM instances that the policy applies to. If an assignment is empty, it applies to all VM instances. Otherwise, the targeted VM instances must meet all the criteria specified. So if both labels and zones are specified, the policy applies to VM instances with those labels and in those zones. Corresponds to the JSON property assignment



609
610
611
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 609

def assignment
  @assignment
end

#create_timeString

Output only. Time this guest policy was created. Corresponds to the JSON property createTime

Returns:

  • (String)


614
615
616
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 614

def create_time
  @create_time
end

#descriptionString

Description of the guest policy. Length of the description is limited to 1024 characters. Corresponds to the JSON property description

Returns:

  • (String)


620
621
622
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 620

def description
  @description
end

#etagString

The etag for this guest policy. If this is provided on update, it must match the server's etag. Corresponds to the JSON property etag

Returns:

  • (String)


626
627
628
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 626

def etag
  @etag
end

#nameString

Required. Unique name of the resource in this project using one of the following forms: projects/project_number/guestPolicies/guest_policy_id`. Corresponds to the JSON propertyname`

Returns:

  • (String)


634
635
636
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 634

def name
  @name
end

#package_repositoriesArray<Google::Apis::OsconfigV1beta::PackageRepository>

A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available. Corresponds to the JSON property packageRepositories



642
643
644
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 642

def package_repositories
  @package_repositories
end

#packagesArray<Google::Apis::OsconfigV1beta::Package>

The software packages to be managed by this policy. Corresponds to the JSON property packages



647
648
649
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 647

def packages
  @packages
end

#recipesArray<Google::Apis::OsconfigV1beta::SoftwareRecipe>

A list of Recipes to install on the VM instance. Corresponds to the JSON property recipes



652
653
654
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 652

def recipes
  @recipes
end

#update_timeString

Output only. Last time this guest policy was updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


657
658
659
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 657

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



664
665
666
667
668
669
670
671
672
673
674
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 664

def update!(**args)
  @assignment = args[:assignment] if args.key?(:assignment)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @etag = args[:etag] if args.key?(:etag)
  @name = args[:name] if args.key?(:name)
  @package_repositories = args[:package_repositories] if args.key?(:package_repositories)
  @packages = args[:packages] if args.key?(:packages)
  @recipes = args[:recipes] if args.key?(:recipes)
  @update_time = args[:update_time] if args.key?(:update_time)
end