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`.