docs: update docs (#916)

* fix: re-run script

* test: fix noxfile
diff --git a/docs/dyn/osconfig_v1beta.projects.guestPolicies.html b/docs/dyn/osconfig_v1beta.projects.guestPolicies.html
index 5752ba5..81633fd 100644
--- a/docs/dyn/osconfig_v1beta.projects.guestPolicies.html
+++ b/docs/dyn/osconfig_v1beta.projects.guestPolicies.html
@@ -107,6 +107,51 @@
     # policies represent the desired state for VM instance guest environments
     # including packages to install or remove, package repository configurations,
     # and software to install.
+  "createTime": "A String", # Output only. Time this guest policy was created.
+  "packages": [ # The software packages to be managed by this policy.
+    { # 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`
+      "desiredState": "A String", # The desired_state the agent should maintain for this package. The
+          # default is to ensure the package is installed.
+      "name": "A String", # 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
+          # package targets.
+      "manager": "A String", # 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.
+    },
+  ],
+  "updateTime": "A String", # Output only. Last time this guest policy was updated.
+  "name": "A String", # Required. Unique name of the resource in this project using one of the following
+      # forms:
+      # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
   "recipes": [ # A list of Recipes to install on the VM instance.
     { # 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
@@ -131,96 +176,6 @@
         #
         # Each script or execution step is run in its own temporary directory which
         # is deleted after completing the step.
-      "name": "A String", # 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.
-      "updateSteps": [ # 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.
-        { # An action that can be taken as part of installing or updating a recipe.
-          "fileCopy": { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
-            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-            "overwrite": True or 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.
-            "destination": "A String", # Required. The absolute path on the instance to put the file.
-            "permissions": "A String", # 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
-          },
-          "dpkgInstallation": { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-          },
-          "fileExec": { # Executes an artifact or local file. # Executes an artifact or local file.
-            "allowedExitCodes": [ # Defaults to [0]. A list of possible return values that the program
-                # can return to indicate a success.
-              42,
-            ],
-            "artifactId": "A String", # The id of the relevant artifact in the recipe.
-            "args": [ # Arguments to be passed to the provided executable.
-              "A String",
-            ],
-            "localPath": "A String", # The absolute path of the file on the local filesystem.
-          },
-          "archiveExtraction": { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-            "type": "A String", # Required. The type of the archive to extract.
-            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-            "destination": "A String", # Directory to extract archive to.
-                # Defaults to `/` on Linux or `C:\` on Windows.
-          },
-          "msiInstallation": { # Installs an MSI file. # Installs an MSI file.
-            "flags": [ # The flags to use when installing the MSI
-                # defaults to ["/i"] (i.e. the install flag).
-              "A String",
-            ],
-            "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
-                # successfully. Behaviour defaults to [0]
-              42,
-            ],
-            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-          },
-          "scriptRun": { # Runs a script through an interpreter. # Runs commands in a shell.
-            "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
-                # successfully. Behaviour defaults to [0]
-              42,
-            ],
-            "interpreter": "A String", # 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\)).
-            "script": "A String", # Required. The shell script to be executed.
-          },
-          "rpmInstallation": { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
-            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-          },
-        },
-      ],
-      "desiredState": "A String", # 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.
-      "version": "A String", # The version of this software recipe. Version can be up to 4 period
-          # separated numbers (e.g. 12.34.56.78).
       "artifacts": [ # Resources available to be used in the steps in the recipe.
         { # Specifies a resource to be used in the recipe.
           "remote": { # Specifies an artifact available via some URI. # A generic remote artifact.
@@ -233,6 +188,12 @@
                 # and path following the format {protocol}://{location}.
           },
           "gcs": { # Specifies an artifact available as a Google Cloud Storage object. # A Google Cloud Storage artifact.
+            "object": "A String", # 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`.
             "generation": "A String", # 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`
@@ -241,12 +202,6 @@
                 # Given an example URL:
                 # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
                 # this value would be `my-bucket`.
-            "object": "A String", # 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`.
           },
           "id": "A String", # Required. Id of the artifact, which the installation and update steps of this
               # recipe can reference. Artifacts in a recipe cannot have the same id.
@@ -262,6 +217,40 @@
           # executing steps and does not attempt another installation. Any steps taken
           # (including partially completed steps) are not rolled back.
         { # An action that can be taken as part of installing or updating a recipe.
+          "archiveExtraction": { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
+            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+            "destination": "A String", # Directory to extract archive to.
+                # Defaults to `/` on Linux or `C:\` on Windows.
+            "type": "A String", # Required. The type of the archive to extract.
+          },
+          "msiInstallation": { # Installs an MSI file. # Installs an MSI file.
+            "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
+                # successfully. Behaviour defaults to [0]
+              42,
+            ],
+            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+            "flags": [ # The flags to use when installing the MSI
+                # defaults to ["/i"] (i.e. the install flag).
+              "A String",
+            ],
+          },
+          "scriptRun": { # Runs a script through an interpreter. # Runs commands in a shell.
+            "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
+                # successfully. Behaviour defaults to [0]
+              42,
+            ],
+            "interpreter": "A String", # 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\)).
+            "script": "A String", # Required. The shell script to be executed.
+          },
+          "rpmInstallation": { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
+            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+          },
+          "dpkgInstallation": { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+          },
           "fileCopy": { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
             "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
             "overwrite": True or False, # Whether to allow this step to overwrite existing files. If this is
@@ -282,9 +271,6 @@
                 # read and write: 6
                 # read only: 4
           },
-          "dpkgInstallation": { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-          },
           "fileExec": { # Executes an artifact or local file. # Executes an artifact or local file.
             "allowedExitCodes": [ # Defaults to [0]. A list of possible return values that the program
                 # can return to indicate a success.
@@ -296,22 +282,35 @@
             ],
             "localPath": "A String", # The absolute path of the file on the local filesystem.
           },
+        },
+      ],
+      "name": "A String", # 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.
+      "updateSteps": [ # 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.
+        { # An action that can be taken as part of installing or updating a recipe.
           "archiveExtraction": { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-            "type": "A String", # Required. The type of the archive to extract.
             "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
             "destination": "A String", # Directory to extract archive to.
                 # Defaults to `/` on Linux or `C:\` on Windows.
+            "type": "A String", # Required. The type of the archive to extract.
           },
           "msiInstallation": { # Installs an MSI file. # Installs an MSI file.
-            "flags": [ # The flags to use when installing the MSI
-                # defaults to ["/i"] (i.e. the install flag).
-              "A String",
-            ],
             "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
                 # successfully. Behaviour defaults to [0]
               42,
             ],
             "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+            "flags": [ # The flags to use when installing the MSI
+                # defaults to ["/i"] (i.e. the install flag).
+              "A String",
+            ],
           },
           "scriptRun": { # Runs a script through an interpreter. # Runs commands in a shell.
             "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
@@ -327,8 +326,54 @@
           "rpmInstallation": { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
             "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
           },
+          "dpkgInstallation": { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+          },
+          "fileCopy": { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
+            "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+            "overwrite": True or 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.
+            "destination": "A String", # Required. The absolute path on the instance to put the file.
+            "permissions": "A String", # 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
+          },
+          "fileExec": { # Executes an artifact or local file. # Executes an artifact or local file.
+            "allowedExitCodes": [ # Defaults to [0]. A list of possible return values that the program
+                # can return to indicate a success.
+              42,
+            ],
+            "artifactId": "A String", # The id of the relevant artifact in the recipe.
+            "args": [ # Arguments to be passed to the provided executable.
+              "A String",
+            ],
+            "localPath": "A String", # The absolute path of the file on the local filesystem.
+          },
         },
       ],
+      "version": "A String", # The version of this software recipe. Version can be up to 4 period
+          # separated numbers (e.g. 12.34.56.78).
+      "desiredState": "A String", # 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.
     },
   ],
   "assignment": { # An assignment represents the group or groups of VM instances that the policy # Required. Specifies the VM instances that are assigned to this policy. This allows
@@ -347,30 +392,6 @@
       # 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.
-    "groupLabels": [ # 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".
-      { # Represents a group of VM intances that can be identified as having all
-          # these labels, for example "env=prod and app=web".
-        "labels": { # Google Compute Engine instance labels that must be present for an
-            # instance to be included in this assignment group.
-          "a_key": "A String",
-        },
-      },
-    ],
-    "osTypes": [ # 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.
-      { # Defines the criteria for selecting VM Instances by OS type.
-        "osShortName": "A String", # Targets VM instances with OS Inventory enabled and having the following
-            # OS short name, for example "debian" or "windows".
-        "osArchitecture": "A String", # Targets VM instances with OS Inventory enabled and having the following
-            # OS architecture.
-        "osVersion": "A String", # Targets VM instances with OS Inventory enabled and having the following
-            # following OS version.
-      },
-    ],
     "instances": [ # Targets any of the instances specified. Instances are specified by their
         # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.
         #
@@ -397,6 +418,30 @@
         # of changes by zone.
       "A String",
     ],
+    "groupLabels": [ # 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".
+      { # Represents a group of VM intances that can be identified as having all
+          # these labels, for example "env=prod and app=web".
+        "labels": { # Google Compute Engine instance labels that must be present for an
+            # instance to be included in this assignment group.
+          "a_key": "A String",
+        },
+      },
+    ],
+    "osTypes": [ # 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.
+      { # Defines the criteria for selecting VM Instances by OS type.
+        "osShortName": "A String", # Targets VM instances with OS Inventory enabled and having the following
+            # OS short name, for example "debian" or "windows".
+        "osArchitecture": "A String", # Targets VM instances with OS Inventory enabled and having the following
+            # OS architecture.
+        "osVersion": "A String", # Targets VM instances with OS Inventory enabled and having the following
+            # following OS version.
+      },
+    ],
   },
   "description": "A String", # Description of the guest policy. Length of the description is limited
       # to 1024 characters.
@@ -407,6 +452,7 @@
     { # A package repository.
       "zypper": { # Represents a single Zypper package repository. This repository is added to a # A Zypper Repository.
           # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.
+        "displayName": "A String", # The display name of the repository.
         "id": "A String", # 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
@@ -415,13 +461,10 @@
         "gpgKeys": [ # URIs of GPG keys.
           "A String",
         ],
-        "displayName": "A String", # The display name of the repository.
       },
       "apt": { # Represents a single Apt package repository. This repository is added to # An Apt Repository.
           # a repo file that is stored at
           # `/etc/apt/sources.list.d/google_osconfig.list`.
-        "archiveType": "A String", # Type of archive files in this repository. The default behavior is DEB.
-        "uri": "A String", # Required. URI for this repository.
         "gpgKey": "A String", # 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.
@@ -429,10 +472,11 @@
         "components": [ # Required. List of components for this repository. Must contain at least one item.
           "A String",
         ],
+        "archiveType": "A String", # Type of archive files in this repository. The default behavior is DEB.
+        "uri": "A String", # Required. URI for this repository.
       },
       "yum": { # Represents a single Yum package repository. This repository is added to a # A Yum Repository.
           # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
-        "displayName": "A String", # The display name of the repository.
         "id": "A String", # 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
@@ -441,61 +485,17 @@
         "gpgKeys": [ # URIs of GPG keys.
           "A String",
         ],
+        "displayName": "A String", # The display name of the repository.
       },
       "goo": { # Represents a Goo package repository. These is added to a repo file # A Goo Repository.
           # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
-        "name": "A String", # Required. The name of the repository.
         "url": "A String", # Required. The url of the repository.
+        "name": "A String", # Required. The name of the repository.
       },
     },
   ],
   "etag": "A String", # The etag for this guest policy.
       # If this is provided on update, it must match the server's etag.
-  "createTime": "A String", # Output only. Time this guest policy was created.
-  "packages": [ # The software packages to be managed by this policy.
-    { # 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`
-      "name": "A String", # 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
-          # package targets.
-      "manager": "A String", # 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.
-      "desiredState": "A String", # The desired_state the agent should maintain for this package. The
-          # default is to ensure the package is installed.
-    },
-  ],
-  "updateTime": "A String", # Output only. Last time this guest policy was updated.
-  "name": "A String", # Required. Unique name of the resource in this project using one of the following
-      # forms:
-      # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
 }
 
   guestPolicyId: string, Required. The logical name of the guest policy in the project
@@ -518,6 +518,51 @@
       # policies represent the desired state for VM instance guest environments
       # including packages to install or remove, package repository configurations,
       # and software to install.
+    "createTime": "A String", # Output only. Time this guest policy was created.
+    "packages": [ # The software packages to be managed by this policy.
+      { # 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`
+        "desiredState": "A String", # The desired_state the agent should maintain for this package. The
+            # default is to ensure the package is installed.
+        "name": "A String", # 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
+            # package targets.
+        "manager": "A String", # 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.
+      },
+    ],
+    "updateTime": "A String", # Output only. Last time this guest policy was updated.
+    "name": "A String", # Required. Unique name of the resource in this project using one of the following
+        # forms:
+        # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
     "recipes": [ # A list of Recipes to install on the VM instance.
       { # 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
@@ -542,96 +587,6 @@
           #
           # Each script or execution step is run in its own temporary directory which
           # is deleted after completing the step.
-        "name": "A String", # 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.
-        "updateSteps": [ # 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.
-          { # An action that can be taken as part of installing or updating a recipe.
-            "fileCopy": { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
-              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-              "overwrite": True or 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.
-              "destination": "A String", # Required. The absolute path on the instance to put the file.
-              "permissions": "A String", # 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
-            },
-            "dpkgInstallation": { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-            },
-            "fileExec": { # Executes an artifact or local file. # Executes an artifact or local file.
-              "allowedExitCodes": [ # Defaults to [0]. A list of possible return values that the program
-                  # can return to indicate a success.
-                42,
-              ],
-              "artifactId": "A String", # The id of the relevant artifact in the recipe.
-              "args": [ # Arguments to be passed to the provided executable.
-                "A String",
-              ],
-              "localPath": "A String", # The absolute path of the file on the local filesystem.
-            },
-            "archiveExtraction": { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-              "type": "A String", # Required. The type of the archive to extract.
-              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-              "destination": "A String", # Directory to extract archive to.
-                  # Defaults to `/` on Linux or `C:\` on Windows.
-            },
-            "msiInstallation": { # Installs an MSI file. # Installs an MSI file.
-              "flags": [ # The flags to use when installing the MSI
-                  # defaults to ["/i"] (i.e. the install flag).
-                "A String",
-              ],
-              "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
-                  # successfully. Behaviour defaults to [0]
-                42,
-              ],
-              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-            },
-            "scriptRun": { # Runs a script through an interpreter. # Runs commands in a shell.
-              "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
-                  # successfully. Behaviour defaults to [0]
-                42,
-              ],
-              "interpreter": "A String", # 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\)).
-              "script": "A String", # Required. The shell script to be executed.
-            },
-            "rpmInstallation": { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
-              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-            },
-          },
-        ],
-        "desiredState": "A String", # 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.
-        "version": "A String", # The version of this software recipe. Version can be up to 4 period
-            # separated numbers (e.g. 12.34.56.78).
         "artifacts": [ # Resources available to be used in the steps in the recipe.
           { # Specifies a resource to be used in the recipe.
             "remote": { # Specifies an artifact available via some URI. # A generic remote artifact.
@@ -644,6 +599,12 @@
                   # and path following the format {protocol}://{location}.
             },
             "gcs": { # Specifies an artifact available as a Google Cloud Storage object. # A Google Cloud Storage artifact.
+              "object": "A String", # 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`.
               "generation": "A String", # 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`
@@ -652,12 +613,6 @@
                   # Given an example URL:
                   # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
                   # this value would be `my-bucket`.
-              "object": "A String", # 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`.
             },
             "id": "A String", # Required. Id of the artifact, which the installation and update steps of this
                 # recipe can reference. Artifacts in a recipe cannot have the same id.
@@ -673,6 +628,40 @@
             # executing steps and does not attempt another installation. Any steps taken
             # (including partially completed steps) are not rolled back.
           { # An action that can be taken as part of installing or updating a recipe.
+            "archiveExtraction": { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
+              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+              "destination": "A String", # Directory to extract archive to.
+                  # Defaults to `/` on Linux or `C:\` on Windows.
+              "type": "A String", # Required. The type of the archive to extract.
+            },
+            "msiInstallation": { # Installs an MSI file. # Installs an MSI file.
+              "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
+                  # successfully. Behaviour defaults to [0]
+                42,
+              ],
+              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+              "flags": [ # The flags to use when installing the MSI
+                  # defaults to ["/i"] (i.e. the install flag).
+                "A String",
+              ],
+            },
+            "scriptRun": { # Runs a script through an interpreter. # Runs commands in a shell.
+              "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
+                  # successfully. Behaviour defaults to [0]
+                42,
+              ],
+              "interpreter": "A String", # 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\)).
+              "script": "A String", # Required. The shell script to be executed.
+            },
+            "rpmInstallation": { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
+              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+            },
+            "dpkgInstallation": { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+            },
             "fileCopy": { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
               "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
               "overwrite": True or False, # Whether to allow this step to overwrite existing files. If this is
@@ -693,9 +682,6 @@
                   # read and write: 6
                   # read only: 4
             },
-            "dpkgInstallation": { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
-            },
             "fileExec": { # Executes an artifact or local file. # Executes an artifact or local file.
               "allowedExitCodes": [ # Defaults to [0]. A list of possible return values that the program
                   # can return to indicate a success.
@@ -707,22 +693,35 @@
               ],
               "localPath": "A String", # The absolute path of the file on the local filesystem.
             },
+          },
+        ],
+        "name": "A String", # 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.
+        "updateSteps": [ # 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.
+          { # An action that can be taken as part of installing or updating a recipe.
             "archiveExtraction": { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-              "type": "A String", # Required. The type of the archive to extract.
               "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
               "destination": "A String", # Directory to extract archive to.
                   # Defaults to `/` on Linux or `C:\` on Windows.
+              "type": "A String", # Required. The type of the archive to extract.
             },
             "msiInstallation": { # Installs an MSI file. # Installs an MSI file.
-              "flags": [ # The flags to use when installing the MSI
-                  # defaults to ["/i"] (i.e. the install flag).
-                "A String",
-              ],
               "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
                   # successfully. Behaviour defaults to [0]
                 42,
               ],
               "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+              "flags": [ # The flags to use when installing the MSI
+                  # defaults to ["/i"] (i.e. the install flag).
+                "A String",
+              ],
             },
             "scriptRun": { # Runs a script through an interpreter. # Runs commands in a shell.
               "allowedExitCodes": [ # Return codes that indicate that the software installed or updated
@@ -738,8 +737,54 @@
             "rpmInstallation": { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
               "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
             },
+            "dpkgInstallation": { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+            },
+            "fileCopy": { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
+              "artifactId": "A String", # Required. The id of the relevant artifact in the recipe.
+              "overwrite": True or 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.
+              "destination": "A String", # Required. The absolute path on the instance to put the file.
+              "permissions": "A String", # 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
+            },
+            "fileExec": { # Executes an artifact or local file. # Executes an artifact or local file.
+              "allowedExitCodes": [ # Defaults to [0]. A list of possible return values that the program
+                  # can return to indicate a success.
+                42,
+              ],
+              "artifactId": "A String", # The id of the relevant artifact in the recipe.
+              "args": [ # Arguments to be passed to the provided executable.
+                "A String",
+              ],
+              "localPath": "A String", # The absolute path of the file on the local filesystem.
+            },
           },
         ],
+        "version": "A String", # The version of this software recipe. Version can be up to 4 period
+            # separated numbers (e.g. 12.34.56.78).
+        "desiredState": "A String", # 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.
       },
     ],
     "assignment": { # An assignment represents the group or groups of VM instances that the policy # Required. Specifies the VM instances that are assigned to this policy. This allows
@@ -758,30 +803,6 @@
         # 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.
-      "groupLabels": [ # 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".
-        { # Represents a group of VM intances that can be identified as having all
-            # these labels, for example "env=prod and app=web".
-          "labels": { # Google Compute Engine instance labels that must be present for an
-              # instance to be included in this assignment group.
-            "a_key": "A String",
-          },
-        },
-      ],
-      "osTypes": [ # 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.
-        { # Defines the criteria for selecting VM Instances by OS type.
-          "osShortName": "A String", # Targets VM instances with OS Inventory enabled and having the following
-              # OS short name, for example "debian" or "windows".
-          "osArchitecture": "A String", # Targets VM instances with OS Inventory enabled and having the following
-              # OS architecture.
-          "osVersion": "A String", # Targets VM instances with OS Inventory enabled and having the following
-              # following OS version.
-        },
-      ],
       "instances": [ # Targets any of the instances specified. Instances are specified by their
           # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.
           #
@@ -808,6 +829,30 @@
           # of changes by zone.
         "A String",
       ],
+      "groupLabels": [ # 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".
+        { # Represents a group of VM intances that can be identified as having all
+            # these labels, for example "env=prod and app=web".
+          "labels": { # Google Compute Engine instance labels that must be present for an
+              # instance to be included in this assignment group.
+            "a_key": "A String",
+          },
+        },
+      ],
+      "osTypes": [ # 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.
+        { # Defines the criteria for selecting VM Instances by OS type.
+          "osShortName": "A String", # Targets VM instances with OS Inventory enabled and having the following
+              # OS short name, for example "debian" or "windows".
+          "osArchitecture": "A String", # Targets VM instances with OS Inventory enabled and having the following
+              # OS architecture.
+          "osVersion": "A String", # Targets VM instances with OS Inventory enabled and having the following
+              # following OS version.
+        },
+      ],
     },
     "description": "A String", # Description of the guest policy. Length of the description is limited
         # to 1024 characters.
@@ -818,6 +863,7 @@
       { # A package repository.
         "zypper": { # Represents a single Zypper package repository. This repository is added to a # A Zypper Repository.
             # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.
+          "displayName": "A String", # The display name of the repository.
           "id": "A String", # 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
@@ -826,13 +872,10 @@
           "gpgKeys": [ # URIs of GPG keys.
             "A String",
           ],
-          "displayName": "A String", # The display name of the repository.
         },
         "apt": { # Represents a single Apt package repository. This repository is added to # An Apt Repository.
             # a repo file that is stored at
             # `/etc/apt/sources.list.d/google_osconfig.list`.
-          "archiveType": "A String", # Type of archive files in this repository. The default behavior is DEB.
-          "uri": "A String", # Required. URI for this repository.
           "gpgKey": "A String", # 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.
@@ -840,10 +883,11 @@
           "components": [ # Required. List of components for this repository. Must contain at least one item.
             "A String",
           ],
+          "archiveType": "A String", # Type of archive files in this repository. The default behavior is DEB.
+          "uri": "A String", # Required. URI for this repository.
         },
         "yum": { # Represents a single Yum package repository. This repository is added to a # A Yum Repository.
             # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
-          "displayName": "A String", # The display name of the repository.
           "id": "A String", # 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
@@ -852,61 +896,17 @@
           "gpgKeys": [ # URIs of GPG keys.
             "A String",
           ],
+          "displayName": "A String", # The display name of the repository.
         },
         "goo": { # Represents a Goo package repository. These is added to a repo file # A Goo Repository.
             # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
-          "name": "A String", # Required. The name of the repository.
           "url": "A String", # Required. The url of the repository.
+          "name": "A String", # Required. The name of the repository.
         },
       },
     ],
     "etag": "A String", # The etag for this guest policy.
         # If this is provided on update, it must match the server's etag.
-    "createTime": "A String", # Output only. Time this guest policy was created.
-    "packages": [ # The software packages to be managed by this policy.
-      { # 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`
-        "name": "A String", # 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
-            # package targets.
-        "manager": "A String", # 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.
-        "desiredState": "A String", # The desired_state the agent should maintain for this package. The
-            # default is to ensure the package is installed.
-      },
-    ],
-    "updateTime": "A String", # Output only. Last time this guest policy was updated.
-    "name": "A String", # Required. Unique name of the resource in this project using one of the following
-        # forms:
-        # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
   }</pre>
 </div>
 
@@ -956,6 +956,51 @@
       # policies represent the desired state for VM instance guest environments
       # including packages to install or remove, package repository configurations,
       # and software to install.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time this guest policy was created.
+    &quot;packages&quot;: [ # The software packages to be managed by this policy.
+      { # 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 &amp;&amp; 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`
+        &quot;desiredState&quot;: &quot;A String&quot;, # The desired_state the agent should maintain for this package. The
+            # default is to ensure the package is installed.
+        &quot;name&quot;: &quot;A String&quot;, # 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
+            # package targets.
+        &quot;manager&quot;: &quot;A String&quot;, # 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.
+      },
+    ],
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last time this guest policy was updated.
+    &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this project using one of the following
+        # forms:
+        # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
     &quot;recipes&quot;: [ # A list of Recipes to install on the VM instance.
       { # 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
@@ -980,96 +1025,6 @@
           #
           # Each script or execution step is run in its own temporary directory which
           # is deleted after completing the step.
-        &quot;name&quot;: &quot;A String&quot;, # 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.
-        &quot;updateSteps&quot;: [ # 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.
-          { # An action that can be taken as part of installing or updating a recipe.
-            &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-              &quot;overwrite&quot;: True or 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.
-              &quot;destination&quot;: &quot;A String&quot;, # Required. The absolute path on the instance to put the file.
-              &quot;permissions&quot;: &quot;A String&quot;, # 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
-            },
-            &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            },
-            &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
-              &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
-                  # can return to indicate a success.
-                42,
-              ],
-              &quot;artifactId&quot;: &quot;A String&quot;, # The id of the relevant artifact in the recipe.
-              &quot;args&quot;: [ # Arguments to be passed to the provided executable.
-                &quot;A String&quot;,
-              ],
-              &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
-            },
-            &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-              &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-              &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
-                  # Defaults to `/` on Linux or `C:\` on Windows.
-            },
-            &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
-              &quot;flags&quot;: [ # The flags to use when installing the MSI
-                  # defaults to [&quot;/i&quot;] (i.e. the install flag).
-                &quot;A String&quot;,
-              ],
-              &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
-                  # successfully. Behaviour defaults to [0]
-                42,
-              ],
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            },
-            &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
-              &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
-                  # successfully. Behaviour defaults to [0]
-                42,
-              ],
-              &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
-              &quot;script&quot;: &quot;A String&quot;, # Required. The shell script to be executed.
-            },
-            &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            },
-          },
-        ],
-        &quot;desiredState&quot;: &quot;A String&quot;, # Default is INSTALLED. The desired state the agent should maintain for this
-            # recipe.
-            #
-            # INSTALLED: The software recipe is installed on the instance but
-            #            won&#x27;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.
-        &quot;version&quot;: &quot;A String&quot;, # The version of this software recipe. Version can be up to 4 period
-            # separated numbers (e.g. 12.34.56.78).
         &quot;artifacts&quot;: [ # Resources available to be used in the steps in the recipe.
           { # Specifies a resource to be used in the recipe.
             &quot;remote&quot;: { # Specifies an artifact available via some URI. # A generic remote artifact.
@@ -1082,6 +1037,12 @@
                   # and path following the format {protocol}://{location}.
             },
             &quot;gcs&quot;: { # Specifies an artifact available as a Google Cloud Storage object. # A Google Cloud Storage artifact.
+              &quot;object&quot;: &quot;A String&quot;, # 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`.
               &quot;generation&quot;: &quot;A String&quot;, # 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`
@@ -1090,12 +1051,6 @@
                   # Given an example URL:
                   # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
                   # this value would be `my-bucket`.
-              &quot;object&quot;: &quot;A String&quot;, # 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`.
             },
             &quot;id&quot;: &quot;A String&quot;, # Required. Id of the artifact, which the installation and update steps of this
                 # recipe can reference. Artifacts in a recipe cannot have the same id.
@@ -1111,6 +1066,40 @@
             # executing steps and does not attempt another installation. Any steps taken
             # (including partially completed steps) are not rolled back.
           { # An action that can be taken as part of installing or updating a recipe.
+            &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+              &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
+                  # Defaults to `/` on Linux or `C:\` on Windows.
+              &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
+            },
+            &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
+              &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
+                  # successfully. Behaviour defaults to [0]
+                42,
+              ],
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+              &quot;flags&quot;: [ # The flags to use when installing the MSI
+                  # defaults to [&quot;/i&quot;] (i.e. the install flag).
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
+              &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
+                  # successfully. Behaviour defaults to [0]
+                42,
+              ],
+              &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+              &quot;script&quot;: &quot;A String&quot;, # Required. The shell script to be executed.
+            },
+            &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            },
+            &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            },
             &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
               &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
               &quot;overwrite&quot;: True or False, # Whether to allow this step to overwrite existing files. If this is
@@ -1131,9 +1120,6 @@
                   # read and write: 6
                   # read only: 4
             },
-            &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            },
             &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
               &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
                   # can return to indicate a success.
@@ -1145,22 +1131,35 @@
               ],
               &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
             },
+          },
+        ],
+        &quot;name&quot;: &quot;A String&quot;, # 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.
+        &quot;updateSteps&quot;: [ # 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.
+          { # An action that can be taken as part of installing or updating a recipe.
             &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-              &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
               &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
               &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
                   # Defaults to `/` on Linux or `C:\` on Windows.
+              &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
             },
             &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
-              &quot;flags&quot;: [ # The flags to use when installing the MSI
-                  # defaults to [&quot;/i&quot;] (i.e. the install flag).
-                &quot;A String&quot;,
-              ],
               &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
                   # successfully. Behaviour defaults to [0]
                 42,
               ],
               &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+              &quot;flags&quot;: [ # The flags to use when installing the MSI
+                  # defaults to [&quot;/i&quot;] (i.e. the install flag).
+                &quot;A String&quot;,
+              ],
             },
             &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
               &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
@@ -1176,8 +1175,54 @@
             &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
               &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
             },
+            &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            },
+            &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+              &quot;overwrite&quot;: True or 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.
+              &quot;destination&quot;: &quot;A String&quot;, # Required. The absolute path on the instance to put the file.
+              &quot;permissions&quot;: &quot;A String&quot;, # 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
+            },
+            &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
+              &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
+                  # can return to indicate a success.
+                42,
+              ],
+              &quot;artifactId&quot;: &quot;A String&quot;, # The id of the relevant artifact in the recipe.
+              &quot;args&quot;: [ # Arguments to be passed to the provided executable.
+                &quot;A String&quot;,
+              ],
+              &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
+            },
           },
         ],
+        &quot;version&quot;: &quot;A String&quot;, # The version of this software recipe. Version can be up to 4 period
+            # separated numbers (e.g. 12.34.56.78).
+        &quot;desiredState&quot;: &quot;A String&quot;, # Default is INSTALLED. The desired state the agent should maintain for this
+            # recipe.
+            #
+            # INSTALLED: The software recipe is installed on the instance but
+            #            won&#x27;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.
       },
     ],
     &quot;assignment&quot;: { # An assignment represents the group or groups of VM instances that the policy # Required. Specifies the VM instances that are assigned to this policy. This allows
@@ -1196,30 +1241,6 @@
         # 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.
-      &quot;groupLabels&quot;: [ # Targets instances matching at least one of these label sets. This allows
-          # an assignment to target disparate groups, for example &quot;env=prod or
-          # env=staging&quot;.
-        { # Represents a group of VM intances that can be identified as having all
-            # these labels, for example &quot;env=prod and app=web&quot;.
-          &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for an
-              # instance to be included in this assignment group.
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-        },
-      ],
-      &quot;osTypes&quot;: [ # 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.
-        { # Defines the criteria for selecting VM Instances by OS type.
-          &quot;osShortName&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-              # OS short name, for example &quot;debian&quot; or &quot;windows&quot;.
-          &quot;osArchitecture&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-              # OS architecture.
-          &quot;osVersion&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-              # following OS version.
-        },
-      ],
       &quot;instances&quot;: [ # Targets any of the instances specified. Instances are specified by their
           # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.
           #
@@ -1246,6 +1267,30 @@
           # of changes by zone.
         &quot;A String&quot;,
       ],
+      &quot;groupLabels&quot;: [ # Targets instances matching at least one of these label sets. This allows
+          # an assignment to target disparate groups, for example &quot;env=prod or
+          # env=staging&quot;.
+        { # Represents a group of VM intances that can be identified as having all
+            # these labels, for example &quot;env=prod and app=web&quot;.
+          &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for an
+              # instance to be included in this assignment group.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+        },
+      ],
+      &quot;osTypes&quot;: [ # 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.
+        { # Defines the criteria for selecting VM Instances by OS type.
+          &quot;osShortName&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+              # OS short name, for example &quot;debian&quot; or &quot;windows&quot;.
+          &quot;osArchitecture&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+              # OS architecture.
+          &quot;osVersion&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+              # following OS version.
+        },
+      ],
     },
     &quot;description&quot;: &quot;A String&quot;, # Description of the guest policy. Length of the description is limited
         # to 1024 characters.
@@ -1256,6 +1301,7 @@
       { # A package repository.
         &quot;zypper&quot;: { # Represents a single Zypper package repository. This repository is added to a # A Zypper Repository.
             # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.
+          &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
           &quot;id&quot;: &quot;A String&quot;, # 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
@@ -1264,13 +1310,10 @@
           &quot;gpgKeys&quot;: [ # URIs of GPG keys.
             &quot;A String&quot;,
           ],
-          &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
         },
         &quot;apt&quot;: { # Represents a single Apt package repository. This repository is added to # An Apt Repository.
             # a repo file that is stored at
             # `/etc/apt/sources.list.d/google_osconfig.list`.
-          &quot;archiveType&quot;: &quot;A String&quot;, # Type of archive files in this repository. The default behavior is DEB.
-          &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
           &quot;gpgKey&quot;: &quot;A String&quot;, # 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.
@@ -1278,10 +1321,11 @@
           &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
             &quot;A String&quot;,
           ],
+          &quot;archiveType&quot;: &quot;A String&quot;, # Type of archive files in this repository. The default behavior is DEB.
+          &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
         },
         &quot;yum&quot;: { # Represents a single Yum package repository. This repository is added to a # A Yum Repository.
             # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
-          &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
           &quot;id&quot;: &quot;A String&quot;, # 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
@@ -1290,61 +1334,17 @@
           &quot;gpgKeys&quot;: [ # URIs of GPG keys.
             &quot;A String&quot;,
           ],
+          &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
         },
         &quot;goo&quot;: { # Represents a Goo package repository. These is added to a repo file # A Goo Repository.
             # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
-          &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
           &quot;url&quot;: &quot;A String&quot;, # Required. The url of the repository.
+          &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
         },
       },
     ],
     &quot;etag&quot;: &quot;A String&quot;, # The etag for this guest policy.
         # If this is provided on update, it must match the server&#x27;s etag.
-    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time this guest policy was created.
-    &quot;packages&quot;: [ # The software packages to be managed by this policy.
-      { # 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 &amp;&amp; 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`
-        &quot;name&quot;: &quot;A String&quot;, # 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
-            # package targets.
-        &quot;manager&quot;: &quot;A String&quot;, # 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.
-        &quot;desiredState&quot;: &quot;A String&quot;, # The desired_state the agent should maintain for this package. The
-            # default is to ensure the package is installed.
-      },
-    ],
-    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last time this guest policy was updated.
-    &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this project using one of the following
-        # forms:
-        # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
   }</pre>
 </div>
 
@@ -1374,6 +1374,51 @@
           # policies represent the desired state for VM instance guest environments
           # including packages to install or remove, package repository configurations,
           # and software to install.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time this guest policy was created.
+        &quot;packages&quot;: [ # The software packages to be managed by this policy.
+          { # 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 &amp;&amp; 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`
+            &quot;desiredState&quot;: &quot;A String&quot;, # The desired_state the agent should maintain for this package. The
+                # default is to ensure the package is installed.
+            &quot;name&quot;: &quot;A String&quot;, # 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
+                # package targets.
+            &quot;manager&quot;: &quot;A String&quot;, # 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.
+          },
+        ],
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last time this guest policy was updated.
+        &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this project using one of the following
+            # forms:
+            # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
         &quot;recipes&quot;: [ # A list of Recipes to install on the VM instance.
           { # 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
@@ -1398,96 +1443,6 @@
               #
               # Each script or execution step is run in its own temporary directory which
               # is deleted after completing the step.
-            &quot;name&quot;: &quot;A String&quot;, # 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.
-            &quot;updateSteps&quot;: [ # 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.
-              { # An action that can be taken as part of installing or updating a recipe.
-                &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
-                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-                  &quot;overwrite&quot;: True or 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.
-                  &quot;destination&quot;: &quot;A String&quot;, # Required. The absolute path on the instance to put the file.
-                  &quot;permissions&quot;: &quot;A String&quot;, # 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
-                },
-                &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-                },
-                &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
-                  &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
-                      # can return to indicate a success.
-                    42,
-                  ],
-                  &quot;artifactId&quot;: &quot;A String&quot;, # The id of the relevant artifact in the recipe.
-                  &quot;args&quot;: [ # Arguments to be passed to the provided executable.
-                    &quot;A String&quot;,
-                  ],
-                  &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
-                },
-                &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-                  &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
-                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-                  &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
-                      # Defaults to `/` on Linux or `C:\` on Windows.
-                },
-                &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
-                  &quot;flags&quot;: [ # The flags to use when installing the MSI
-                      # defaults to [&quot;/i&quot;] (i.e. the install flag).
-                    &quot;A String&quot;,
-                  ],
-                  &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
-                      # successfully. Behaviour defaults to [0]
-                    42,
-                  ],
-                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-                },
-                &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
-                  &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
-                      # successfully. Behaviour defaults to [0]
-                    42,
-                  ],
-                  &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
-                  &quot;script&quot;: &quot;A String&quot;, # Required. The shell script to be executed.
-                },
-                &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
-                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-                },
-              },
-            ],
-            &quot;desiredState&quot;: &quot;A String&quot;, # Default is INSTALLED. The desired state the agent should maintain for this
-                # recipe.
-                #
-                # INSTALLED: The software recipe is installed on the instance but
-                #            won&#x27;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.
-            &quot;version&quot;: &quot;A String&quot;, # The version of this software recipe. Version can be up to 4 period
-                # separated numbers (e.g. 12.34.56.78).
             &quot;artifacts&quot;: [ # Resources available to be used in the steps in the recipe.
               { # Specifies a resource to be used in the recipe.
                 &quot;remote&quot;: { # Specifies an artifact available via some URI. # A generic remote artifact.
@@ -1500,6 +1455,12 @@
                       # and path following the format {protocol}://{location}.
                 },
                 &quot;gcs&quot;: { # Specifies an artifact available as a Google Cloud Storage object. # A Google Cloud Storage artifact.
+                  &quot;object&quot;: &quot;A String&quot;, # 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`.
                   &quot;generation&quot;: &quot;A String&quot;, # 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`
@@ -1508,12 +1469,6 @@
                       # Given an example URL:
                       # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
                       # this value would be `my-bucket`.
-                  &quot;object&quot;: &quot;A String&quot;, # 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`.
                 },
                 &quot;id&quot;: &quot;A String&quot;, # Required. Id of the artifact, which the installation and update steps of this
                     # recipe can reference. Artifacts in a recipe cannot have the same id.
@@ -1529,6 +1484,40 @@
                 # executing steps and does not attempt another installation. Any steps taken
                 # (including partially completed steps) are not rolled back.
               { # An action that can be taken as part of installing or updating a recipe.
+                &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
+                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+                  &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
+                      # Defaults to `/` on Linux or `C:\` on Windows.
+                  &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
+                },
+                &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
+                  &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
+                      # successfully. Behaviour defaults to [0]
+                    42,
+                  ],
+                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+                  &quot;flags&quot;: [ # The flags to use when installing the MSI
+                      # defaults to [&quot;/i&quot;] (i.e. the install flag).
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
+                  &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
+                      # successfully. Behaviour defaults to [0]
+                    42,
+                  ],
+                  &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+                  &quot;script&quot;: &quot;A String&quot;, # Required. The shell script to be executed.
+                },
+                &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
+                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+                },
+                &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+                },
                 &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
                   &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
                   &quot;overwrite&quot;: True or False, # Whether to allow this step to overwrite existing files. If this is
@@ -1549,9 +1538,6 @@
                       # read and write: 6
                       # read only: 4
                 },
-                &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-                },
                 &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
                   &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
                       # can return to indicate a success.
@@ -1563,22 +1549,35 @@
                   ],
                   &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
                 },
+              },
+            ],
+            &quot;name&quot;: &quot;A String&quot;, # 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.
+            &quot;updateSteps&quot;: [ # 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.
+              { # An action that can be taken as part of installing or updating a recipe.
                 &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-                  &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
                   &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
                   &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
                       # Defaults to `/` on Linux or `C:\` on Windows.
+                  &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
                 },
                 &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
-                  &quot;flags&quot;: [ # The flags to use when installing the MSI
-                      # defaults to [&quot;/i&quot;] (i.e. the install flag).
-                    &quot;A String&quot;,
-                  ],
                   &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
                       # successfully. Behaviour defaults to [0]
                     42,
                   ],
                   &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+                  &quot;flags&quot;: [ # The flags to use when installing the MSI
+                      # defaults to [&quot;/i&quot;] (i.e. the install flag).
+                    &quot;A String&quot;,
+                  ],
                 },
                 &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
                   &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
@@ -1594,8 +1593,54 @@
                 &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
                   &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
                 },
+                &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+                },
+                &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
+                  &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+                  &quot;overwrite&quot;: True or 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.
+                  &quot;destination&quot;: &quot;A String&quot;, # Required. The absolute path on the instance to put the file.
+                  &quot;permissions&quot;: &quot;A String&quot;, # 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
+                },
+                &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
+                  &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
+                      # can return to indicate a success.
+                    42,
+                  ],
+                  &quot;artifactId&quot;: &quot;A String&quot;, # The id of the relevant artifact in the recipe.
+                  &quot;args&quot;: [ # Arguments to be passed to the provided executable.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
+                },
               },
             ],
+            &quot;version&quot;: &quot;A String&quot;, # The version of this software recipe. Version can be up to 4 period
+                # separated numbers (e.g. 12.34.56.78).
+            &quot;desiredState&quot;: &quot;A String&quot;, # Default is INSTALLED. The desired state the agent should maintain for this
+                # recipe.
+                #
+                # INSTALLED: The software recipe is installed on the instance but
+                #            won&#x27;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.
           },
         ],
         &quot;assignment&quot;: { # An assignment represents the group or groups of VM instances that the policy # Required. Specifies the VM instances that are assigned to this policy. This allows
@@ -1614,30 +1659,6 @@
             # 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.
-          &quot;groupLabels&quot;: [ # Targets instances matching at least one of these label sets. This allows
-              # an assignment to target disparate groups, for example &quot;env=prod or
-              # env=staging&quot;.
-            { # Represents a group of VM intances that can be identified as having all
-                # these labels, for example &quot;env=prod and app=web&quot;.
-              &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for an
-                  # instance to be included in this assignment group.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-          ],
-          &quot;osTypes&quot;: [ # 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.
-            { # Defines the criteria for selecting VM Instances by OS type.
-              &quot;osShortName&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-                  # OS short name, for example &quot;debian&quot; or &quot;windows&quot;.
-              &quot;osArchitecture&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-                  # OS architecture.
-              &quot;osVersion&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-                  # following OS version.
-            },
-          ],
           &quot;instances&quot;: [ # Targets any of the instances specified. Instances are specified by their
               # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.
               #
@@ -1664,6 +1685,30 @@
               # of changes by zone.
             &quot;A String&quot;,
           ],
+          &quot;groupLabels&quot;: [ # Targets instances matching at least one of these label sets. This allows
+              # an assignment to target disparate groups, for example &quot;env=prod or
+              # env=staging&quot;.
+            { # Represents a group of VM intances that can be identified as having all
+                # these labels, for example &quot;env=prod and app=web&quot;.
+              &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for an
+                  # instance to be included in this assignment group.
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+            },
+          ],
+          &quot;osTypes&quot;: [ # 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.
+            { # Defines the criteria for selecting VM Instances by OS type.
+              &quot;osShortName&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+                  # OS short name, for example &quot;debian&quot; or &quot;windows&quot;.
+              &quot;osArchitecture&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+                  # OS architecture.
+              &quot;osVersion&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+                  # following OS version.
+            },
+          ],
         },
         &quot;description&quot;: &quot;A String&quot;, # Description of the guest policy. Length of the description is limited
             # to 1024 characters.
@@ -1674,6 +1719,7 @@
           { # A package repository.
             &quot;zypper&quot;: { # Represents a single Zypper package repository. This repository is added to a # A Zypper Repository.
                 # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.
+              &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
               &quot;id&quot;: &quot;A String&quot;, # 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
@@ -1682,13 +1728,10 @@
               &quot;gpgKeys&quot;: [ # URIs of GPG keys.
                 &quot;A String&quot;,
               ],
-              &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
             },
             &quot;apt&quot;: { # Represents a single Apt package repository. This repository is added to # An Apt Repository.
                 # a repo file that is stored at
                 # `/etc/apt/sources.list.d/google_osconfig.list`.
-              &quot;archiveType&quot;: &quot;A String&quot;, # Type of archive files in this repository. The default behavior is DEB.
-              &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
               &quot;gpgKey&quot;: &quot;A String&quot;, # 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.
@@ -1696,10 +1739,11 @@
               &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
                 &quot;A String&quot;,
               ],
+              &quot;archiveType&quot;: &quot;A String&quot;, # Type of archive files in this repository. The default behavior is DEB.
+              &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
             },
             &quot;yum&quot;: { # Represents a single Yum package repository. This repository is added to a # A Yum Repository.
                 # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
-              &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
               &quot;id&quot;: &quot;A String&quot;, # 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
@@ -1708,61 +1752,17 @@
               &quot;gpgKeys&quot;: [ # URIs of GPG keys.
                 &quot;A String&quot;,
               ],
+              &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
             },
             &quot;goo&quot;: { # Represents a Goo package repository. These is added to a repo file # A Goo Repository.
                 # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
-              &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
               &quot;url&quot;: &quot;A String&quot;, # Required. The url of the repository.
+              &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
             },
           },
         ],
         &quot;etag&quot;: &quot;A String&quot;, # The etag for this guest policy.
             # If this is provided on update, it must match the server&#x27;s etag.
-        &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time this guest policy was created.
-        &quot;packages&quot;: [ # The software packages to be managed by this policy.
-          { # 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 &amp;&amp; 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`
-            &quot;name&quot;: &quot;A String&quot;, # 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
-                # package targets.
-            &quot;manager&quot;: &quot;A String&quot;, # 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.
-            &quot;desiredState&quot;: &quot;A String&quot;, # The desired_state the agent should maintain for this package. The
-                # default is to ensure the package is installed.
-          },
-        ],
-        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last time this guest policy was updated.
-        &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this project using one of the following
-            # forms:
-            # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
       },
     ],
   }</pre>
@@ -1797,6 +1797,51 @@
     # policies represent the desired state for VM instance guest environments
     # including packages to install or remove, package repository configurations,
     # and software to install.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time this guest policy was created.
+  &quot;packages&quot;: [ # The software packages to be managed by this policy.
+    { # 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 &amp;&amp; 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`
+      &quot;desiredState&quot;: &quot;A String&quot;, # The desired_state the agent should maintain for this package. The
+          # default is to ensure the package is installed.
+      &quot;name&quot;: &quot;A String&quot;, # 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
+          # package targets.
+      &quot;manager&quot;: &quot;A String&quot;, # 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.
+    },
+  ],
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last time this guest policy was updated.
+  &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this project using one of the following
+      # forms:
+      # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
   &quot;recipes&quot;: [ # A list of Recipes to install on the VM instance.
     { # 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
@@ -1821,96 +1866,6 @@
         #
         # Each script or execution step is run in its own temporary directory which
         # is deleted after completing the step.
-      &quot;name&quot;: &quot;A String&quot;, # 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.
-      &quot;updateSteps&quot;: [ # 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.
-        { # An action that can be taken as part of installing or updating a recipe.
-          &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
-            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            &quot;overwrite&quot;: True or 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.
-            &quot;destination&quot;: &quot;A String&quot;, # Required. The absolute path on the instance to put the file.
-            &quot;permissions&quot;: &quot;A String&quot;, # 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
-          },
-          &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-          },
-          &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
-            &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
-                # can return to indicate a success.
-              42,
-            ],
-            &quot;artifactId&quot;: &quot;A String&quot;, # The id of the relevant artifact in the recipe.
-            &quot;args&quot;: [ # Arguments to be passed to the provided executable.
-              &quot;A String&quot;,
-            ],
-            &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
-          },
-          &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-            &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
-            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
-                # Defaults to `/` on Linux or `C:\` on Windows.
-          },
-          &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
-            &quot;flags&quot;: [ # The flags to use when installing the MSI
-                # defaults to [&quot;/i&quot;] (i.e. the install flag).
-              &quot;A String&quot;,
-            ],
-            &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
-                # successfully. Behaviour defaults to [0]
-              42,
-            ],
-            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-          },
-          &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
-            &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
-                # successfully. Behaviour defaults to [0]
-              42,
-            ],
-            &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
-            &quot;script&quot;: &quot;A String&quot;, # Required. The shell script to be executed.
-          },
-          &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
-            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-          },
-        },
-      ],
-      &quot;desiredState&quot;: &quot;A String&quot;, # Default is INSTALLED. The desired state the agent should maintain for this
-          # recipe.
-          #
-          # INSTALLED: The software recipe is installed on the instance but
-          #            won&#x27;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.
-      &quot;version&quot;: &quot;A String&quot;, # The version of this software recipe. Version can be up to 4 period
-          # separated numbers (e.g. 12.34.56.78).
       &quot;artifacts&quot;: [ # Resources available to be used in the steps in the recipe.
         { # Specifies a resource to be used in the recipe.
           &quot;remote&quot;: { # Specifies an artifact available via some URI. # A generic remote artifact.
@@ -1923,6 +1878,12 @@
                 # and path following the format {protocol}://{location}.
           },
           &quot;gcs&quot;: { # Specifies an artifact available as a Google Cloud Storage object. # A Google Cloud Storage artifact.
+            &quot;object&quot;: &quot;A String&quot;, # 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`.
             &quot;generation&quot;: &quot;A String&quot;, # 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`
@@ -1931,12 +1892,6 @@
                 # Given an example URL:
                 # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
                 # this value would be `my-bucket`.
-            &quot;object&quot;: &quot;A String&quot;, # 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`.
           },
           &quot;id&quot;: &quot;A String&quot;, # Required. Id of the artifact, which the installation and update steps of this
               # recipe can reference. Artifacts in a recipe cannot have the same id.
@@ -1952,6 +1907,40 @@
           # executing steps and does not attempt another installation. Any steps taken
           # (including partially completed steps) are not rolled back.
         { # An action that can be taken as part of installing or updating a recipe.
+          &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
+            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
+                # Defaults to `/` on Linux or `C:\` on Windows.
+            &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
+          },
+          &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
+            &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
+                # successfully. Behaviour defaults to [0]
+              42,
+            ],
+            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            &quot;flags&quot;: [ # The flags to use when installing the MSI
+                # defaults to [&quot;/i&quot;] (i.e. the install flag).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
+            &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
+                # successfully. Behaviour defaults to [0]
+              42,
+            ],
+            &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+            &quot;script&quot;: &quot;A String&quot;, # Required. The shell script to be executed.
+          },
+          &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
+            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+          },
+          &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+          },
           &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
             &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
             &quot;overwrite&quot;: True or False, # Whether to allow this step to overwrite existing files. If this is
@@ -1972,9 +1961,6 @@
                 # read and write: 6
                 # read only: 4
           },
-          &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-          },
           &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
             &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
                 # can return to indicate a success.
@@ -1986,22 +1972,35 @@
             ],
             &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
           },
+        },
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # 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.
+      &quot;updateSteps&quot;: [ # 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.
+        { # An action that can be taken as part of installing or updating a recipe.
           &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-            &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
             &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
             &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
                 # Defaults to `/` on Linux or `C:\` on Windows.
+            &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
           },
           &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
-            &quot;flags&quot;: [ # The flags to use when installing the MSI
-                # defaults to [&quot;/i&quot;] (i.e. the install flag).
-              &quot;A String&quot;,
-            ],
             &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
                 # successfully. Behaviour defaults to [0]
               42,
             ],
             &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            &quot;flags&quot;: [ # The flags to use when installing the MSI
+                # defaults to [&quot;/i&quot;] (i.e. the install flag).
+              &quot;A String&quot;,
+            ],
           },
           &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
             &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
@@ -2017,8 +2016,54 @@
           &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
             &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
           },
+          &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+          },
+          &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
+            &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            &quot;overwrite&quot;: True or 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.
+            &quot;destination&quot;: &quot;A String&quot;, # Required. The absolute path on the instance to put the file.
+            &quot;permissions&quot;: &quot;A String&quot;, # 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
+          },
+          &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
+            &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
+                # can return to indicate a success.
+              42,
+            ],
+            &quot;artifactId&quot;: &quot;A String&quot;, # The id of the relevant artifact in the recipe.
+            &quot;args&quot;: [ # Arguments to be passed to the provided executable.
+              &quot;A String&quot;,
+            ],
+            &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
+          },
         },
       ],
+      &quot;version&quot;: &quot;A String&quot;, # The version of this software recipe. Version can be up to 4 period
+          # separated numbers (e.g. 12.34.56.78).
+      &quot;desiredState&quot;: &quot;A String&quot;, # Default is INSTALLED. The desired state the agent should maintain for this
+          # recipe.
+          #
+          # INSTALLED: The software recipe is installed on the instance but
+          #            won&#x27;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.
     },
   ],
   &quot;assignment&quot;: { # An assignment represents the group or groups of VM instances that the policy # Required. Specifies the VM instances that are assigned to this policy. This allows
@@ -2037,30 +2082,6 @@
       # 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.
-    &quot;groupLabels&quot;: [ # Targets instances matching at least one of these label sets. This allows
-        # an assignment to target disparate groups, for example &quot;env=prod or
-        # env=staging&quot;.
-      { # Represents a group of VM intances that can be identified as having all
-          # these labels, for example &quot;env=prod and app=web&quot;.
-        &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for an
-            # instance to be included in this assignment group.
-          &quot;a_key&quot;: &quot;A String&quot;,
-        },
-      },
-    ],
-    &quot;osTypes&quot;: [ # 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.
-      { # Defines the criteria for selecting VM Instances by OS type.
-        &quot;osShortName&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-            # OS short name, for example &quot;debian&quot; or &quot;windows&quot;.
-        &quot;osArchitecture&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-            # OS architecture.
-        &quot;osVersion&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-            # following OS version.
-      },
-    ],
     &quot;instances&quot;: [ # Targets any of the instances specified. Instances are specified by their
         # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.
         #
@@ -2087,6 +2108,30 @@
         # of changes by zone.
       &quot;A String&quot;,
     ],
+    &quot;groupLabels&quot;: [ # Targets instances matching at least one of these label sets. This allows
+        # an assignment to target disparate groups, for example &quot;env=prod or
+        # env=staging&quot;.
+      { # Represents a group of VM intances that can be identified as having all
+          # these labels, for example &quot;env=prod and app=web&quot;.
+        &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for an
+            # instance to be included in this assignment group.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;osTypes&quot;: [ # 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.
+      { # Defines the criteria for selecting VM Instances by OS type.
+        &quot;osShortName&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+            # OS short name, for example &quot;debian&quot; or &quot;windows&quot;.
+        &quot;osArchitecture&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+            # OS architecture.
+        &quot;osVersion&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+            # following OS version.
+      },
+    ],
   },
   &quot;description&quot;: &quot;A String&quot;, # Description of the guest policy. Length of the description is limited
       # to 1024 characters.
@@ -2097,6 +2142,7 @@
     { # A package repository.
       &quot;zypper&quot;: { # Represents a single Zypper package repository. This repository is added to a # A Zypper Repository.
           # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.
+        &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
         &quot;id&quot;: &quot;A String&quot;, # 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
@@ -2105,13 +2151,10 @@
         &quot;gpgKeys&quot;: [ # URIs of GPG keys.
           &quot;A String&quot;,
         ],
-        &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
       },
       &quot;apt&quot;: { # Represents a single Apt package repository. This repository is added to # An Apt Repository.
           # a repo file that is stored at
           # `/etc/apt/sources.list.d/google_osconfig.list`.
-        &quot;archiveType&quot;: &quot;A String&quot;, # Type of archive files in this repository. The default behavior is DEB.
-        &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
         &quot;gpgKey&quot;: &quot;A String&quot;, # 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.
@@ -2119,10 +2162,11 @@
         &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
           &quot;A String&quot;,
         ],
+        &quot;archiveType&quot;: &quot;A String&quot;, # Type of archive files in this repository. The default behavior is DEB.
+        &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
       },
       &quot;yum&quot;: { # Represents a single Yum package repository. This repository is added to a # A Yum Repository.
           # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
-        &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
         &quot;id&quot;: &quot;A String&quot;, # 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
@@ -2131,61 +2175,17 @@
         &quot;gpgKeys&quot;: [ # URIs of GPG keys.
           &quot;A String&quot;,
         ],
+        &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
       },
       &quot;goo&quot;: { # Represents a Goo package repository. These is added to a repo file # A Goo Repository.
           # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
-        &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
         &quot;url&quot;: &quot;A String&quot;, # Required. The url of the repository.
+        &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
       },
     },
   ],
   &quot;etag&quot;: &quot;A String&quot;, # The etag for this guest policy.
       # If this is provided on update, it must match the server&#x27;s etag.
-  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time this guest policy was created.
-  &quot;packages&quot;: [ # The software packages to be managed by this policy.
-    { # 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 &amp;&amp; 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`
-      &quot;name&quot;: &quot;A String&quot;, # 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
-          # package targets.
-      &quot;manager&quot;: &quot;A String&quot;, # 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.
-      &quot;desiredState&quot;: &quot;A String&quot;, # The desired_state the agent should maintain for this package. The
-          # default is to ensure the package is installed.
-    },
-  ],
-  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last time this guest policy was updated.
-  &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this project using one of the following
-      # forms:
-      # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
 }
 
   updateMask: string, Field mask that controls which fields of the guest policy should be
@@ -2202,6 +2202,51 @@
       # policies represent the desired state for VM instance guest environments
       # including packages to install or remove, package repository configurations,
       # and software to install.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time this guest policy was created.
+    &quot;packages&quot;: [ # The software packages to be managed by this policy.
+      { # 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 &amp;&amp; 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`
+        &quot;desiredState&quot;: &quot;A String&quot;, # The desired_state the agent should maintain for this package. The
+            # default is to ensure the package is installed.
+        &quot;name&quot;: &quot;A String&quot;, # 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
+            # package targets.
+        &quot;manager&quot;: &quot;A String&quot;, # 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.
+      },
+    ],
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last time this guest policy was updated.
+    &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this project using one of the following
+        # forms:
+        # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
     &quot;recipes&quot;: [ # A list of Recipes to install on the VM instance.
       { # 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
@@ -2226,96 +2271,6 @@
           #
           # Each script or execution step is run in its own temporary directory which
           # is deleted after completing the step.
-        &quot;name&quot;: &quot;A String&quot;, # 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.
-        &quot;updateSteps&quot;: [ # 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.
-          { # An action that can be taken as part of installing or updating a recipe.
-            &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-              &quot;overwrite&quot;: True or 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.
-              &quot;destination&quot;: &quot;A String&quot;, # Required. The absolute path on the instance to put the file.
-              &quot;permissions&quot;: &quot;A String&quot;, # 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
-            },
-            &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            },
-            &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
-              &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
-                  # can return to indicate a success.
-                42,
-              ],
-              &quot;artifactId&quot;: &quot;A String&quot;, # The id of the relevant artifact in the recipe.
-              &quot;args&quot;: [ # Arguments to be passed to the provided executable.
-                &quot;A String&quot;,
-              ],
-              &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
-            },
-            &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-              &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-              &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
-                  # Defaults to `/` on Linux or `C:\` on Windows.
-            },
-            &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
-              &quot;flags&quot;: [ # The flags to use when installing the MSI
-                  # defaults to [&quot;/i&quot;] (i.e. the install flag).
-                &quot;A String&quot;,
-              ],
-              &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
-                  # successfully. Behaviour defaults to [0]
-                42,
-              ],
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            },
-            &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
-              &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
-                  # successfully. Behaviour defaults to [0]
-                42,
-              ],
-              &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
-              &quot;script&quot;: &quot;A String&quot;, # Required. The shell script to be executed.
-            },
-            &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            },
-          },
-        ],
-        &quot;desiredState&quot;: &quot;A String&quot;, # Default is INSTALLED. The desired state the agent should maintain for this
-            # recipe.
-            #
-            # INSTALLED: The software recipe is installed on the instance but
-            #            won&#x27;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.
-        &quot;version&quot;: &quot;A String&quot;, # The version of this software recipe. Version can be up to 4 period
-            # separated numbers (e.g. 12.34.56.78).
         &quot;artifacts&quot;: [ # Resources available to be used in the steps in the recipe.
           { # Specifies a resource to be used in the recipe.
             &quot;remote&quot;: { # Specifies an artifact available via some URI. # A generic remote artifact.
@@ -2328,6 +2283,12 @@
                   # and path following the format {protocol}://{location}.
             },
             &quot;gcs&quot;: { # Specifies an artifact available as a Google Cloud Storage object. # A Google Cloud Storage artifact.
+              &quot;object&quot;: &quot;A String&quot;, # 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`.
               &quot;generation&quot;: &quot;A String&quot;, # 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`
@@ -2336,12 +2297,6 @@
                   # Given an example URL:
                   # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
                   # this value would be `my-bucket`.
-              &quot;object&quot;: &quot;A String&quot;, # 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`.
             },
             &quot;id&quot;: &quot;A String&quot;, # Required. Id of the artifact, which the installation and update steps of this
                 # recipe can reference. Artifacts in a recipe cannot have the same id.
@@ -2357,6 +2312,40 @@
             # executing steps and does not attempt another installation. Any steps taken
             # (including partially completed steps) are not rolled back.
           { # An action that can be taken as part of installing or updating a recipe.
+            &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+              &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
+                  # Defaults to `/` on Linux or `C:\` on Windows.
+              &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
+            },
+            &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
+              &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
+                  # successfully. Behaviour defaults to [0]
+                42,
+              ],
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+              &quot;flags&quot;: [ # The flags to use when installing the MSI
+                  # defaults to [&quot;/i&quot;] (i.e. the install flag).
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
+              &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
+                  # successfully. Behaviour defaults to [0]
+                42,
+              ],
+              &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+              &quot;script&quot;: &quot;A String&quot;, # Required. The shell script to be executed.
+            },
+            &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            },
+            &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            },
             &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
               &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
               &quot;overwrite&quot;: True or False, # Whether to allow this step to overwrite existing files. If this is
@@ -2377,9 +2366,6 @@
                   # read and write: 6
                   # read only: 4
             },
-            &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
-              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
-            },
             &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
               &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
                   # can return to indicate a success.
@@ -2391,22 +2377,35 @@
               ],
               &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
             },
+          },
+        ],
+        &quot;name&quot;: &quot;A String&quot;, # 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.
+        &quot;updateSteps&quot;: [ # 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.
+          { # An action that can be taken as part of installing or updating a recipe.
             &quot;archiveExtraction&quot;: { # Extracts an archive of the type specified in the specified directory. # Extracts an archive into the specified directory.
-              &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
               &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
               &quot;destination&quot;: &quot;A String&quot;, # Directory to extract archive to.
                   # Defaults to `/` on Linux or `C:\` on Windows.
+              &quot;type&quot;: &quot;A String&quot;, # Required. The type of the archive to extract.
             },
             &quot;msiInstallation&quot;: { # Installs an MSI file. # Installs an MSI file.
-              &quot;flags&quot;: [ # The flags to use when installing the MSI
-                  # defaults to [&quot;/i&quot;] (i.e. the install flag).
-                &quot;A String&quot;,
-              ],
               &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
                   # successfully. Behaviour defaults to [0]
                 42,
               ],
               &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+              &quot;flags&quot;: [ # The flags to use when installing the MSI
+                  # defaults to [&quot;/i&quot;] (i.e. the install flag).
+                &quot;A String&quot;,
+              ],
             },
             &quot;scriptRun&quot;: { # Runs a script through an interpreter. # Runs commands in a shell.
               &quot;allowedExitCodes&quot;: [ # Return codes that indicate that the software installed or updated
@@ -2422,8 +2421,54 @@
             &quot;rpmInstallation&quot;: { # Installs an rpm file via the rpm utility. # Installs an rpm file via the rpm utility.
               &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
             },
+            &quot;dpkgInstallation&quot;: { # Installs a deb via dpkg. # Installs a deb file via dpkg.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+            },
+            &quot;fileCopy&quot;: { # Copies the artifact to the specified path on the instance. # Copies a file onto the instance.
+              &quot;artifactId&quot;: &quot;A String&quot;, # Required. The id of the relevant artifact in the recipe.
+              &quot;overwrite&quot;: True or 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.
+              &quot;destination&quot;: &quot;A String&quot;, # Required. The absolute path on the instance to put the file.
+              &quot;permissions&quot;: &quot;A String&quot;, # 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
+            },
+            &quot;fileExec&quot;: { # Executes an artifact or local file. # Executes an artifact or local file.
+              &quot;allowedExitCodes&quot;: [ # Defaults to [0]. A list of possible return values that the program
+                  # can return to indicate a success.
+                42,
+              ],
+              &quot;artifactId&quot;: &quot;A String&quot;, # The id of the relevant artifact in the recipe.
+              &quot;args&quot;: [ # Arguments to be passed to the provided executable.
+                &quot;A String&quot;,
+              ],
+              &quot;localPath&quot;: &quot;A String&quot;, # The absolute path of the file on the local filesystem.
+            },
           },
         ],
+        &quot;version&quot;: &quot;A String&quot;, # The version of this software recipe. Version can be up to 4 period
+            # separated numbers (e.g. 12.34.56.78).
+        &quot;desiredState&quot;: &quot;A String&quot;, # Default is INSTALLED. The desired state the agent should maintain for this
+            # recipe.
+            #
+            # INSTALLED: The software recipe is installed on the instance but
+            #            won&#x27;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.
       },
     ],
     &quot;assignment&quot;: { # An assignment represents the group or groups of VM instances that the policy # Required. Specifies the VM instances that are assigned to this policy. This allows
@@ -2442,30 +2487,6 @@
         # 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.
-      &quot;groupLabels&quot;: [ # Targets instances matching at least one of these label sets. This allows
-          # an assignment to target disparate groups, for example &quot;env=prod or
-          # env=staging&quot;.
-        { # Represents a group of VM intances that can be identified as having all
-            # these labels, for example &quot;env=prod and app=web&quot;.
-          &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for an
-              # instance to be included in this assignment group.
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-        },
-      ],
-      &quot;osTypes&quot;: [ # 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.
-        { # Defines the criteria for selecting VM Instances by OS type.
-          &quot;osShortName&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-              # OS short name, for example &quot;debian&quot; or &quot;windows&quot;.
-          &quot;osArchitecture&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-              # OS architecture.
-          &quot;osVersion&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
-              # following OS version.
-        },
-      ],
       &quot;instances&quot;: [ # Targets any of the instances specified. Instances are specified by their
           # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.
           #
@@ -2492,6 +2513,30 @@
           # of changes by zone.
         &quot;A String&quot;,
       ],
+      &quot;groupLabels&quot;: [ # Targets instances matching at least one of these label sets. This allows
+          # an assignment to target disparate groups, for example &quot;env=prod or
+          # env=staging&quot;.
+        { # Represents a group of VM intances that can be identified as having all
+            # these labels, for example &quot;env=prod and app=web&quot;.
+          &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for an
+              # instance to be included in this assignment group.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+        },
+      ],
+      &quot;osTypes&quot;: [ # 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.
+        { # Defines the criteria for selecting VM Instances by OS type.
+          &quot;osShortName&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+              # OS short name, for example &quot;debian&quot; or &quot;windows&quot;.
+          &quot;osArchitecture&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+              # OS architecture.
+          &quot;osVersion&quot;: &quot;A String&quot;, # Targets VM instances with OS Inventory enabled and having the following
+              # following OS version.
+        },
+      ],
     },
     &quot;description&quot;: &quot;A String&quot;, # Description of the guest policy. Length of the description is limited
         # to 1024 characters.
@@ -2502,6 +2547,7 @@
       { # A package repository.
         &quot;zypper&quot;: { # Represents a single Zypper package repository. This repository is added to a # A Zypper Repository.
             # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.
+          &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
           &quot;id&quot;: &quot;A String&quot;, # 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
@@ -2510,13 +2556,10 @@
           &quot;gpgKeys&quot;: [ # URIs of GPG keys.
             &quot;A String&quot;,
           ],
-          &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
         },
         &quot;apt&quot;: { # Represents a single Apt package repository. This repository is added to # An Apt Repository.
             # a repo file that is stored at
             # `/etc/apt/sources.list.d/google_osconfig.list`.
-          &quot;archiveType&quot;: &quot;A String&quot;, # Type of archive files in this repository. The default behavior is DEB.
-          &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
           &quot;gpgKey&quot;: &quot;A String&quot;, # 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.
@@ -2524,10 +2567,11 @@
           &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
             &quot;A String&quot;,
           ],
+          &quot;archiveType&quot;: &quot;A String&quot;, # Type of archive files in this repository. The default behavior is DEB.
+          &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
         },
         &quot;yum&quot;: { # Represents a single Yum package repository. This repository is added to a # A Yum Repository.
             # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
-          &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
           &quot;id&quot;: &quot;A String&quot;, # 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
@@ -2536,61 +2580,17 @@
           &quot;gpgKeys&quot;: [ # URIs of GPG keys.
             &quot;A String&quot;,
           ],
+          &quot;displayName&quot;: &quot;A String&quot;, # The display name of the repository.
         },
         &quot;goo&quot;: { # Represents a Goo package repository. These is added to a repo file # A Goo Repository.
             # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
-          &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
           &quot;url&quot;: &quot;A String&quot;, # Required. The url of the repository.
+          &quot;name&quot;: &quot;A String&quot;, # Required. The name of the repository.
         },
       },
     ],
     &quot;etag&quot;: &quot;A String&quot;, # The etag for this guest policy.
         # If this is provided on update, it must match the server&#x27;s etag.
-    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time this guest policy was created.
-    &quot;packages&quot;: [ # The software packages to be managed by this policy.
-      { # 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 &amp;&amp; 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`
-        &quot;name&quot;: &quot;A String&quot;, # 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
-            # package targets.
-        &quot;manager&quot;: &quot;A String&quot;, # 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.
-        &quot;desiredState&quot;: &quot;A String&quot;, # The desired_state the agent should maintain for this package. The
-            # default is to ensure the package is installed.
-      },
-    ],
-    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Last time this guest policy was updated.
-    &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this project using one of the following
-        # forms:
-        # `projects/{project_number}/guestPolicies/{guest_policy_id}`.
   }</pre>
 </div>