generated/google/apis/osconfig_v1beta/classes.rb in google-api-client-0.43.0 vs generated/google/apis/osconfig_v1beta/classes.rb in google-api-client-0.44.0
- old
+ new
@@ -20,13 +20,12 @@
module Google
module Apis
module OsconfigV1beta
- # Represents a single Apt package repository. This repository is added to
- # a repo file that is stored at
- # `/etc/apt/sources.list.d/google_osconfig.list`.
+ # Represents a single Apt package repository. This repository is added to a repo
+ # file that is stored at `/etc/apt/sources.list.d/google_osconfig.list`.
class AptRepository
include Google::Apis::Core::Hashable
# Type of archive files in this repository. The default behavior is DEB.
# Corresponds to the JSON property `archiveType`
@@ -42,13 +41,13 @@
# Required. Distribution of this repository.
# Corresponds to the JSON property `distribution`
# @return [String]
attr_accessor :distribution
- # URI of the key file for this repository. The agent maintains
- # a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg` containing
- # all the keys in any applied guest policy.
+ # URI of the key file for this repository. The agent maintains a keyring at `/
+ # etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg` containing all the keys in
+ # any applied guest policy.
# Corresponds to the JSON property `gpgKey`
# @return [String]
attr_accessor :gpg_key
# Required. URI for this repository.
@@ -68,30 +67,29 @@
@gpg_key = args[:gpg_key] if args.key?(:gpg_key)
@uri = args[:uri] if args.key?(:uri)
end
end
- # Apt patching is completed by executing `apt-get update && apt-get
- # upgrade`. Additional options can be set to control how this is executed.
+ # Apt patching is completed by executing `apt-get update && apt-get upgrade`.
+ # Additional options can be set to control how this is executed.
class AptSettings
include Google::Apis::Core::Hashable
# List of packages to exclude from update. These packages will be excluded
# Corresponds to the JSON property `excludes`
# @return [Array<String>]
attr_accessor :excludes
- # An exclusive list of packages to be updated. These are the only packages
- # that will be updated. If these packages are not installed, they will be
- # ignored. This field cannot be specified with any other patch configuration
- # fields.
+ # An exclusive list of packages to be updated. These are the only packages that
+ # will be updated. If these packages are not installed, they will be ignored.
+ # This field cannot be specified with any other patch configuration fields.
# Corresponds to the JSON property `exclusivePackages`
# @return [Array<String>]
attr_accessor :exclusive_packages
- # By changing the type to DIST, the patching is performed
- # using `apt-get dist-upgrade` instead.
+ # By changing the type to DIST, the patching is performed using `apt-get dist-
+ # upgrade` instead.
# Corresponds to the JSON property `type`
# @return [String]
attr_accessor :type
def initialize(**args)
@@ -105,55 +103,49 @@
@type = args[:type] if args.key?(:type)
end
end
# 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.
+ # 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.
class Assignment
include Google::Apis::Core::Hashable
- # Targets instances matching at least one of these label sets. This allows
- # an assignment to target disparate groups, for example "env=prod or
- # env=staging".
+ # Targets instances matching at least one of these label sets. This allows an
+ # assignment to target disparate groups, for example "env=prod or env=staging".
# Corresponds to the JSON property `groupLabels`
# @return [Array<Google::Apis::OsconfigV1beta::AssignmentGroupLabel>]
attr_accessor :group_labels
- # Targets VM instances whose name starts with one of these prefixes.
- # Like labels, this is another way to group VM instances when targeting
- # configs, for example prefix="prod-".
- # Only supported for project-level policies.
+ # Targets VM instances whose name starts with one of these prefixes. Like labels,
+ # this is another way to group VM instances when targeting configs, for example
+ # prefix="prod-". Only supported for project-level policies.
# Corresponds to the JSON property `instanceNamePrefixes`
# @return [Array<String>]
attr_accessor :instance_name_prefixes
- # Targets any of the instances specified. Instances are specified by their
- # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.
- # Instance targeting is uncommon and is supported to facilitate the
- # management of changes by the instance or to target specific VM instances
- # for development and testing.
- # Only supported for project-level policies and must reference instances
- # within this project.
+ # Targets any of the instances specified. Instances are specified by their URI
+ # in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`. Instance targeting is
+ # uncommon and is supported to facilitate the management of changes by the
+ # instance or to target specific VM instances for development and testing. Only
+ # supported for project-level policies and must reference instances within this
+ # project.
# Corresponds to the JSON property `instances`
# @return [Array<String>]
attr_accessor :instances
- # Targets VM instances matching at least one of the following OS types.
- # VM instances must match all supplied criteria for a given OsType to be
- # included.
+ # Targets VM instances matching at least one of the following OS types. VM
+ # instances must match all supplied criteria for a given OsType to be included.
# Corresponds to the JSON property `osTypes`
# @return [Array<Google::Apis::OsconfigV1beta::AssignmentOsType>]
attr_accessor :os_types
- # Targets instances in any of these zones. Leave empty to target instances
- # in any zone.
- # Zonal targeting is uncommon and is supported to facilitate the management
- # of changes by zone.
+ # Targets instances in any of these zones. Leave empty to target instances in
+ # any zone. Zonal targeting is uncommon and is supported to facilitate the
+ # management of changes by zone.
# Corresponds to the JSON property `zones`
# @return [Array<String>]
attr_accessor :zones
def initialize(**args)
@@ -168,17 +160,17 @@
@os_types = args[:os_types] if args.key?(:os_types)
@zones = args[:zones] if args.key?(:zones)
end
end
- # Represents a group of VM intances that can be identified as having all
- # these labels, for example "env=prod and app=web".
+ # Represents a group of VM intances that can be identified as having all these
+ # labels, for example "env=prod and app=web".
class AssignmentGroupLabel
include Google::Apis::Core::Hashable
- # Google Compute Engine instance labels that must be present for an
- # instance to be included in this assignment group.
+ # Google Compute Engine instance labels that must be present for an instance to
+ # be included in this assignment group.
# Corresponds to the JSON property `labels`
# @return [Hash<String,String>]
attr_accessor :labels
def initialize(**args)
@@ -193,18 +185,18 @@
# Defines the criteria for selecting VM Instances by OS type.
class AssignmentOsType
include Google::Apis::Core::Hashable
- # Targets VM instances with OS Inventory enabled and having the following
- # OS architecture.
+ # Targets VM instances with OS Inventory enabled and having the following OS
+ # architecture.
# Corresponds to the JSON property `osArchitecture`
# @return [String]
attr_accessor :os_architecture
- # Targets VM instances with OS Inventory enabled and having the following
- # OS short name, for example "debian" or "windows".
+ # Targets VM instances with OS Inventory enabled and having the following OS
+ # short name, for example "debian" or "windows".
# Corresponds to the JSON property `osShortName`
# @return [String]
attr_accessor :os_short_name
# Targets VM instances with OS Inventory enabled and having the following
@@ -271,27 +263,20 @@
# A guest policy package including its source.
class EffectiveGuestPolicySourcedPackage
include Google::Apis::Core::Hashable
- # Package is a reference to the software package to be installed or removed.
- # The agent on the VM instance uses the system package manager to apply the
- # config.
- # These are the commands that the agent uses to install or remove
- # packages.
- # Apt
+ # Package is a reference to the software package to be installed or removed. The
+ # agent on the VM instance uses the system package manager to apply the config.
+ # These are the commands that the agent uses to install or remove packages. Apt
# install: `apt-get update && apt-get -y install package1 package2 package3`
- # remove: `apt-get -y remove package1 package2 package3`
- # Yum
- # install: `yum -y install package1 package2 package3`
- # remove: `yum -y remove package1 package2 package3`
- # Zypper
- # install: `zypper install package1 package2 package3`
- # remove: `zypper rm package1 package2`
- # Googet
- # install: `googet -noconfirm install package1 package2 package3`
- # remove: `googet -noconfirm remove package1 package2 package3`
+ # remove: `apt-get -y remove package1 package2 package3` Yum install: `yum -y
+ # install package1 package2 package3` remove: `yum -y remove package1 package2
+ # package3` Zypper install: `zypper install package1 package2 package3` remove: `
+ # zypper rm package1 package2` Googet install: `googet -noconfirm install
+ # package1 package2 package3` remove: `googet -noconfirm remove package1
+ # package2 package3`
# Corresponds to the JSON property `package`
# @return [Google::Apis::OsconfigV1beta::Package]
attr_accessor :package
# Name of the guest policy providing this config.
@@ -338,26 +323,21 @@
# A guest policy recipe including its source.
class EffectiveGuestPolicySourcedSoftwareRecipe
include Google::Apis::Core::Hashable
# A software recipe is a set of instructions for installing and configuring a
- # piece of software. It consists of a set of artifacts that are
- # downloaded, and a set of steps that install, configure, and/or update the
- # software.
- # Recipes support installing and updating software from artifacts in the
- # following formats:
- # Zip archive, Tar archive, Windows MSI, Debian package, and RPM package.
- # Additionally, recipes support executing a script (either defined in a file or
- # directly in this api) in bash, sh, cmd, and powershell.
- # Updating a software recipe
- # If a recipe is assigned to an instance and there is a recipe with the same
- # name but a lower version already installed and the assigned state
- # of the recipe is `UPDATED`, then the recipe is updated to
- # the new version.
- # Script Working Directories
- # Each script or execution step is run in its own temporary directory which
- # is deleted after completing the step.
+ # piece of software. It consists of a set of artifacts that are downloaded, and
+ # a set of steps that install, configure, and/or update the software. Recipes
+ # support installing and updating software from artifacts in the following
+ # formats: Zip archive, Tar archive, Windows MSI, Debian package, and RPM
+ # package. Additionally, recipes support executing a script (either defined in a
+ # file or directly in this api) in bash, sh, cmd, and powershell. Updating a
+ # software recipe If a recipe is assigned to an instance and there is a recipe
+ # with the same name but a lower version already installed and the assigned
+ # state of the recipe is `UPDATED`, then the recipe is updated to the new
+ # version. Script Working Directories Each script or execution step is run in
+ # its own temporary directory which is deleted after completing the step.
# Corresponds to the JSON property `softwareRecipe`
# @return [Google::Apis::OsconfigV1beta::SoftwareRecipe]
attr_accessor :software_recipe
# Name of the guest policy providing this config.
@@ -374,17 +354,15 @@
@software_recipe = args[:software_recipe] if args.key?(:software_recipe)
@source = args[:source] if args.key?(:source)
end
end
- # A generic empty message that you can re-use to avoid defining duplicated
- # empty messages in your APIs. A typical example is to use it as the request
- # or the response type of an API method. For instance:
- # service Foo `
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
- # `
- # The JSON representation for `Empty` is empty JSON object ````.
+ # A generic empty message that you can re-use to avoid defining duplicated empty
+ # messages in your APIs. A typical example is to use it as the request or the
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
+ # `Empty` is empty JSON object ````.
class Empty
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
@@ -393,10 +371,78 @@
# Update properties of this object
def update!(**args)
end
end
+ # A resource that contains custom validation and enforcement steps.
+ class ExecResource
+ include Google::Apis::Core::Hashable
+
+ # A file or script to execute.
+ # Corresponds to the JSON property `enforce`
+ # @return [Google::Apis::OsconfigV1beta::ExecResourceExec]
+ attr_accessor :enforce
+
+ # A file or script to execute.
+ # Corresponds to the JSON property `validate`
+ # @return [Google::Apis::OsconfigV1beta::ExecResourceExec]
+ attr_accessor :validate
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @enforce = args[:enforce] if args.key?(:enforce)
+ @validate = args[:validate] if args.key?(:validate)
+ end
+ end
+
+ # A file or script to execute.
+ class ExecResourceExec
+ include Google::Apis::Core::Hashable
+
+ # Exit codes that indicate success.
+ # Corresponds to the JSON property `allowedSuccessCodes`
+ # @return [Array<Fixnum>]
+ attr_accessor :allowed_success_codes
+
+ # Arguments to use.
+ # Corresponds to the JSON property `args`
+ # @return [Array<String>]
+ attr_accessor :args
+
+ # A remote or local file.
+ # Corresponds to the JSON property `file`
+ # @return [Google::Apis::OsconfigV1beta::File]
+ attr_accessor :file
+
+ # The script interpreter to use.
+ # Corresponds to the JSON property `interpreter`
+ # @return [String]
+ attr_accessor :interpreter
+
+ # An inline script.
+ # Corresponds to the JSON property `script`
+ # @return [String]
+ attr_accessor :script
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @allowed_success_codes = args[:allowed_success_codes] if args.key?(:allowed_success_codes)
+ @args = args[:args] if args.key?(:args)
+ @file = args[:file] if args.key?(:file)
+ @interpreter = args[:interpreter] if args.key?(:interpreter)
+ @script = args[:script] if args.key?(:script)
+ end
+ end
+
# A step that runs an executable for a PatchJob.
class ExecStep
include Google::Apis::Core::Hashable
# Common configurations for an ExecStep.
@@ -422,25 +468,25 @@
# Common configurations for an ExecStep.
class ExecStepConfig
include Google::Apis::Core::Hashable
- # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
+ # Defaults to [0]. A list of possible return values that the execution can
+ # return to indicate a success.
# Corresponds to the JSON property `allowedSuccessCodes`
# @return [Array<Fixnum>]
attr_accessor :allowed_success_codes
# Google Cloud Storage object representation.
# Corresponds to the JSON property `gcsObject`
# @return [Google::Apis::OsconfigV1beta::GcsObject]
attr_accessor :gcs_object
# The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ # specified the script will be executed directly, which will likely only succeed
+ # for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\
+ # )).
# Corresponds to the JSON property `interpreter`
# @return [String]
attr_accessor :interpreter
# An absolute path to the executable on the VM.
@@ -463,44 +509,41 @@
# A request message to initiate patching across Compute Engine instances.
class ExecutePatchJobRequest
include Google::Apis::Core::Hashable
- # Description of the patch job. Length of the description is limited
- # to 1024 characters.
+ # Description of the patch job. Length of the description is limited to 1024
+ # characters.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
# Display name for this patch job. This does not have to be unique.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
- # If this patch is a dry-run only, instances are contacted but
- # will do nothing.
+ # If this patch is a dry-run only, instances are contacted but will do nothing.
# Corresponds to the JSON property `dryRun`
# @return [Boolean]
attr_accessor :dry_run
alias_method :dry_run?, :dry_run
- # Duration of the patch job. After the duration ends, the patch job
- # times out.
+ # Duration of the patch job. After the duration ends, the patch job times out.
# Corresponds to the JSON property `duration`
# @return [String]
attr_accessor :duration
- # A filter to target VM instances for patching. The targeted
- # VMs must meet all criteria specified. So if both labels and zones are
- # specified, the patch job targets only VMs with those labels and in those
- # zones.
+ # A filter to target VM instances for patching. The targeted VMs must meet all
+ # criteria specified. So if both labels and zones are specified, the patch job
+ # targets only VMs with those labels and in those zones.
# Corresponds to the JSON property `instanceFilter`
# @return [Google::Apis::OsconfigV1beta::PatchInstanceFilter]
attr_accessor :instance_filter
- # Patch configuration specifications. Contains details on how to apply the
- # patch(es) to a VM instance.
+ # Patch configuration specifications. Contains details on how to apply the patch(
+ # es) to a VM instance.
# Corresponds to the JSON property `patchConfig`
# @return [Google::Apis::OsconfigV1beta::PatchConfig]
attr_accessor :patch_config
# Patch rollout configuration specifications. Contains details on the
@@ -523,22 +566,216 @@
@patch_config = args[:patch_config] if args.key?(:patch_config)
@rollout = args[:rollout] if args.key?(:rollout)
end
end
+ # A resource that extracts an archive
+ class ExtractArchiveResource
+ include Google::Apis::Core::Hashable
+
+ # Local file path that signals this resource is in the desired state. The
+ # absence of this file will indicate whether the archive needs to be extracted.
+ # Corresponds to the JSON property `creates`
+ # @return [String]
+ attr_accessor :creates
+
+ # Directory to extract archive to.
+ # Corresponds to the JSON property `destination`
+ # @return [String]
+ attr_accessor :destination
+
+ # Whether to overwrite existing files during extraction. If this is set to true,
+ # any existing files in the destination location will be overwritten by the
+ # extraction.
+ # Corresponds to the JSON property `overwrite`
+ # @return [Boolean]
+ attr_accessor :overwrite
+ alias_method :overwrite?, :overwrite
+
+ # A remote or local file.
+ # Corresponds to the JSON property `source`
+ # @return [Google::Apis::OsconfigV1beta::File]
+ attr_accessor :source
+
+ # The type of the archive to extract.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @creates = args[:creates] if args.key?(:creates)
+ @destination = args[:destination] if args.key?(:destination)
+ @overwrite = args[:overwrite] if args.key?(:overwrite)
+ @source = args[:source] if args.key?(:source)
+ @type = args[:type] if args.key?(:type)
+ end
+ end
+
+ # A remote or local file.
+ class File
+ include Google::Apis::Core::Hashable
+
+ # Defaults to false. When false, files will be subject to validations based on
+ # the file type: Remote: A checksum must be specified. GCS: An object generation
+ # number must be specified.
+ # Corresponds to the JSON property `allowInsecure`
+ # @return [Boolean]
+ attr_accessor :allow_insecure
+ alias_method :allow_insecure?, :allow_insecure
+
+ # Specifies a file available as a GCS Object.
+ # Corresponds to the JSON property `gcs`
+ # @return [Google::Apis::OsconfigV1beta::FileGcs]
+ attr_accessor :gcs
+
+ # A local path to use.
+ # Corresponds to the JSON property `localPath`
+ # @return [String]
+ attr_accessor :local_path
+
+ # Specifies a file available via some URI.
+ # Corresponds to the JSON property `remote`
+ # @return [Google::Apis::OsconfigV1beta::FileRemote]
+ attr_accessor :remote
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @allow_insecure = args[:allow_insecure] if args.key?(:allow_insecure)
+ @gcs = args[:gcs] if args.key?(:gcs)
+ @local_path = args[:local_path] if args.key?(:local_path)
+ @remote = args[:remote] if args.key?(:remote)
+ end
+ end
+
+ # Specifies a file available as a GCS Object.
+ class FileGcs
+ include Google::Apis::Core::Hashable
+
+ # Bucket of the GCS object.
+ # Corresponds to the JSON property `bucket`
+ # @return [String]
+ attr_accessor :bucket
+
+ # Generation number of the GCS object.
+ # Corresponds to the JSON property `generation`
+ # @return [Fixnum]
+ attr_accessor :generation
+
+ # Name of the GCS object.
+ # Corresponds to the JSON property `object`
+ # @return [String]
+ attr_accessor :object
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @bucket = args[:bucket] if args.key?(:bucket)
+ @generation = args[:generation] if args.key?(:generation)
+ @object = args[:object] if args.key?(:object)
+ end
+ end
+
+ # Specifies a file available via some URI.
+ class FileRemote
+ include Google::Apis::Core::Hashable
+
+ # SHA256 checksum of the remote file.
+ # Corresponds to the JSON property `sha256Checksum`
+ # @return [String]
+ attr_accessor :sha256_checksum
+
+ # URI from which to fetch the object. It should contain both the protocol and
+ # path following the format `protocol`://`location`.
+ # Corresponds to the JSON property `uri`
+ # @return [String]
+ attr_accessor :uri
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @sha256_checksum = args[:sha256_checksum] if args.key?(:sha256_checksum)
+ @uri = args[:uri] if args.key?(:uri)
+ end
+ end
+
+ # A resource that manages the state of a file.
+ class FileResource
+ include Google::Apis::Core::Hashable
+
+ # A a file with this content.
+ # Corresponds to the JSON property `content`
+ # @return [String]
+ attr_accessor :content
+
+ # A remote or local file.
+ # Corresponds to the JSON property `file`
+ # @return [Google::Apis::OsconfigV1beta::File]
+ attr_accessor :file
+
+ # The absolute path of the file.
+ # Corresponds to the JSON property `path`
+ # @return [String]
+ attr_accessor :path
+
+ # Consists of three octal digits which represent, in order, the permissions of
+ # the owner, group, and other users for the file (similarly to the numeric mode
+ # used in the linux chmod utility). Each digit represents a three bit number
+ # with the 4 bit corresponding to the read permissions, the 2 bit corresponds to
+ # the write bit, and the one bit corresponds to the execute permission. Default
+ # behavior is 755. Below are some examples of permissions and their associated
+ # values: read, write, and execute: 7 read and execute: 5 read and write: 6 read
+ # only: 4
+ # Corresponds to the JSON property `permissions`
+ # @return [String]
+ attr_accessor :permissions
+
+ # Desired state of the file.
+ # Corresponds to the JSON property `state`
+ # @return [String]
+ attr_accessor :state
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @content = args[:content] if args.key?(:content)
+ @file = args[:file] if args.key?(:file)
+ @path = args[:path] if args.key?(:path)
+ @permissions = args[:permissions] if args.key?(:permissions)
+ @state = args[:state] if args.key?(:state)
+ end
+ end
+
# Message encapsulating a value that can be either absolute ("fixed") or
# relative ("percent") to a value.
class FixedOrPercent
include Google::Apis::Core::Hashable
# Specifies a fixed value.
# Corresponds to the JSON property `fixed`
# @return [Fixnum]
attr_accessor :fixed
- # Specifies the relative value defined as a percentage, which will be
- # multiplied by a reference value.
+ # Specifies the relative value defined as a percentage, which will be multiplied
+ # by a reference value.
# Corresponds to the JSON property `percent`
# @return [Fixnum]
attr_accessor :percent
def initialize(**args)
@@ -560,12 +797,11 @@
# Corresponds to the JSON property `bucket`
# @return [String]
attr_accessor :bucket
# Required. Generation number of the Google Cloud Storage object. This is used
- # to
- # ensure that the ExecStep specified by this PatchJob does not change.
+ # to ensure that the ExecStep specified by this PatchJob does not change.
# Corresponds to the JSON property `generationNumber`
# @return [Fixnum]
attr_accessor :generation_number
# Required. Name of the Google Cloud Storage object.
@@ -583,12 +819,12 @@
@generation_number = args[:generation_number] if args.key?(:generation_number)
@object = args[:object] if args.key?(:object)
end
end
- # Represents a Goo package repository. These is added to a repo file
- # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
+ # Represents a Goo package repository. These is added to a repo file that is
+ # stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
class GooRepository
include Google::Apis::Core::Hashable
# Required. The name of the repository.
# Corresponds to the JSON property `name`
@@ -630,48 +866,45 @@
# and software to install.
class GuestPolicy
include Google::Apis::Core::Hashable
# 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.
+ # 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`
# @return [Google::Apis::OsconfigV1beta::Assignment]
attr_accessor :assignment
# Output only. Time this guest policy was created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
- # Description of the guest policy. Length of the description is limited
- # to 1024 characters.
+ # Description of the guest policy. Length of the description is limited to 1024
+ # characters.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
- # The etag for this guest policy.
- # If this is provided on update, it must match the server's etag.
+ # 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`
# @return [String]
attr_accessor :etag
# Required. Unique name of the resource in this project using one of the
- # following
- # forms:
- # `projects/`project_number`/guestPolicies/`guest_policy_id``.
+ # following forms: `projects/`project_number`/guestPolicies/`guest_policy_id``.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
- # 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.
+ # 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`
# @return [Array<Google::Apis::OsconfigV1beta::PackageRepository>]
attr_accessor :package_repositories
# The software packages to be managed by this policy.
@@ -714,12 +947,11 @@
# The list of GuestPolicies.
# Corresponds to the JSON property `guestPolicies`
# @return [Array<Google::Apis::OsconfigV1beta::GuestPolicy>]
attr_accessor :guest_policies
- # A pagination token that can be used to get the next page
- # of guest policies.
+ # A pagination token that can be used to get the next page of guest policies.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
@@ -735,12 +967,11 @@
# A response message for listing patch deployments.
class ListPatchDeploymentsResponse
include Google::Apis::Core::Hashable
- # A pagination token that can be used to get the next page of patch
- # deployments.
+ # A pagination token that can be used to get the next page of patch deployments.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# The list of patch deployments.
@@ -812,27 +1043,24 @@
# A request message for getting the effective guest policy assigned to the
# instance.
class LookupEffectiveGuestPolicyRequest
include Google::Apis::Core::Hashable
- # Architecture of OS running on the instance. The OS Config agent only
- # provides this field for targeting if OS Inventory is enabled for that
- # instance.
+ # Architecture of OS running on the instance. The OS Config agent only provides
+ # this field for targeting if OS Inventory is enabled for that instance.
# Corresponds to the JSON property `osArchitecture`
# @return [String]
attr_accessor :os_architecture
# Short name of the OS running on the instance. The OS Config agent only
- # provides this field for targeting if OS Inventory is enabled for that
- # instance.
+ # provides this field for targeting if OS Inventory is enabled for that instance.
# Corresponds to the JSON property `osShortName`
# @return [String]
attr_accessor :os_short_name
- # Version of the OS running on the instance. The OS Config agent only
- # provides this field for targeting if OS Inventory is enabled for that
- # VM instance.
+ # Version of the OS running on the instance. The OS Config agent only provides
+ # this field for targeting if OS Inventory is enabled for that VM instance.
# Corresponds to the JSON property `osVersion`
# @return [String]
attr_accessor :os_version
def initialize(**args)
@@ -845,19 +1073,19 @@
@os_short_name = args[:os_short_name] if args.key?(:os_short_name)
@os_version = args[:os_version] if args.key?(:os_version)
end
end
- # Represents a monthly schedule. An example of a valid monthly schedule is
- # "on the third Tuesday of the month" or "on the 15th of the month".
+ # Represents a monthly schedule. An example of a valid monthly schedule is "on
+ # the third Tuesday of the month" or "on the 15th of the month".
class MonthlySchedule
include Google::Apis::Core::Hashable
# Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1
- # indicates the last day of the month.
- # Months without the target day will be skipped. For example, a schedule to
- # run "every month on the 31st" will not run in February, April, June, etc.
+ # indicates the last day of the month. Months without the target day will be
+ # skipped. For example, a schedule to run "every month on the 31st" will not run
+ # in February, April, June, etc.
# Corresponds to the JSON property `monthDay`
# @return [Fixnum]
attr_accessor :month_day
# Represents one week day in a month. An example is "the 4th Sunday".
@@ -874,12 +1102,12 @@
@month_day = args[:month_day] if args.key?(:month_day)
@week_day_of_month = args[:week_day_of_month] if args.key?(:week_day_of_month)
end
end
- # Sets the time for a one time patch deployment. Timestamp is in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ # Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https:
+ # //www.ietf.org/rfc/rfc3339.txt) text format.
class OneTimeSchedule
include Google::Apis::Core::Hashable
# Required. The desired patch job execution time.
# Corresponds to the JSON property `executeTime`
@@ -894,51 +1122,41 @@
def update!(**args)
@execute_time = args[:execute_time] if args.key?(:execute_time)
end
end
- # Package is a reference to the software package to be installed or removed.
- # The agent on the VM instance uses the system package manager to apply the
- # config.
- # These are the commands that the agent uses to install or remove
- # packages.
- # Apt
+ # Package is a reference to the software package to be installed or removed. The
+ # agent on the VM instance uses the system package manager to apply the config.
+ # These are the commands that the agent uses to install or remove packages. Apt
# install: `apt-get update && apt-get -y install package1 package2 package3`
- # remove: `apt-get -y remove package1 package2 package3`
- # Yum
- # install: `yum -y install package1 package2 package3`
- # remove: `yum -y remove package1 package2 package3`
- # Zypper
- # install: `zypper install package1 package2 package3`
- # remove: `zypper rm package1 package2`
- # Googet
- # install: `googet -noconfirm install package1 package2 package3`
- # remove: `googet -noconfirm remove package1 package2 package3`
+ # remove: `apt-get -y remove package1 package2 package3` Yum install: `yum -y
+ # install package1 package2 package3` remove: `yum -y remove package1 package2
+ # package3` Zypper install: `zypper install package1 package2 package3` remove: `
+ # zypper rm package1 package2` Googet install: `googet -noconfirm install
+ # package1 package2 package3` remove: `googet -noconfirm remove package1
+ # package2 package3`
class Package
include Google::Apis::Core::Hashable
- # The desired_state the agent should maintain for this package. The
- # default is to ensure the package is installed.
+ # The desired_state the agent should maintain for this package. The default is
+ # to ensure the package is installed.
# Corresponds to the JSON property `desiredState`
# @return [String]
attr_accessor :desired_state
- # Type of package manager that can be used to install this package.
- # If a system does not have the package manager, the package is not
- # installed or removed no error message is returned. By default,
- # or if you specify `ANY`,
- # the agent attempts to install and remove this package using the default
- # package manager. This is useful when creating a policy that applies to
- # different types of systems.
- # The default behavior is ANY.
+ # Type of package manager that can be used to install this package. If a system
+ # does not have the package manager, the package is not installed or removed no
+ # error message is returned. By default, or if you specify `ANY`, the agent
+ # attempts to install and remove this package using the default package manager.
+ # This is useful when creating a policy that applies to different types of
+ # systems. The default behavior is ANY.
# Corresponds to the JSON property `manager`
# @return [String]
attr_accessor :manager
# Required. The name of the package. A package is uniquely identified for
- # conflict
- # validation by checking the package name and the manager(s) that the
+ # conflict validation by checking the package name and the manager(s) that the
# package targets.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
@@ -956,25 +1174,24 @@
# A package repository.
class PackageRepository
include Google::Apis::Core::Hashable
- # Represents a single Apt package repository. This repository is added to
- # a repo file that is stored at
- # `/etc/apt/sources.list.d/google_osconfig.list`.
+ # Represents a single Apt package repository. This repository is added to a repo
+ # file that is stored at `/etc/apt/sources.list.d/google_osconfig.list`.
# Corresponds to the JSON property `apt`
# @return [Google::Apis::OsconfigV1beta::AptRepository]
attr_accessor :apt
- # Represents a Goo package repository. These is added to a repo file
- # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
+ # Represents a Goo package repository. These is added to a repo file that is
+ # stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
# Corresponds to the JSON property `goo`
# @return [Google::Apis::OsconfigV1beta::GooRepository]
attr_accessor :goo
- # Represents a single Yum package repository. This repository is added to a
- # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
+ # Represents a single Yum package repository. This repository is added to a repo
+ # file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
# Corresponds to the JSON property `yum`
# @return [Google::Apis::OsconfigV1beta::YumRepository]
attr_accessor :yum
# Represents a single Zypper package repository. This repository is added to a
@@ -994,17 +1211,253 @@
@yum = args[:yum] if args.key?(:yum)
@zypper = args[:zypper] if args.key?(:zypper)
end
end
- # Patch configuration specifications. Contains details on how to apply the
- # patch(es) to a VM instance.
+ # A resource that manages a system package.
+ class PackageResource
+ include Google::Apis::Core::Hashable
+
+ # A package managed by APT. install: `apt-get update && apt-get -y install [name]
+ # ` remove: `apt-get -y remove [name]`
+ # Corresponds to the JSON property `apt`
+ # @return [Google::Apis::OsconfigV1beta::PackageResourceApt]
+ attr_accessor :apt
+
+ # A deb package file. dpkg packages only support INSTALLED state.
+ # Corresponds to the JSON property `deb`
+ # @return [Google::Apis::OsconfigV1beta::PackageResourceDeb]
+ attr_accessor :deb
+
+ # The desired_state the agent should maintain for this package. The default is
+ # to ensure the package is installed.
+ # Corresponds to the JSON property `desiredState`
+ # @return [String]
+ attr_accessor :desired_state
+
+ # A package managed by GooGet. install: `googet -noconfirm install package`
+ # remove: `googet -noconfirm remove package`
+ # Corresponds to the JSON property `googet`
+ # @return [Google::Apis::OsconfigV1beta::PackageResourceGooGet]
+ attr_accessor :googet
+
+ # An MSI package. MSI packages only support INSTALLED state. Install msiexec /i /
+ # qn /norestart
+ # Corresponds to the JSON property `msi`
+ # @return [Google::Apis::OsconfigV1beta::PackageResourceMsi]
+ attr_accessor :msi
+
+ # An RPM package file. RPM packages only support INSTALLED state.
+ # Corresponds to the JSON property `rpm`
+ # @return [Google::Apis::OsconfigV1beta::PackageResourceRpm]
+ attr_accessor :rpm
+
+ # A package managed by YUM. install: `yum -y install package` remove: `yum -y
+ # remove package`
+ # Corresponds to the JSON property `yum`
+ # @return [Google::Apis::OsconfigV1beta::PackageResourceYum]
+ attr_accessor :yum
+
+ # A package managed by Zypper. install: `zypper -y install package` remove: `
+ # zypper -y rm package`
+ # Corresponds to the JSON property `zypper`
+ # @return [Google::Apis::OsconfigV1beta::PackageResourceZypper]
+ attr_accessor :zypper
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @apt = args[:apt] if args.key?(:apt)
+ @deb = args[:deb] if args.key?(:deb)
+ @desired_state = args[:desired_state] if args.key?(:desired_state)
+ @googet = args[:googet] if args.key?(:googet)
+ @msi = args[:msi] if args.key?(:msi)
+ @rpm = args[:rpm] if args.key?(:rpm)
+ @yum = args[:yum] if args.key?(:yum)
+ @zypper = args[:zypper] if args.key?(:zypper)
+ end
+ end
+
+ # A package managed by APT. install: `apt-get update && apt-get -y install [name]
+ # ` remove: `apt-get -y remove [name]`
+ class PackageResourceApt
+ include Google::Apis::Core::Hashable
+
+ # Package name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # A deb package file. dpkg packages only support INSTALLED state.
+ class PackageResourceDeb
+ include Google::Apis::Core::Hashable
+
+ # Whether dependencies should also be installed. install when false: `dpkg -i
+ # package` install when true: `apt-get update && apt-get -y install package.deb`
+ # Corresponds to the JSON property `pullDeps`
+ # @return [Boolean]
+ attr_accessor :pull_deps
+ alias_method :pull_deps?, :pull_deps
+
+ # A remote or local file.
+ # Corresponds to the JSON property `source`
+ # @return [Google::Apis::OsconfigV1beta::File]
+ attr_accessor :source
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @pull_deps = args[:pull_deps] if args.key?(:pull_deps)
+ @source = args[:source] if args.key?(:source)
+ end
+ end
+
+ # A package managed by GooGet. install: `googet -noconfirm install package`
+ # remove: `googet -noconfirm remove package`
+ class PackageResourceGooGet
+ include Google::Apis::Core::Hashable
+
+ # Package name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # An MSI package. MSI packages only support INSTALLED state. Install msiexec /i /
+ # qn /norestart
+ class PackageResourceMsi
+ include Google::Apis::Core::Hashable
+
+ # Return codes that indicate that the software installed or updated successfully.
+ # Behaviour defaults to [0]
+ # Corresponds to the JSON property `allowedSuccessCodes`
+ # @return [Array<Fixnum>]
+ attr_accessor :allowed_success_codes
+
+ # Flags to use during package install. Appended to the defalts of "/i /qn /
+ # norestart"
+ # Corresponds to the JSON property `flags`
+ # @return [Array<String>]
+ attr_accessor :flags
+
+ # A remote or local file.
+ # Corresponds to the JSON property `source`
+ # @return [Google::Apis::OsconfigV1beta::File]
+ attr_accessor :source
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @allowed_success_codes = args[:allowed_success_codes] if args.key?(:allowed_success_codes)
+ @flags = args[:flags] if args.key?(:flags)
+ @source = args[:source] if args.key?(:source)
+ end
+ end
+
+ # An RPM package file. RPM packages only support INSTALLED state.
+ class PackageResourceRpm
+ include Google::Apis::Core::Hashable
+
+ # Whether dependencies should also be installed. install when false: `rpm --
+ # upgrade --replacepkgs package.rpm` install when true: `yum -y install package.
+ # rpm` or `zypper -y install package.rpm`
+ # Corresponds to the JSON property `pullDeps`
+ # @return [Boolean]
+ attr_accessor :pull_deps
+ alias_method :pull_deps?, :pull_deps
+
+ # A remote or local file.
+ # Corresponds to the JSON property `source`
+ # @return [Google::Apis::OsconfigV1beta::File]
+ attr_accessor :source
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @pull_deps = args[:pull_deps] if args.key?(:pull_deps)
+ @source = args[:source] if args.key?(:source)
+ end
+ end
+
+ # A package managed by YUM. install: `yum -y install package` remove: `yum -y
+ # remove package`
+ class PackageResourceYum
+ include Google::Apis::Core::Hashable
+
+ # Package name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # A package managed by Zypper. install: `zypper -y install package` remove: `
+ # zypper -y rm package`
+ class PackageResourceZypper
+ include Google::Apis::Core::Hashable
+
+ # Package name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # Patch configuration specifications. Contains details on how to apply the patch(
+ # es) to a VM instance.
class PatchConfig
include Google::Apis::Core::Hashable
- # Apt patching is completed by executing `apt-get update && apt-get
- # upgrade`. Additional options can be set to control how this is executed.
+ # Apt patching is completed by executing `apt-get update && apt-get upgrade`.
+ # Additional options can be set to control how this is executed.
# Corresponds to the JSON property `apt`
# @return [Google::Apis::OsconfigV1beta::AptSettings]
attr_accessor :apt
# Googet patching is performed by running `googet update`.
@@ -1030,19 +1483,19 @@
# Windows patching is performed using the Windows Update Agent.
# Corresponds to the JSON property `windowsUpdate`
# @return [Google::Apis::OsconfigV1beta::WindowsUpdateSettings]
attr_accessor :windows_update
- # Yum patching is performed by executing `yum update`. Additional options
- # can be set to control how this is executed.
- # Note that not all settings are supported on all platforms.
+ # Yum patching is performed by executing `yum update`. Additional options can be
+ # set to control how this is executed. Note that not all settings are supported
+ # on all platforms.
# Corresponds to the JSON property `yum`
# @return [Google::Apis::OsconfigV1beta::YumSettings]
attr_accessor :yum
- # Zypper patching is performed by running `zypper patch`.
- # See also https://en.opensuse.org/SDB:Zypper_manual.
+ # Zypper patching is performed by running `zypper patch`. See also https://en.
+ # opensuse.org/SDB:Zypper_manual.
# Corresponds to the JSON property `zypper`
# @return [Google::Apis::OsconfigV1beta::ZypperSettings]
attr_accessor :zypper
def initialize(**args)
@@ -1063,65 +1516,61 @@
end
# Patch deployments are configurations that individual patch jobs use to
# complete a patch. These configurations include instance filter, package
# repository settings, and a schedule. For more information about creating and
- # managing patch deployments, see [Scheduling patch
- # jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-
- # jobs).
+ # managing patch deployments, see [Scheduling patch jobs](https://cloud.google.
+ # com/compute/docs/os-patch-management/schedule-patch-jobs).
class PatchDeployment
include Google::Apis::Core::Hashable
- # Output only. Time the patch deployment was created. Timestamp is in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ # Output only. Time the patch deployment was created. Timestamp is in [RFC3339](
+ # https://www.ietf.org/rfc/rfc3339.txt) text format.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# Optional. Description of the patch deployment. Length of the description is
- # limited
- # to 1024 characters.
+ # limited to 1024 characters.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
# Optional. Duration of the patch. After the duration ends, the patch times out.
# Corresponds to the JSON property `duration`
# @return [String]
attr_accessor :duration
- # A filter to target VM instances for patching. The targeted
- # VMs must meet all criteria specified. So if both labels and zones are
- # specified, the patch job targets only VMs with those labels and in those
- # zones.
+ # A filter to target VM instances for patching. The targeted VMs must meet all
+ # criteria specified. So if both labels and zones are specified, the patch job
+ # targets only VMs with those labels and in those zones.
# Corresponds to the JSON property `instanceFilter`
# @return [Google::Apis::OsconfigV1beta::PatchInstanceFilter]
attr_accessor :instance_filter
# Output only. The last time a patch job was started by this deployment.
- # Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
- # format.
+ # Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
# Corresponds to the JSON property `lastExecuteTime`
# @return [String]
attr_accessor :last_execute_time
# Unique name for the patch deployment resource in a project. The patch
- # deployment name is in the form:
- # `projects/`project_id`/patchDeployments/`patch_deployment_id``.
- # This field is ignored when you create a new patch deployment.
+ # deployment name is in the form: `projects/`project_id`/patchDeployments/`
+ # patch_deployment_id``. This field is ignored when you create a new patch
+ # deployment.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
- # Sets the time for a one time patch deployment. Timestamp is in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ # Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https:
+ # //www.ietf.org/rfc/rfc3339.txt) text format.
# Corresponds to the JSON property `oneTimeSchedule`
# @return [Google::Apis::OsconfigV1beta::OneTimeSchedule]
attr_accessor :one_time_schedule
- # Patch configuration specifications. Contains details on how to apply the
- # patch(es) to a VM instance.
+ # Patch configuration specifications. Contains details on how to apply the patch(
+ # es) to a VM instance.
# Corresponds to the JSON property `patchConfig`
# @return [Google::Apis::OsconfigV1beta::PatchConfig]
attr_accessor :patch_config
# Sets the time for recurring patch deployments.
@@ -1133,12 +1582,12 @@
# concurrency control when applying patch(es) to all targeted VMs.
# Corresponds to the JSON property `rollout`
# @return [Google::Apis::OsconfigV1beta::PatchRollout]
attr_accessor :rollout
- # Output only. Time the patch deployment was last updated. Timestamp is in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ # Output only. Time the patch deployment was last updated. Timestamp is in [
+ # RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
def initialize(**args)
@@ -1159,14 +1608,13 @@
@rollout = args[:rollout] if args.key?(:rollout)
@update_time = args[:update_time] if args.key?(:update_time)
end
end
- # A filter to target VM instances for patching. The targeted
- # VMs must meet all criteria specified. So if both labels and zones are
- # specified, the patch job targets only VMs with those labels and in those
- # zones.
+ # A filter to target VM instances for patching. The targeted VMs must meet all
+ # criteria specified. So if both labels and zones are specified, the patch job
+ # targets only VMs with those labels and in those zones.
class PatchInstanceFilter
include Google::Apis::Core::Hashable
# Target all VM instances in the project. If true, no other criteria is
# permitted.
@@ -1179,28 +1627,28 @@
# targeting of disparate groups, for example "env=prod or env=staging".
# Corresponds to the JSON property `groupLabels`
# @return [Array<Google::Apis::OsconfigV1beta::PatchInstanceFilterGroupLabel>]
attr_accessor :group_labels
- # Targets VMs whose name starts with one of these prefixes. Similar to
- # labels, this is another way to group VMs when targeting configs, for
- # example prefix="prod-".
+ # Targets VMs whose name starts with one of these prefixes. Similar to labels,
+ # this is another way to group VMs when targeting configs, for example prefix="
+ # prod-".
# Corresponds to the JSON property `instanceNamePrefixes`
# @return [Array<String>]
attr_accessor :instance_name_prefixes
# Targets any of the VM instances specified. Instances are specified by their
- # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
- # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
- # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/
- # instances/[INSTANCE_NAME]`
+ # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`, `projects/[
+ # PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or `https://www.
+ # googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[
+ # INSTANCE_NAME]`
# Corresponds to the JSON property `instances`
# @return [Array<String>]
attr_accessor :instances
- # Targets VM instances in ANY of these zones. Leave empty to target VM
- # instances in any zone.
+ # Targets VM instances in ANY of these zones. Leave empty to target VM instances
+ # in any zone.
# Corresponds to the JSON property `zones`
# @return [Array<String>]
attr_accessor :zones
def initialize(**args)
@@ -1215,17 +1663,17 @@
@instances = args[:instances] if args.key?(:instances)
@zones = args[:zones] if args.key?(:zones)
end
end
- # Represents a group of VMs that can be identified as having all these
- # labels, for example "env=prod and app=web".
+ # Represents a group of VMs that can be identified as having all these labels,
+ # for example "env=prod and app=web".
class PatchInstanceFilterGroupLabel
include Google::Apis::Core::Hashable
- # Compute Engine instance labels that must be present for a VM instance to
- # be targeted by this filter.
+ # Compute Engine instance labels that must be present for a VM instance to be
+ # targeted by this filter.
# Corresponds to the JSON property `labels`
# @return [Hash<String,String>]
attr_accessor :labels
def initialize(**args)
@@ -1236,91 +1684,84 @@
def update!(**args)
@labels = args[:labels] if args.key?(:labels)
end
end
- # A high level representation of a patch job that is either in progress
- # or has completed.
- # Instance details are not included in the job. To paginate through instance
- # details, use `ListPatchJobInstanceDetails`.
- # For more information about patch jobs, see
- # [Creating patch
- # jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-
- # job).
+ # A high level representation of a patch job that is either in progress or has
+ # completed. Instance details are not included in the job. To paginate through
+ # instance details, use `ListPatchJobInstanceDetails`. For more information
+ # about patch jobs, see [Creating patch jobs](https://cloud.google.com/compute/
+ # docs/os-patch-management/create-patch-job).
class PatchJob
include Google::Apis::Core::Hashable
# Time this patch job was created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
- # Description of the patch job. Length of the description is limited
- # to 1024 characters.
+ # Description of the patch job. Length of the description is limited to 1024
+ # characters.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
# Display name for this patch job. This is not a unique identifier.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
- # If this patch job is a dry run, the agent reports that it has
- # finished without running any updates on the VM instance.
+ # If this patch job is a dry run, the agent reports that it has finished without
+ # running any updates on the VM instance.
# Corresponds to the JSON property `dryRun`
# @return [Boolean]
attr_accessor :dry_run
alias_method :dry_run?, :dry_run
- # Duration of the patch job. After the duration ends, the
- # patch job times out.
+ # Duration of the patch job. After the duration ends, the patch job times out.
# Corresponds to the JSON property `duration`
# @return [String]
attr_accessor :duration
- # If this patch job failed, this message provides information about the
- # failure.
+ # If this patch job failed, this message provides information about the failure.
# Corresponds to the JSON property `errorMessage`
# @return [String]
attr_accessor :error_message
- # A summary of the current patch state across all instances that this patch
- # job affects. Contains counts of instances in different states. These states
- # map to `InstancePatchState`. List patch job instance details to see the
- # specific states of each instance.
+ # A summary of the current patch state across all instances that this patch job
+ # affects. Contains counts of instances in different states. These states map to
+ # `InstancePatchState`. List patch job instance details to see the specific
+ # states of each instance.
# Corresponds to the JSON property `instanceDetailsSummary`
# @return [Google::Apis::OsconfigV1beta::PatchJobInstanceDetailsSummary]
attr_accessor :instance_details_summary
- # A filter to target VM instances for patching. The targeted
- # VMs must meet all criteria specified. So if both labels and zones are
- # specified, the patch job targets only VMs with those labels and in those
- # zones.
+ # A filter to target VM instances for patching. The targeted VMs must meet all
+ # criteria specified. So if both labels and zones are specified, the patch job
+ # targets only VMs with those labels and in those zones.
# Corresponds to the JSON property `instanceFilter`
# @return [Google::Apis::OsconfigV1beta::PatchInstanceFilter]
attr_accessor :instance_filter
- # Unique identifier for this patch job in the form
- # `projects/*/patchJobs/*`
+ # Unique identifier for this patch job in the form `projects/*/patchJobs/*`
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
- # Patch configuration specifications. Contains details on how to apply the
- # patch(es) to a VM instance.
+ # Patch configuration specifications. Contains details on how to apply the patch(
+ # es) to a VM instance.
# Corresponds to the JSON property `patchConfig`
# @return [Google::Apis::OsconfigV1beta::PatchConfig]
attr_accessor :patch_config
# Output only. Name of the patch deployment that created this patch job.
# Corresponds to the JSON property `patchDeployment`
# @return [String]
attr_accessor :patch_deployment
- # Reflects the overall progress of the patch job in the range of
- # 0.0 being no progress to 100.0 being complete.
+ # Reflects the overall progress of the patch job in the range of 0.0 being no
+ # progress to 100.0 being complete.
# Corresponds to the JSON property `percentComplete`
# @return [Float]
attr_accessor :percent_complete
# Patch rollout configuration specifications. Contains details on the
@@ -1362,12 +1803,11 @@
@update_time = args[:update_time] if args.key?(:update_time)
end
end
# Patch details for a VM instance. For more information about reviewing VM
- # instance details, see
- # [Listing all VM instance details for a specific patch
+ # instance details, see [Listing all VM instance details for a specific patch
# job](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-
# jobs#list-instance-details).
class PatchJobInstanceDetails
include Google::Apis::Core::Hashable
@@ -1379,12 +1819,12 @@
# If the patch fails, this field provides the reason.
# Corresponds to the JSON property `failureReason`
# @return [String]
attr_accessor :failure_reason
- # The unique identifier for the instance. This identifier is
- # defined by the server.
+ # The unique identifier for the instance. This identifier is defined by the
+ # server.
# Corresponds to the JSON property `instanceSystemId`
# @return [String]
attr_accessor :instance_system_id
# The instance name in the form `projects/*/zones/*/instances/*`
@@ -1409,14 +1849,14 @@
@name = args[:name] if args.key?(:name)
@state = args[:state] if args.key?(:state)
end
end
- # A summary of the current patch state across all instances that this patch
- # job affects. Contains counts of instances in different states. These states
- # map to `InstancePatchState`. List patch job instance details to see the
- # specific states of each instance.
+ # A summary of the current patch state across all instances that this patch job
+ # affects. Contains counts of instances in different states. These states map to
+ # `InstancePatchState`. List patch job instance details to see the specific
+ # states of each instance.
class PatchJobInstanceDetailsSummary
include Google::Apis::Core::Hashable
# Number of instances that have acked and will start shortly.
# Corresponds to the JSON property `ackedInstanceCount`
@@ -1442,12 +1882,12 @@
# Corresponds to the JSON property `inactiveInstanceCount`
# @return [Fixnum]
attr_accessor :inactive_instance_count
# Number of instances that do not appear to be running the agent. Check to
- # ensure that the agent is installed, running, and able to communicate with
- # the service.
+ # ensure that the agent is installed, running, and able to communicate with the
+ # service.
# Corresponds to the JSON property `noAgentDetectedInstanceCount`
# @return [Fixnum]
attr_accessor :no_agent_detected_instance_count
# Number of instances notified about patch job.
@@ -1549,12 +1989,11 @@
# Sets the time for recurring patch deployments.
class RecurringSchedule
include Google::Apis::Core::Hashable
# Optional. The end time at which a recurring patch deployment schedule is no
- # longer
- # active.
+ # longer active.
# Corresponds to the JSON property `endTime`
# @return [String]
attr_accessor :end_time
# Required. The frequency unit of this recurring schedule.
@@ -1565,36 +2004,36 @@
# Output only. The time the last patch job ran successfully.
# Corresponds to the JSON property `lastExecuteTime`
# @return [String]
attr_accessor :last_execute_time
- # Represents a monthly schedule. An example of a valid monthly schedule is
- # "on the third Tuesday of the month" or "on the 15th of the month".
+ # Represents a monthly schedule. An example of a valid monthly schedule is "on
+ # the third Tuesday of the month" or "on the 15th of the month".
# Corresponds to the JSON property `monthly`
# @return [Google::Apis::OsconfigV1beta::MonthlySchedule]
attr_accessor :monthly
# Output only. The time the next patch job is scheduled to run.
# Corresponds to the JSON property `nextExecuteTime`
# @return [String]
attr_accessor :next_execute_time
- # Optional. The time that the recurring schedule becomes effective.
- # Defaults to `create_time` of the patch deployment.
+ # Optional. The time that the recurring schedule becomes effective. Defaults to `
+ # create_time` of the patch deployment.
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
- # Represents a time of day. The date and time zone are either not significant
- # or are specified elsewhere. An API may choose to allow leap seconds. Related
+ # Represents a time of day. The date and time zone are either not significant or
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
# types are google.type.Date and `google.protobuf.Timestamp`.
# Corresponds to the JSON property `timeOfDay`
# @return [Google::Apis::OsconfigV1beta::TimeOfDay]
attr_accessor :time_of_day
- # Represents a time zone from the
- # [IANA Time Zone Database](https://www.iana.org/time-zones).
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
+ # time-zones).
# Corresponds to the JSON property `timeZone`
# @return [Google::Apis::OsconfigV1beta::TimeZone]
attr_accessor :time_zone
# Represents a weekly schedule.
@@ -1618,75 +2057,272 @@
@time_zone = args[:time_zone] if args.key?(:time_zone)
@weekly = args[:weekly] if args.key?(:weekly)
end
end
+ # A resource that manages a package repository.
+ class RepositoryResource
+ include Google::Apis::Core::Hashable
+
+ # Represents a single apt package repository. These will be added to a repo file
+ # that will be managed at /etc/apt/sources.list.d/google_osconfig.list.
+ # Corresponds to the JSON property `apt`
+ # @return [Google::Apis::OsconfigV1beta::RepositoryResourceAptRepository]
+ attr_accessor :apt
+
+ # Represents a Goo package repository. These will be added to a repo file that
+ # will be managed at C:/ProgramData/GooGet/repos/google_osconfig.repo.
+ # Corresponds to the JSON property `goo`
+ # @return [Google::Apis::OsconfigV1beta::RepositoryResourceGooRepository]
+ attr_accessor :goo
+
+ # Represents a single yum package repository. These will be added to a repo file
+ # that will be managed at /etc/yum.repos.d/google_osconfig.repo.
+ # Corresponds to the JSON property `yum`
+ # @return [Google::Apis::OsconfigV1beta::RepositoryResourceYumRepository]
+ attr_accessor :yum
+
+ # Represents a single zypper package repository. These will be added to a repo
+ # file that will be managed at /etc/zypp/repos.d/google_osconfig.repo.
+ # Corresponds to the JSON property `zypper`
+ # @return [Google::Apis::OsconfigV1beta::RepositoryResourceZypperRepository]
+ attr_accessor :zypper
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @apt = args[:apt] if args.key?(:apt)
+ @goo = args[:goo] if args.key?(:goo)
+ @yum = args[:yum] if args.key?(:yum)
+ @zypper = args[:zypper] if args.key?(:zypper)
+ end
+ end
+
+ # Represents a single apt package repository. These will be added to a repo file
+ # that will be managed at /etc/apt/sources.list.d/google_osconfig.list.
+ class RepositoryResourceAptRepository
+ include Google::Apis::Core::Hashable
+
+ # Type of archive files in this repository. The default behavior is DEB.
+ # Corresponds to the JSON property `archiveType`
+ # @return [String]
+ attr_accessor :archive_type
+
+ # List of components for this repository. Must contain at least one item.
+ # Corresponds to the JSON property `components`
+ # @return [Array<String>]
+ attr_accessor :components
+
+ # Distribution of this repository.
+ # Corresponds to the JSON property `distribution`
+ # @return [String]
+ attr_accessor :distribution
+
+ # URI of the key file for this repository. The agent will maintain a keyring at /
+ # etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+ # Corresponds to the JSON property `gpgKey`
+ # @return [String]
+ attr_accessor :gpg_key
+
+ # URI for this repository.
+ # Corresponds to the JSON property `uri`
+ # @return [String]
+ attr_accessor :uri
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @archive_type = args[:archive_type] if args.key?(:archive_type)
+ @components = args[:components] if args.key?(:components)
+ @distribution = args[:distribution] if args.key?(:distribution)
+ @gpg_key = args[:gpg_key] if args.key?(:gpg_key)
+ @uri = args[:uri] if args.key?(:uri)
+ end
+ end
+
+ # Represents a Goo package repository. These will be added to a repo file that
+ # will be managed at C:/ProgramData/GooGet/repos/google_osconfig.repo.
+ class RepositoryResourceGooRepository
+ include Google::Apis::Core::Hashable
+
+ # The name of the repository.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The url of the repository.
+ # Corresponds to the JSON property `url`
+ # @return [String]
+ attr_accessor :url
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ @url = args[:url] if args.key?(:url)
+ end
+ end
+
+ # Represents a single yum package repository. These will be added to a repo file
+ # that will be managed at /etc/yum.repos.d/google_osconfig.repo.
+ class RepositoryResourceYumRepository
+ include Google::Apis::Core::Hashable
+
+ # The location of the repository directory.
+ # Corresponds to the JSON property `baseUrl`
+ # @return [String]
+ attr_accessor :base_url
+
+ # The display name of the repository.
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # URIs of GPG keys.
+ # Corresponds to the JSON property `gpgKeys`
+ # @return [Array<String>]
+ attr_accessor :gpg_keys
+
+ # A one word, unique name for this repository. This will be the `repo id` in the
+ # yum config file and also the `display_name` if `display_name` is omitted. This
+ # id is also used as the unique identifier when checking for resource conflicts.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @base_url = args[:base_url] if args.key?(:base_url)
+ @display_name = args[:display_name] if args.key?(:display_name)
+ @gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys)
+ @id = args[:id] if args.key?(:id)
+ end
+ end
+
+ # Represents a single zypper package repository. These will be added to a repo
+ # file that will be managed at /etc/zypp/repos.d/google_osconfig.repo.
+ class RepositoryResourceZypperRepository
+ include Google::Apis::Core::Hashable
+
+ # The location of the repository directory.
+ # Corresponds to the JSON property `baseUrl`
+ # @return [String]
+ attr_accessor :base_url
+
+ # The display name of the repository.
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # URIs of GPG keys.
+ # Corresponds to the JSON property `gpgKeys`
+ # @return [Array<String>]
+ attr_accessor :gpg_keys
+
+ # A one word, unique name for this repository. This will be the `repo id` in the
+ # zypper config file and also the `display_name` if `display_name` is omitted.
+ # This id is also used as the unique identifier when checking for GuestPolicy
+ # conflicts.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @base_url = args[:base_url] if args.key?(:base_url)
+ @display_name = args[:display_name] if args.key?(:display_name)
+ @gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys)
+ @id = args[:id] if args.key?(:id)
+ end
+ end
+
+ # A resource that manages a system service.
+ class ServiceResource
+ include Google::Apis::Core::Hashable
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ end
+ end
+
# A software recipe is a set of instructions for installing and configuring a
- # piece of software. It consists of a set of artifacts that are
- # downloaded, and a set of steps that install, configure, and/or update the
- # software.
- # Recipes support installing and updating software from artifacts in the
- # following formats:
- # Zip archive, Tar archive, Windows MSI, Debian package, and RPM package.
- # Additionally, recipes support executing a script (either defined in a file or
- # directly in this api) in bash, sh, cmd, and powershell.
- # Updating a software recipe
- # If a recipe is assigned to an instance and there is a recipe with the same
- # name but a lower version already installed and the assigned state
- # of the recipe is `UPDATED`, then the recipe is updated to
- # the new version.
- # Script Working Directories
- # Each script or execution step is run in its own temporary directory which
- # is deleted after completing the step.
+ # piece of software. It consists of a set of artifacts that are downloaded, and
+ # a set of steps that install, configure, and/or update the software. Recipes
+ # support installing and updating software from artifacts in the following
+ # formats: Zip archive, Tar archive, Windows MSI, Debian package, and RPM
+ # package. Additionally, recipes support executing a script (either defined in a
+ # file or directly in this api) in bash, sh, cmd, and powershell. Updating a
+ # software recipe If a recipe is assigned to an instance and there is a recipe
+ # with the same name but a lower version already installed and the assigned
+ # state of the recipe is `UPDATED`, then the recipe is updated to the new
+ # version. Script Working Directories Each script or execution step is run in
+ # its own temporary directory which is deleted after completing the step.
class SoftwareRecipe
include Google::Apis::Core::Hashable
# Resources available to be used in the steps in the recipe.
# Corresponds to the JSON property `artifacts`
# @return [Array<Google::Apis::OsconfigV1beta::SoftwareRecipeArtifact>]
attr_accessor :artifacts
# Default is INSTALLED. The desired state the agent should maintain for this
- # recipe.
- # INSTALLED: The software recipe is installed on the instance but
- # won't be updated to new versions.
- # UPDATED: The software recipe is installed on the instance. The recipe is
- # updated to a higher version, if a higher version of the recipe is
- # assigned to this instance.
- # REMOVE: Remove is unsupported for software recipes and attempts to
- # create or update a recipe to the REMOVE state is rejected.
+ # recipe. INSTALLED: The software recipe is installed on the instance but won't
+ # be updated to new versions. UPDATED: The software recipe is installed on the
+ # instance. The recipe is updated to a higher version, if a higher version of
+ # the recipe is assigned to this instance. REMOVE: Remove is unsupported for
+ # software recipes and attempts to create or update a recipe to the REMOVE state
+ # is rejected.
# Corresponds to the JSON property `desiredState`
# @return [String]
attr_accessor :desired_state
- # Actions to be taken for installing this recipe. On failure it stops
- # executing steps and does not attempt another installation. Any steps taken
- # (including partially completed steps) are not rolled back.
+ # Actions to be taken for installing this recipe. On failure it stops executing
+ # steps and does not attempt another installation. Any steps taken (including
+ # partially completed steps) are not rolled back.
# Corresponds to the JSON property `installSteps`
# @return [Array<Google::Apis::OsconfigV1beta::SoftwareRecipeStep>]
attr_accessor :install_steps
# Required. Unique identifier for the recipe. Only one recipe with a given name
- # is
- # installed on an instance.
- # Names are also used to identify resources which helps to determine whether
- # guest policies have conflicts. This means that requests to create multiple
- # recipes with the same name and version are rejected since they
- # could potentially have conflicting assignments.
+ # is installed on an instance. Names are also used to identify resources which
+ # helps to determine whether guest policies have conflicts. This means that
+ # requests to create multiple recipes with the same name and version are
+ # rejected since they could potentially have conflicting assignments.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
- # Actions to be taken for updating this recipe. On failure it stops
- # executing steps and does not attempt another update for this recipe. Any
- # steps taken (including partially completed steps) are not rolled back.
+ # Actions to be taken for updating this recipe. On failure it stops executing
+ # steps and does not attempt another update for this recipe. Any steps taken (
+ # including partially completed steps) are not rolled back.
# Corresponds to the JSON property `updateSteps`
# @return [Array<Google::Apis::OsconfigV1beta::SoftwareRecipeStep>]
attr_accessor :update_steps
- # The version of this software recipe. Version can be up to 4 period
- # separated numbers (e.g. 12.34.56.78).
+ # The version of this software recipe. Version can be up to 4 period separated
+ # numbers (e.g. 12.34.56.78).
# Corresponds to the JSON property `version`
# @return [String]
attr_accessor :version
def initialize(**args)
@@ -1706,15 +2342,14 @@
# Specifies a resource to be used in the recipe.
class SoftwareRecipeArtifact
include Google::Apis::Core::Hashable
- # Defaults to false. When false, recipes are subject to validations
- # based on the artifact type:
- # Remote: A checksum must be specified, and only protocols with
- # transport-layer security are permitted.
- # GCS: An object generation number must be specified.
+ # Defaults to false. When false, recipes are subject to validations based on the
+ # artifact type: Remote: A checksum must be specified, and only protocols with
+ # transport-layer security are permitted. GCS: An object generation number must
+ # be specified.
# Corresponds to the JSON property `allowInsecure`
# @return [Boolean]
attr_accessor :allow_insecure
alias_method :allow_insecure?, :allow_insecure
@@ -1749,32 +2384,28 @@
# Specifies an artifact available as a Google Cloud Storage object.
class SoftwareRecipeArtifactGcs
include Google::Apis::Core::Hashable
- # Bucket of the Google Cloud Storage object.
- # Given an example URL:
- # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
- # this value would be `my-bucket`.
+ # Bucket of the Google Cloud Storage object. Given an example URL: `https://
+ # storage.googleapis.com/my-bucket/foo/bar#1234567` this value would be `my-
+ # bucket`.
# Corresponds to the JSON property `bucket`
# @return [String]
attr_accessor :bucket
- # Must be provided if allow_insecure is false.
- # Generation number of the Google Cloud Storage object.
- # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
- # this value would be `1234567`.
+ # Must be provided if allow_insecure is false. Generation number of the Google
+ # Cloud Storage object. `https://storage.googleapis.com/my-bucket/foo/bar#
+ # 1234567` this value would be `1234567`.
# Corresponds to the JSON property `generation`
# @return [Fixnum]
attr_accessor :generation
- # Name of the Google Cloud Storage object.
- # As specified [here]
- # (https://cloud.google.com/storage/docs/naming#objectnames)
- # Given an example URL:
- # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
- # this value would be `foo/bar`.
+ # Name of the Google Cloud Storage object. As specified [here] (https://cloud.
+ # google.com/storage/docs/naming#objectnames) Given an example URL: `https://
+ # storage.googleapis.com/my-bucket/foo/bar#1234567` this value would be `foo/bar`
+ # .
# Corresponds to the JSON property `object`
# @return [String]
attr_accessor :object
def initialize(**args)
@@ -1791,21 +2422,20 @@
# Specifies an artifact available via some URI.
class SoftwareRecipeArtifactRemote
include Google::Apis::Core::Hashable
- # Must be provided if `allow_insecure` is `false`.
- # SHA256 checksum in hex format, to compare to the checksum of the
- # artifact. If the checksum is not empty and it doesn't match the
- # artifact then the recipe installation fails before running any of the
- # steps.
+ # Must be provided if `allow_insecure` is `false`. SHA256 checksum in hex format,
+ # to compare to the checksum of the artifact. If the checksum is not empty and
+ # it doesn't match the artifact then the recipe installation fails before
+ # running any of the steps.
# Corresponds to the JSON property `checksum`
# @return [String]
attr_accessor :checksum
- # URI from which to fetch the object. It should contain both the protocol
- # and path following the format `protocol`://`location`.
+ # URI from which to fetch the object. It should contain both the protocol and
+ # path following the format `protocol`://`location`.
# Corresponds to the JSON property `uri`
# @return [String]
attr_accessor :uri
def initialize(**args)
@@ -1886,30 +2516,26 @@
# Required. The absolute path on the instance to put the file.
# Corresponds to the JSON property `destination`
# @return [String]
attr_accessor :destination
- # Whether to allow this step to overwrite existing files. If this is
- # false and the file already exists the file is not overwritten
- # and the step is considered a success. Defaults to false.
+ # Whether to allow this step to overwrite existing files. If this is false and
+ # the file already exists the file is not overwritten and the step is considered
+ # a success. Defaults to false.
# Corresponds to the JSON property `overwrite`
# @return [Boolean]
attr_accessor :overwrite
alias_method :overwrite?, :overwrite
- # Consists of three octal digits which represent, in
- # order, the permissions of the owner, group, and other users for the
- # file (similarly to the numeric mode used in the linux chmod utility).
- # Each digit represents a three bit number with the 4 bit
- # corresponding to the read permissions, the 2 bit corresponds to the
- # write bit, and the one bit corresponds to the execute permission.
- # Default behavior is 755.
- # Below are some examples of permissions and their associated values:
- # read, write, and execute: 7
- # read and execute: 5
- # read and write: 6
- # read only: 4
+ # Consists of three octal digits which represent, in order, the permissions of
+ # the owner, group, and other users for the file (similarly to the numeric mode
+ # used in the linux chmod utility). Each digit represents a three bit number
+ # with the 4 bit corresponding to the read permissions, the 2 bit corresponds to
+ # the write bit, and the one bit corresponds to the execute permission. Default
+ # behavior is 755. Below are some examples of permissions and their associated
+ # values: read, write, and execute: 7 read and execute: 5 read and write: 6 read
+ # only: 4
# Corresponds to the JSON property `permissions`
# @return [String]
attr_accessor :permissions
def initialize(**args)
@@ -1927,12 +2553,12 @@
# Executes an artifact or local file.
class SoftwareRecipeStepExecFile
include Google::Apis::Core::Hashable
- # Defaults to [0]. A list of possible return values that the program
- # can return to indicate a success.
+ # Defaults to [0]. A list of possible return values that the program can return
+ # to indicate a success.
# Corresponds to the JSON property `allowedExitCodes`
# @return [Array<Fixnum>]
attr_accessor :allowed_exit_codes
# Arguments to be passed to the provided executable.
@@ -1970,12 +2596,11 @@
# Required. The id of the relevant artifact in the recipe.
# Corresponds to the JSON property `artifactId`
# @return [String]
attr_accessor :artifact_id
- # Directory to extract archive to.
- # Defaults to `/` on Linux or `C:\` on Windows.
+ # Directory to extract archive to. Defaults to `/` on Linux or `C:\` on Windows.
# Corresponds to the JSON property `destination`
# @return [String]
attr_accessor :destination
# Required. The type of the archive to extract.
@@ -2016,23 +2641,23 @@
# Installs an MSI file.
class SoftwareRecipeStepInstallMsi
include Google::Apis::Core::Hashable
- # Return codes that indicate that the software installed or updated
- # successfully. Behaviour defaults to [0]
+ # Return codes that indicate that the software installed or updated successfully.
+ # Behaviour defaults to [0]
# Corresponds to the JSON property `allowedExitCodes`
# @return [Array<Fixnum>]
attr_accessor :allowed_exit_codes
# Required. The id of the relevant artifact in the recipe.
# Corresponds to the JSON property `artifactId`
# @return [String]
attr_accessor :artifact_id
- # The flags to use when installing the MSI
- # defaults to ["/i"] (i.e. the install flag).
+ # The flags to use when installing the MSI defaults to ["/i"] (i.e. the install
+ # flag).
# Corresponds to the JSON property `flags`
# @return [Array<String>]
attr_accessor :flags
def initialize(**args)
@@ -2068,20 +2693,19 @@
# Runs a script through an interpreter.
class SoftwareRecipeStepRunScript
include Google::Apis::Core::Hashable
- # Return codes that indicate that the software installed or updated
- # successfully. Behaviour defaults to [0]
+ # Return codes that indicate that the software installed or updated successfully.
+ # Behaviour defaults to [0]
# Corresponds to the JSON property `allowedExitCodes`
# @return [Array<Fixnum>]
attr_accessor :allowed_exit_codes
# The script interpreter to use to run the script. If no interpreter is
- # specified the script is executed directly, which likely
- # only succeed for scripts with
- # [shebang lines](https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ # specified the script is executed directly, which likely only succeed for
+ # scripts with [shebang lines](https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
# Corresponds to the JSON property `interpreter`
# @return [String]
attr_accessor :interpreter
# Required. The shell script to be executed.
@@ -2099,18 +2723,18 @@
@interpreter = args[:interpreter] if args.key?(:interpreter)
@script = args[:script] if args.key?(:script)
end
end
- # Represents a time of day. The date and time zone are either not significant
- # or are specified elsewhere. An API may choose to allow leap seconds. Related
+ # Represents a time of day. The date and time zone are either not significant or
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
# types are google.type.Date and `google.protobuf.Timestamp`.
class TimeOfDay
include Google::Apis::Core::Hashable
- # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
- # to allow the value "24:00:00" for scenarios like business closing time.
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
+ # allow the value "24:00:00" for scenarios like business closing time.
# Corresponds to the JSON property `hours`
# @return [Fixnum]
attr_accessor :hours
# Minutes of hour of day. Must be from 0 to 59.
@@ -2140,12 +2764,12 @@
@nanos = args[:nanos] if args.key?(:nanos)
@seconds = args[:seconds] if args.key?(:seconds)
end
end
- # Represents a time zone from the
- # [IANA Time Zone Database](https://www.iana.org/time-zones).
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
+ # time-zones).
class TimeZone
include Google::Apis::Core::Hashable
# IANA Time Zone Database time zone, e.g. "America/New_York".
# Corresponds to the JSON property `id`
@@ -2176,12 +2800,11 @@
# Corresponds to the JSON property `dayOfWeek`
# @return [String]
attr_accessor :day_of_week
# Required. Week number in a month. 1-4 indicates the 1st to 4th week of the
- # month. -1
- # indicates the last week of the month.
+ # month. -1 indicates the last week of the month.
# Corresponds to the JSON property `weekOrdinal`
# @return [Fixnum]
attr_accessor :week_ordinal
def initialize(**args)
@@ -2227,13 +2850,12 @@
# List of KBs to exclude from update.
# Corresponds to the JSON property `excludes`
# @return [Array<String>]
attr_accessor :excludes
- # An exclusive list of kbs to be updated. These are the only patches
- # that will be updated. This field must not be used with other
- # patch configurations.
+ # An exclusive list of kbs to be updated. These are the only patches that will
+ # be updated. This field must not be used with other patch configurations.
# Corresponds to the JSON property `exclusivePatches`
# @return [Array<String>]
attr_accessor :exclusive_patches
def initialize(**args)
@@ -2246,12 +2868,12 @@
@excludes = args[:excludes] if args.key?(:excludes)
@exclusive_patches = args[:exclusive_patches] if args.key?(:exclusive_patches)
end
end
- # Represents a single Yum package repository. This repository is added to a
- # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
+ # Represents a single Yum package repository. This repository is added to a repo
+ # file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
class YumRepository
include Google::Apis::Core::Hashable
# Required. The location of the repository directory.
# Corresponds to the JSON property `baseUrl`
@@ -2266,14 +2888,14 @@
# URIs of GPG keys.
# Corresponds to the JSON property `gpgKeys`
# @return [Array<String>]
attr_accessor :gpg_keys
- # Required. A one word, unique name for this repository. This is
- # the `repo id` in the Yum config file and also the `display_name` if
- # `display_name` is omitted. This id is also used as the unique identifier
- # when checking for guest policy conflicts.
+ # Required. A one word, unique name for this repository. This is the `repo id`
+ # in the Yum config file and also the `display_name` if `display_name` is
+ # omitted. This id is also used as the unique identifier when checking for guest
+ # policy conflicts.
# Corresponds to the JSON property `id`
# @return [String]
attr_accessor :id
def initialize(**args)
@@ -2287,38 +2909,36 @@
@gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys)
@id = args[:id] if args.key?(:id)
end
end
- # Yum patching is performed by executing `yum update`. Additional options
- # can be set to control how this is executed.
- # Note that not all settings are supported on all platforms.
+ # Yum patching is performed by executing `yum update`. Additional options can be
+ # set to control how this is executed. Note that not all settings are supported
+ # on all platforms.
class YumSettings
include Google::Apis::Core::Hashable
- # List of packages to exclude from update. These packages are excluded by
- # using the yum `--exclude` flag.
+ # List of packages to exclude from update. These packages are excluded by using
+ # the yum `--exclude` flag.
# Corresponds to the JSON property `excludes`
# @return [Array<String>]
attr_accessor :excludes
- # An exclusive list of packages to be updated. These are the only packages
- # that will be updated. If these packages are not installed, they will be
- # ignored. This field must not be specified with any other patch
- # configuration fields.
+ # An exclusive list of packages to be updated. These are the only packages that
+ # will be updated. If these packages are not installed, they will be ignored.
+ # This field must not be specified with any other patch configuration fields.
# Corresponds to the JSON property `exclusivePackages`
# @return [Array<String>]
attr_accessor :exclusive_packages
# Will cause patch to run `yum update-minimal` instead.
# Corresponds to the JSON property `minimal`
# @return [Boolean]
attr_accessor :minimal
alias_method :minimal?, :minimal
- # Adds the `--security` flag to `yum update`. Not supported on
- # all platforms.
+ # Adds the `--security` flag to `yum update`. Not supported on all platforms.
# Corresponds to the JSON property `security`
# @return [Boolean]
attr_accessor :security
alias_method :security?, :security
@@ -2353,14 +2973,14 @@
# URIs of GPG keys.
# Corresponds to the JSON property `gpgKeys`
# @return [Array<String>]
attr_accessor :gpg_keys
- # Required. A one word, unique name for this repository. This is
- # the `repo id` in the zypper config file and also the `display_name` if
- # `display_name` is omitted. This id is also used as the unique identifier
- # when checking for guest policy conflicts.
+ # Required. A one word, unique name for this repository. This is the `repo id`
+ # in the zypper config file and also the `display_name` if `display_name` is
+ # omitted. This id is also used as the unique identifier when checking for guest
+ # policy conflicts.
# Corresponds to the JSON property `id`
# @return [String]
attr_accessor :id
def initialize(**args)
@@ -2374,34 +2994,34 @@
@gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys)
@id = args[:id] if args.key?(:id)
end
end
- # Zypper patching is performed by running `zypper patch`.
- # See also https://en.opensuse.org/SDB:Zypper_manual.
+ # Zypper patching is performed by running `zypper patch`. See also https://en.
+ # opensuse.org/SDB:Zypper_manual.
class ZypperSettings
include Google::Apis::Core::Hashable
- # Install only patches with these categories.
- # Common categories include security, recommended, and feature.
+ # Install only patches with these categories. Common categories include security,
+ # recommended, and feature.
# Corresponds to the JSON property `categories`
# @return [Array<String>]
attr_accessor :categories
# List of patches to exclude from update.
# Corresponds to the JSON property `excludes`
# @return [Array<String>]
attr_accessor :excludes
- # An exclusive list of patches to be updated. These are the only patches
- # that will be installed using 'zypper patch patch:<patch_name>' command.
- # This field must not be used with any other patch configuration fields.
+ # An exclusive list of patches to be updated. These are the only patches that
+ # will be installed using 'zypper patch patch:' command. This field must not be
+ # used with any other patch configuration fields.
# Corresponds to the JSON property `exclusivePatches`
# @return [Array<String>]
attr_accessor :exclusive_patches
- # Install only patches with these severities.
- # Common severities include critical, important, moderate, and low.
+ # Install only patches with these severities. Common severities include critical,
+ # important, moderate, and low.
# Corresponds to the JSON property `severities`
# @return [Array<String>]
attr_accessor :severities
# Adds the `--with-optional` flag to `zypper patch`.