// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.22.0 // protoc v3.12.2 // source: google/cloud/osconfig/v1beta/guest_policies.proto package osconfig import ( reflect "reflect" sync "sync" proto "github.com/golang/protobuf/proto" timestamp "github.com/golang/protobuf/ptypes/timestamp" _ "google.golang.org/genproto/googleapis/api/annotations" field_mask "google.golang.org/genproto/protobuf/field_mask" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 // The desired state that the OS Config agent maintains on the VM instance. type DesiredState int32 const ( // The default is to ensure the package is installed. DesiredState_DESIRED_STATE_UNSPECIFIED DesiredState = 0 // The agent ensures that the package is installed. DesiredState_INSTALLED DesiredState = 1 // The agent ensures that the package is installed and // periodically checks for and install any updates. DesiredState_UPDATED DesiredState = 2 // The agent ensures that the package is not installed and uninstall it // if detected. DesiredState_REMOVED DesiredState = 3 ) // Enum value maps for DesiredState. var ( DesiredState_name = map[int32]string{ 0: "DESIRED_STATE_UNSPECIFIED", 1: "INSTALLED", 2: "UPDATED", 3: "REMOVED", } DesiredState_value = map[string]int32{ "DESIRED_STATE_UNSPECIFIED": 0, "INSTALLED": 1, "UPDATED": 2, "REMOVED": 3, } ) func (x DesiredState) Enum() *DesiredState { p := new(DesiredState) *p = x return p } func (x DesiredState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (DesiredState) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[0].Descriptor() } func (DesiredState) Type() protoreflect.EnumType { return &file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[0] } func (x DesiredState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use DesiredState.Descriptor instead. func (DesiredState) EnumDescriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{0} } // Types of package managers that may be used to manage this package. type Package_Manager int32 const ( // The default behavior is ANY. Package_MANAGER_UNSPECIFIED Package_Manager = 0 // Apply this package config using the default system package manager. Package_ANY Package_Manager = 1 // Apply this package config only if Apt is available on the system. Package_APT Package_Manager = 2 // Apply this package config only if Yum is available on the system. Package_YUM Package_Manager = 3 // Apply this package config only if Zypper is available on the system. Package_ZYPPER Package_Manager = 4 // Apply this package config only if GooGet is available on the system. Package_GOO Package_Manager = 5 ) // Enum value maps for Package_Manager. var ( Package_Manager_name = map[int32]string{ 0: "MANAGER_UNSPECIFIED", 1: "ANY", 2: "APT", 3: "YUM", 4: "ZYPPER", 5: "GOO", } Package_Manager_value = map[string]int32{ "MANAGER_UNSPECIFIED": 0, "ANY": 1, "APT": 2, "YUM": 3, "ZYPPER": 4, "GOO": 5, } ) func (x Package_Manager) Enum() *Package_Manager { p := new(Package_Manager) *p = x return p } func (x Package_Manager) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Package_Manager) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[1].Descriptor() } func (Package_Manager) Type() protoreflect.EnumType { return &file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[1] } func (x Package_Manager) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Package_Manager.Descriptor instead. func (Package_Manager) EnumDescriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{2, 0} } // Type of archive. type AptRepository_ArchiveType int32 const ( // Unspecified. AptRepository_ARCHIVE_TYPE_UNSPECIFIED AptRepository_ArchiveType = 0 // DEB indicates that the archive contains binary files. AptRepository_DEB AptRepository_ArchiveType = 1 // DEB_SRC indicates that the archive contains source files. AptRepository_DEB_SRC AptRepository_ArchiveType = 2 ) // Enum value maps for AptRepository_ArchiveType. var ( AptRepository_ArchiveType_name = map[int32]string{ 0: "ARCHIVE_TYPE_UNSPECIFIED", 1: "DEB", 2: "DEB_SRC", } AptRepository_ArchiveType_value = map[string]int32{ "ARCHIVE_TYPE_UNSPECIFIED": 0, "DEB": 1, "DEB_SRC": 2, } ) func (x AptRepository_ArchiveType) Enum() *AptRepository_ArchiveType { p := new(AptRepository_ArchiveType) *p = x return p } func (x AptRepository_ArchiveType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AptRepository_ArchiveType) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[2].Descriptor() } func (AptRepository_ArchiveType) Type() protoreflect.EnumType { return &file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[2] } func (x AptRepository_ArchiveType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AptRepository_ArchiveType.Descriptor instead. func (AptRepository_ArchiveType) EnumDescriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{3, 0} } // Specifying the type of archive. type SoftwareRecipe_Step_ExtractArchive_ArchiveType int32 const ( // Indicates that the archive type isn't specified. SoftwareRecipe_Step_ExtractArchive_ARCHIVE_TYPE_UNSPECIFIED SoftwareRecipe_Step_ExtractArchive_ArchiveType = 0 // Indicates that the archive is a tar archive with no encryption. SoftwareRecipe_Step_ExtractArchive_TAR SoftwareRecipe_Step_ExtractArchive_ArchiveType = 1 // Indicates that the archive is a tar archive with gzip encryption. SoftwareRecipe_Step_ExtractArchive_TAR_GZIP SoftwareRecipe_Step_ExtractArchive_ArchiveType = 2 // Indicates that the archive is a tar archive with bzip encryption. SoftwareRecipe_Step_ExtractArchive_TAR_BZIP SoftwareRecipe_Step_ExtractArchive_ArchiveType = 3 // Indicates that the archive is a tar archive with lzma encryption. SoftwareRecipe_Step_ExtractArchive_TAR_LZMA SoftwareRecipe_Step_ExtractArchive_ArchiveType = 4 // Indicates that the archive is a tar archive with xz encryption. SoftwareRecipe_Step_ExtractArchive_TAR_XZ SoftwareRecipe_Step_ExtractArchive_ArchiveType = 5 // Indicates that the archive is a zip archive. SoftwareRecipe_Step_ExtractArchive_ZIP SoftwareRecipe_Step_ExtractArchive_ArchiveType = 11 ) // Enum value maps for SoftwareRecipe_Step_ExtractArchive_ArchiveType. var ( SoftwareRecipe_Step_ExtractArchive_ArchiveType_name = map[int32]string{ 0: "ARCHIVE_TYPE_UNSPECIFIED", 1: "TAR", 2: "TAR_GZIP", 3: "TAR_BZIP", 4: "TAR_LZMA", 5: "TAR_XZ", 11: "ZIP", } SoftwareRecipe_Step_ExtractArchive_ArchiveType_value = map[string]int32{ "ARCHIVE_TYPE_UNSPECIFIED": 0, "TAR": 1, "TAR_GZIP": 2, "TAR_BZIP": 3, "TAR_LZMA": 4, "TAR_XZ": 5, "ZIP": 11, } ) func (x SoftwareRecipe_Step_ExtractArchive_ArchiveType) Enum() *SoftwareRecipe_Step_ExtractArchive_ArchiveType { p := new(SoftwareRecipe_Step_ExtractArchive_ArchiveType) *p = x return p } func (x SoftwareRecipe_Step_ExtractArchive_ArchiveType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SoftwareRecipe_Step_ExtractArchive_ArchiveType) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[3].Descriptor() } func (SoftwareRecipe_Step_ExtractArchive_ArchiveType) Type() protoreflect.EnumType { return &file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[3] } func (x SoftwareRecipe_Step_ExtractArchive_ArchiveType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SoftwareRecipe_Step_ExtractArchive_ArchiveType.Descriptor instead. func (SoftwareRecipe_Step_ExtractArchive_ArchiveType) EnumDescriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1, 1, 0} } // The interpreter used to execute a script. type SoftwareRecipe_Step_RunScript_Interpreter int32 const ( // Default value for ScriptType. SoftwareRecipe_Step_RunScript_INTERPRETER_UNSPECIFIED SoftwareRecipe_Step_RunScript_Interpreter = 0 // Indicates that the script is run with `/bin/sh` on Linux and `cmd` // on windows. SoftwareRecipe_Step_RunScript_SHELL SoftwareRecipe_Step_RunScript_Interpreter = 1 // Indicates that the script is run with powershell. SoftwareRecipe_Step_RunScript_POWERSHELL SoftwareRecipe_Step_RunScript_Interpreter = 3 ) // Enum value maps for SoftwareRecipe_Step_RunScript_Interpreter. var ( SoftwareRecipe_Step_RunScript_Interpreter_name = map[int32]string{ 0: "INTERPRETER_UNSPECIFIED", 1: "SHELL", 3: "POWERSHELL", } SoftwareRecipe_Step_RunScript_Interpreter_value = map[string]int32{ "INTERPRETER_UNSPECIFIED": 0, "SHELL": 1, "POWERSHELL": 3, } ) func (x SoftwareRecipe_Step_RunScript_Interpreter) Enum() *SoftwareRecipe_Step_RunScript_Interpreter { p := new(SoftwareRecipe_Step_RunScript_Interpreter) *p = x return p } func (x SoftwareRecipe_Step_RunScript_Interpreter) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SoftwareRecipe_Step_RunScript_Interpreter) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[4].Descriptor() } func (SoftwareRecipe_Step_RunScript_Interpreter) Type() protoreflect.EnumType { return &file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes[4] } func (x SoftwareRecipe_Step_RunScript_Interpreter) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SoftwareRecipe_Step_RunScript_Interpreter.Descriptor instead. func (SoftwareRecipe_Step_RunScript_Interpreter) EnumDescriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1, 6, 0} } // An OS Config resource representing a guest configuration policy. These // policies represent the desired state for VM instance guest environments // including packages to install or remove, package repository configurations, // and software to install. type GuestPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. Unique name of the resource in this project using one of the following // forms: // `projects/{project_number}/guestPolicies/{guest_policy_id}`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Description of the guest policy. Length of the description is limited // to 1024 characters. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // Output only. Time this guest policy was created. CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // Output only. Last time this guest policy was updated. UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` // Required. Specifies the VM instances that are assigned to this policy. This allows // you to target sets or groups of VM instances by different parameters such // as labels, names, OS, or zones. // // If left empty, all VM instances underneath this policy are targeted. // // At the same level in the resource hierarchy (that is within a project), the // service prevents the creation of multiple policies that conflict with // each other. For more information, see how the service [handles assignment // conflicts](/compute/docs/os-config-management/create-guest-policy#handle-conflicts). Assignment *Assignment `protobuf:"bytes,6,opt,name=assignment,proto3" json:"assignment,omitempty"` // The software packages to be managed by this policy. Packages []*Package `protobuf:"bytes,7,rep,name=packages,proto3" json:"packages,omitempty"` // A list of package repositories to configure on the VM instance. This is // done before any other configs are applied so they can use these repos. // Package repositories are only configured if the corresponding package // manager(s) are available. PackageRepositories []*PackageRepository `protobuf:"bytes,8,rep,name=package_repositories,json=packageRepositories,proto3" json:"package_repositories,omitempty"` // A list of Recipes to install on the VM instance. Recipes []*SoftwareRecipe `protobuf:"bytes,9,rep,name=recipes,proto3" json:"recipes,omitempty"` // The etag for this guest policy. // If this is provided on update, it must match the server's etag. Etag string `protobuf:"bytes,10,opt,name=etag,proto3" json:"etag,omitempty"` } func (x *GuestPolicy) Reset() { *x = GuestPolicy{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GuestPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*GuestPolicy) ProtoMessage() {} func (x *GuestPolicy) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GuestPolicy.ProtoReflect.Descriptor instead. func (*GuestPolicy) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{0} } func (x *GuestPolicy) GetName() string { if x != nil { return x.Name } return "" } func (x *GuestPolicy) GetDescription() string { if x != nil { return x.Description } return "" } func (x *GuestPolicy) GetCreateTime() *timestamp.Timestamp { if x != nil { return x.CreateTime } return nil } func (x *GuestPolicy) GetUpdateTime() *timestamp.Timestamp { if x != nil { return x.UpdateTime } return nil } func (x *GuestPolicy) GetAssignment() *Assignment { if x != nil { return x.Assignment } return nil } func (x *GuestPolicy) GetPackages() []*Package { if x != nil { return x.Packages } return nil } func (x *GuestPolicy) GetPackageRepositories() []*PackageRepository { if x != nil { return x.PackageRepositories } return nil } func (x *GuestPolicy) GetRecipes() []*SoftwareRecipe { if x != nil { return x.Recipes } return nil } func (x *GuestPolicy) GetEtag() string { if x != nil { return x.Etag } return "" } // An assignment represents the group or groups of VM instances that the policy // applies to. // // If an assignment is empty, it applies to all VM instances. Otherwise, the // targeted VM instances must meet all the criteria specified. So if both // labels and zones are specified, the policy applies to VM instances with those // labels and in those zones. type Assignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 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". GroupLabels []*Assignment_GroupLabel `protobuf:"bytes,1,rep,name=group_labels,json=groupLabels,proto3" json:"group_labels,omitempty"` // Targets instances in any of these zones. Leave empty to target instances // in any zone. // // Zonal targeting is uncommon and is supported to facilitate the management // of changes by zone. Zones []string `protobuf:"bytes,2,rep,name=zones,proto3" json:"zones,omitempty"` // Targets any of the instances specified. Instances are specified by their // URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`. // // Instance targeting is uncommon and is supported to facilitate the // management of changes by the instance or to target specific VM instances // for development and testing. // // Only supported for project-level policies and must reference instances // within this project. Instances []string `protobuf:"bytes,3,rep,name=instances,proto3" json:"instances,omitempty"` // Targets VM instances whose name starts with one of these prefixes. // // Like labels, this is another way to group VM instances when targeting // configs, for example prefix="prod-". // // Only supported for project-level policies. InstanceNamePrefixes []string `protobuf:"bytes,4,rep,name=instance_name_prefixes,json=instanceNamePrefixes,proto3" json:"instance_name_prefixes,omitempty"` // 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. OsTypes []*Assignment_OsType `protobuf:"bytes,5,rep,name=os_types,json=osTypes,proto3" json:"os_types,omitempty"` } func (x *Assignment) Reset() { *x = Assignment{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Assignment) String() string { return protoimpl.X.MessageStringOf(x) } func (*Assignment) ProtoMessage() {} func (x *Assignment) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Assignment.ProtoReflect.Descriptor instead. func (*Assignment) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{1} } func (x *Assignment) GetGroupLabels() []*Assignment_GroupLabel { if x != nil { return x.GroupLabels } return nil } func (x *Assignment) GetZones() []string { if x != nil { return x.Zones } return nil } func (x *Assignment) GetInstances() []string { if x != nil { return x.Instances } return nil } func (x *Assignment) GetInstanceNamePrefixes() []string { if x != nil { return x.InstanceNamePrefixes } return nil } func (x *Assignment) GetOsTypes() []*Assignment_OsType { if x != nil { return x.OsTypes } return nil } // 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` type Package struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 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. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The desired_state the agent should maintain for this package. The // default is to ensure the package is installed. DesiredState DesiredState `protobuf:"varint,2,opt,name=desired_state,json=desiredState,proto3,enum=google.cloud.osconfig.v1beta.DesiredState" json:"desired_state,omitempty"` // 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. Manager Package_Manager `protobuf:"varint,3,opt,name=manager,proto3,enum=google.cloud.osconfig.v1beta.Package_Manager" json:"manager,omitempty"` } func (x *Package) Reset() { *x = Package{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Package) String() string { return protoimpl.X.MessageStringOf(x) } func (*Package) ProtoMessage() {} func (x *Package) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Package.ProtoReflect.Descriptor instead. func (*Package) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{2} } func (x *Package) GetName() string { if x != nil { return x.Name } return "" } func (x *Package) GetDesiredState() DesiredState { if x != nil { return x.DesiredState } return DesiredState_DESIRED_STATE_UNSPECIFIED } func (x *Package) GetManager() Package_Manager { if x != nil { return x.Manager } return Package_MANAGER_UNSPECIFIED } // Represents a single Apt package repository. This repository is added to // a repo file that is stored at // `/etc/apt/sources.list.d/google_osconfig.list`. type AptRepository struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Type of archive files in this repository. The default behavior is DEB. ArchiveType AptRepository_ArchiveType `protobuf:"varint,1,opt,name=archive_type,json=archiveType,proto3,enum=google.cloud.osconfig.v1beta.AptRepository_ArchiveType" json:"archive_type,omitempty"` // Required. URI for this repository. Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` // Required. Distribution of this repository. Distribution string `protobuf:"bytes,3,opt,name=distribution,proto3" json:"distribution,omitempty"` // Required. List of components for this repository. Must contain at least one item. Components []string `protobuf:"bytes,4,rep,name=components,proto3" json:"components,omitempty"` // 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. GpgKey string `protobuf:"bytes,5,opt,name=gpg_key,json=gpgKey,proto3" json:"gpg_key,omitempty"` } func (x *AptRepository) Reset() { *x = AptRepository{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AptRepository) String() string { return protoimpl.X.MessageStringOf(x) } func (*AptRepository) ProtoMessage() {} func (x *AptRepository) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AptRepository.ProtoReflect.Descriptor instead. func (*AptRepository) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{3} } func (x *AptRepository) GetArchiveType() AptRepository_ArchiveType { if x != nil { return x.ArchiveType } return AptRepository_ARCHIVE_TYPE_UNSPECIFIED } func (x *AptRepository) GetUri() string { if x != nil { return x.Uri } return "" } func (x *AptRepository) GetDistribution() string { if x != nil { return x.Distribution } return "" } func (x *AptRepository) GetComponents() []string { if x != nil { return x.Components } return nil } func (x *AptRepository) GetGpgKey() string { if x != nil { return x.GpgKey } return "" } // Represents a single Yum package repository. This repository is added to a // repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`. type YumRepository struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. A one word, unique name for this repository. This is // the `repo id` in the Yum config file and also the `display_name` if // `display_name` is omitted. This id is also used as the unique identifier // when checking for guest policy conflicts. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The display name of the repository. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // Required. The location of the repository directory. BaseUrl string `protobuf:"bytes,3,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` // URIs of GPG keys. GpgKeys []string `protobuf:"bytes,4,rep,name=gpg_keys,json=gpgKeys,proto3" json:"gpg_keys,omitempty"` } func (x *YumRepository) Reset() { *x = YumRepository{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *YumRepository) String() string { return protoimpl.X.MessageStringOf(x) } func (*YumRepository) ProtoMessage() {} func (x *YumRepository) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use YumRepository.ProtoReflect.Descriptor instead. func (*YumRepository) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{4} } func (x *YumRepository) GetId() string { if x != nil { return x.Id } return "" } func (x *YumRepository) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *YumRepository) GetBaseUrl() string { if x != nil { return x.BaseUrl } return "" } func (x *YumRepository) GetGpgKeys() []string { if x != nil { return x.GpgKeys } return nil } // Represents a single Zypper package repository. This repository is added to a // repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`. type ZypperRepository struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. A one word, unique name for this repository. This is // the `repo id` in the zypper config file and also the `display_name` if // `display_name` is omitted. This id is also used as the unique identifier // when checking for guest policy conflicts. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The display name of the repository. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // Required. The location of the repository directory. BaseUrl string `protobuf:"bytes,3,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` // URIs of GPG keys. GpgKeys []string `protobuf:"bytes,4,rep,name=gpg_keys,json=gpgKeys,proto3" json:"gpg_keys,omitempty"` } func (x *ZypperRepository) Reset() { *x = ZypperRepository{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ZypperRepository) String() string { return protoimpl.X.MessageStringOf(x) } func (*ZypperRepository) ProtoMessage() {} func (x *ZypperRepository) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ZypperRepository.ProtoReflect.Descriptor instead. func (*ZypperRepository) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{5} } func (x *ZypperRepository) GetId() string { if x != nil { return x.Id } return "" } func (x *ZypperRepository) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *ZypperRepository) GetBaseUrl() string { if x != nil { return x.BaseUrl } return "" } func (x *ZypperRepository) GetGpgKeys() []string { if x != nil { return x.GpgKeys } return nil } // Represents a Goo package repository. These is added to a repo file // that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo. type GooRepository struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The name of the repository. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. The url of the repository. Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` } func (x *GooRepository) Reset() { *x = GooRepository{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GooRepository) String() string { return protoimpl.X.MessageStringOf(x) } func (*GooRepository) ProtoMessage() {} func (x *GooRepository) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GooRepository.ProtoReflect.Descriptor instead. func (*GooRepository) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{6} } func (x *GooRepository) GetName() string { if x != nil { return x.Name } return "" } func (x *GooRepository) GetUrl() string { if x != nil { return x.Url } return "" } // A package repository. type PackageRepository struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A specific type of repository. // // Types that are assignable to Repository: // *PackageRepository_Apt // *PackageRepository_Yum // *PackageRepository_Zypper // *PackageRepository_Goo Repository isPackageRepository_Repository `protobuf_oneof:"repository"` } func (x *PackageRepository) Reset() { *x = PackageRepository{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageRepository) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageRepository) ProtoMessage() {} func (x *PackageRepository) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageRepository.ProtoReflect.Descriptor instead. func (*PackageRepository) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{7} } func (m *PackageRepository) GetRepository() isPackageRepository_Repository { if m != nil { return m.Repository } return nil } func (x *PackageRepository) GetApt() *AptRepository { if x, ok := x.GetRepository().(*PackageRepository_Apt); ok { return x.Apt } return nil } func (x *PackageRepository) GetYum() *YumRepository { if x, ok := x.GetRepository().(*PackageRepository_Yum); ok { return x.Yum } return nil } func (x *PackageRepository) GetZypper() *ZypperRepository { if x, ok := x.GetRepository().(*PackageRepository_Zypper); ok { return x.Zypper } return nil } func (x *PackageRepository) GetGoo() *GooRepository { if x, ok := x.GetRepository().(*PackageRepository_Goo); ok { return x.Goo } return nil } type isPackageRepository_Repository interface { isPackageRepository_Repository() } type PackageRepository_Apt struct { // An Apt Repository. Apt *AptRepository `protobuf:"bytes,1,opt,name=apt,proto3,oneof"` } type PackageRepository_Yum struct { // A Yum Repository. Yum *YumRepository `protobuf:"bytes,2,opt,name=yum,proto3,oneof"` } type PackageRepository_Zypper struct { // A Zypper Repository. Zypper *ZypperRepository `protobuf:"bytes,3,opt,name=zypper,proto3,oneof"` } type PackageRepository_Goo struct { // A Goo Repository. Goo *GooRepository `protobuf:"bytes,4,opt,name=goo,proto3,oneof"` } func (*PackageRepository_Apt) isPackageRepository_Repository() {} func (*PackageRepository_Yum) isPackageRepository_Repository() {} func (*PackageRepository_Zypper) isPackageRepository_Repository() {} func (*PackageRepository_Goo) isPackageRepository_Repository() {} // A software recipe is a set of instructions for installing and configuring a // piece of software. It consists of a set of artifacts that are // downloaded, and a set of steps that install, configure, and/or update the // software. // // Recipes support installing and updating software from artifacts in the // following formats: // Zip archive, Tar archive, Windows MSI, Debian package, and RPM package. // // Additionally, recipes support executing a script (either defined in a file or // directly in this api) in bash, sh, cmd, and powershell. // // Updating a software recipe // // If a recipe is assigned to an instance and there is a recipe with the same // name but a lower version already installed and the assigned state // of the recipe is `INSTALLED_KEEP_UPDATED`, then the recipe is updated to // the new version. // // Script Working Directories // // Each script or execution step is run in its own temporary directory which // is deleted after completing the step. type SoftwareRecipe struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 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. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The version of this software recipe. Version can be up to 4 period // separated numbers (e.g. 12.34.56.78). Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // Resources available to be used in the steps in the recipe. Artifacts []*SoftwareRecipe_Artifact `protobuf:"bytes,3,rep,name=artifacts,proto3" json:"artifacts,omitempty"` // Actions to be taken for installing this recipe. On failure it stops // executing steps and does not attempt another installation. Any steps taken // (including partially completed steps) are not rolled back. InstallSteps []*SoftwareRecipe_Step `protobuf:"bytes,4,rep,name=install_steps,json=installSteps,proto3" json:"install_steps,omitempty"` // 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. UpdateSteps []*SoftwareRecipe_Step `protobuf:"bytes,5,rep,name=update_steps,json=updateSteps,proto3" json:"update_steps,omitempty"` // 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. // INSTALLED_KEEP_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. DesiredState DesiredState `protobuf:"varint,6,opt,name=desired_state,json=desiredState,proto3,enum=google.cloud.osconfig.v1beta.DesiredState" json:"desired_state,omitempty"` } func (x *SoftwareRecipe) Reset() { *x = SoftwareRecipe{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe) ProtoMessage() {} func (x *SoftwareRecipe) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe.ProtoReflect.Descriptor instead. func (*SoftwareRecipe) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8} } func (x *SoftwareRecipe) GetName() string { if x != nil { return x.Name } return "" } func (x *SoftwareRecipe) GetVersion() string { if x != nil { return x.Version } return "" } func (x *SoftwareRecipe) GetArtifacts() []*SoftwareRecipe_Artifact { if x != nil { return x.Artifacts } return nil } func (x *SoftwareRecipe) GetInstallSteps() []*SoftwareRecipe_Step { if x != nil { return x.InstallSteps } return nil } func (x *SoftwareRecipe) GetUpdateSteps() []*SoftwareRecipe_Step { if x != nil { return x.UpdateSteps } return nil } func (x *SoftwareRecipe) GetDesiredState() DesiredState { if x != nil { return x.DesiredState } return DesiredState_DESIRED_STATE_UNSPECIFIED } // A request message for creating a guest policy. type CreateGuestPolicyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The resource name of the parent using one of the following forms: // `projects/{project_number}`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The logical name of the guest policy in the project // with the following restrictions: // // * Must contain only lowercase letters, numbers, and hyphens. // * Must start with a letter. // * Must be between 1-63 characters. // * Must end with a number or a letter. // * Must be unique within the project. GuestPolicyId string `protobuf:"bytes,2,opt,name=guest_policy_id,json=guestPolicyId,proto3" json:"guest_policy_id,omitempty"` // Required. The GuestPolicy to create. GuestPolicy *GuestPolicy `protobuf:"bytes,3,opt,name=guest_policy,json=guestPolicy,proto3" json:"guest_policy,omitempty"` } func (x *CreateGuestPolicyRequest) Reset() { *x = CreateGuestPolicyRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateGuestPolicyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateGuestPolicyRequest) ProtoMessage() {} func (x *CreateGuestPolicyRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreateGuestPolicyRequest.ProtoReflect.Descriptor instead. func (*CreateGuestPolicyRequest) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{9} } func (x *CreateGuestPolicyRequest) GetParent() string { if x != nil { return x.Parent } return "" } func (x *CreateGuestPolicyRequest) GetGuestPolicyId() string { if x != nil { return x.GuestPolicyId } return "" } func (x *CreateGuestPolicyRequest) GetGuestPolicy() *GuestPolicy { if x != nil { return x.GuestPolicy } return nil } // A request message for retrieving a guest policy. type GetGuestPolicyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The resource name of the guest policy using one of the following forms: // `projects/{project_number}/guestPolicies/{guest_policy_id}`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *GetGuestPolicyRequest) Reset() { *x = GetGuestPolicyRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetGuestPolicyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetGuestPolicyRequest) ProtoMessage() {} func (x *GetGuestPolicyRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetGuestPolicyRequest.ProtoReflect.Descriptor instead. func (*GetGuestPolicyRequest) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{10} } func (x *GetGuestPolicyRequest) GetName() string { if x != nil { return x.Name } return "" } // A request message for listing guest policies. type ListGuestPoliciesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The resource name of the parent using one of the following forms: // `projects/{project_number}`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of guest policies to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // A pagination token returned from a previous call to `ListGuestPolicies` // that indicates where this listing should continue from. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *ListGuestPoliciesRequest) Reset() { *x = ListGuestPoliciesRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListGuestPoliciesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListGuestPoliciesRequest) ProtoMessage() {} func (x *ListGuestPoliciesRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListGuestPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListGuestPoliciesRequest) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{11} } func (x *ListGuestPoliciesRequest) GetParent() string { if x != nil { return x.Parent } return "" } func (x *ListGuestPoliciesRequest) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *ListGuestPoliciesRequest) GetPageToken() string { if x != nil { return x.PageToken } return "" } // A response message for listing guest policies. type ListGuestPoliciesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of GuestPolicies. GuestPolicies []*GuestPolicy `protobuf:"bytes,1,rep,name=guest_policies,json=guestPolicies,proto3" json:"guest_policies,omitempty"` // A pagination token that can be used to get the next page // of guest policies. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } func (x *ListGuestPoliciesResponse) Reset() { *x = ListGuestPoliciesResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListGuestPoliciesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListGuestPoliciesResponse) ProtoMessage() {} func (x *ListGuestPoliciesResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListGuestPoliciesResponse.ProtoReflect.Descriptor instead. func (*ListGuestPoliciesResponse) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{12} } func (x *ListGuestPoliciesResponse) GetGuestPolicies() []*GuestPolicy { if x != nil { return x.GuestPolicies } return nil } func (x *ListGuestPoliciesResponse) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } // A request message for updating a guest policy. type UpdateGuestPolicyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The updated GuestPolicy. GuestPolicy *GuestPolicy `protobuf:"bytes,1,opt,name=guest_policy,json=guestPolicy,proto3" json:"guest_policy,omitempty"` // Field mask that controls which fields of the guest policy should be // updated. UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } func (x *UpdateGuestPolicyRequest) Reset() { *x = UpdateGuestPolicyRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateGuestPolicyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateGuestPolicyRequest) ProtoMessage() {} func (x *UpdateGuestPolicyRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateGuestPolicyRequest.ProtoReflect.Descriptor instead. func (*UpdateGuestPolicyRequest) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{13} } func (x *UpdateGuestPolicyRequest) GetGuestPolicy() *GuestPolicy { if x != nil { return x.GuestPolicy } return nil } func (x *UpdateGuestPolicyRequest) GetUpdateMask() *field_mask.FieldMask { if x != nil { return x.UpdateMask } return nil } // A request message for deleting a guest policy. type DeleteGuestPolicyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The resource name of the guest policy using one of the following forms: // `projects/{project_number}/guestPolicies/{guest_policy_id}`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *DeleteGuestPolicyRequest) Reset() { *x = DeleteGuestPolicyRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteGuestPolicyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteGuestPolicyRequest) ProtoMessage() {} func (x *DeleteGuestPolicyRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeleteGuestPolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteGuestPolicyRequest) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{14} } func (x *DeleteGuestPolicyRequest) GetName() string { if x != nil { return x.Name } return "" } // A request message for getting the effective guest policy assigned to the // instance. type LookupEffectiveGuestPolicyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The VM instance whose policies are being looked up. Instance string `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // Short name of the OS running on the instance. The OS Config agent only // provides this field for targeting if OS Inventory is enabled for that // instance. OsShortName string `protobuf:"bytes,2,opt,name=os_short_name,json=osShortName,proto3" json:"os_short_name,omitempty"` // Version of the OS running on the instance. The OS Config agent only // provides this field for targeting if OS Inventory is enabled for that // VM instance. OsVersion string `protobuf:"bytes,3,opt,name=os_version,json=osVersion,proto3" json:"os_version,omitempty"` // Architecture of OS running on the instance. The OS Config agent only // provides this field for targeting if OS Inventory is enabled for that // instance. OsArchitecture string `protobuf:"bytes,4,opt,name=os_architecture,json=osArchitecture,proto3" json:"os_architecture,omitempty"` } func (x *LookupEffectiveGuestPolicyRequest) Reset() { *x = LookupEffectiveGuestPolicyRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LookupEffectiveGuestPolicyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LookupEffectiveGuestPolicyRequest) ProtoMessage() {} func (x *LookupEffectiveGuestPolicyRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LookupEffectiveGuestPolicyRequest.ProtoReflect.Descriptor instead. func (*LookupEffectiveGuestPolicyRequest) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{15} } func (x *LookupEffectiveGuestPolicyRequest) GetInstance() string { if x != nil { return x.Instance } return "" } func (x *LookupEffectiveGuestPolicyRequest) GetOsShortName() string { if x != nil { return x.OsShortName } return "" } func (x *LookupEffectiveGuestPolicyRequest) GetOsVersion() string { if x != nil { return x.OsVersion } return "" } func (x *LookupEffectiveGuestPolicyRequest) GetOsArchitecture() string { if x != nil { return x.OsArchitecture } return "" } // The effective guest policy that applies to a VM instance. type EffectiveGuestPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of package configurations assigned to the VM instance. Packages []*EffectiveGuestPolicy_SourcedPackage `protobuf:"bytes,1,rep,name=packages,proto3" json:"packages,omitempty"` // List of package repository configurations assigned to the VM instance. PackageRepositories []*EffectiveGuestPolicy_SourcedPackageRepository `protobuf:"bytes,2,rep,name=package_repositories,json=packageRepositories,proto3" json:"package_repositories,omitempty"` // List of recipes assigned to the VM instance. SoftwareRecipes []*EffectiveGuestPolicy_SourcedSoftwareRecipe `protobuf:"bytes,3,rep,name=software_recipes,json=softwareRecipes,proto3" json:"software_recipes,omitempty"` } func (x *EffectiveGuestPolicy) Reset() { *x = EffectiveGuestPolicy{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EffectiveGuestPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*EffectiveGuestPolicy) ProtoMessage() {} func (x *EffectiveGuestPolicy) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EffectiveGuestPolicy.ProtoReflect.Descriptor instead. func (*EffectiveGuestPolicy) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{16} } func (x *EffectiveGuestPolicy) GetPackages() []*EffectiveGuestPolicy_SourcedPackage { if x != nil { return x.Packages } return nil } func (x *EffectiveGuestPolicy) GetPackageRepositories() []*EffectiveGuestPolicy_SourcedPackageRepository { if x != nil { return x.PackageRepositories } return nil } func (x *EffectiveGuestPolicy) GetSoftwareRecipes() []*EffectiveGuestPolicy_SourcedSoftwareRecipe { if x != nil { return x.SoftwareRecipes } return nil } // Represents a group of VM intances that can be identified as having all // these labels, for example "env=prod and app=web". type Assignment_GroupLabel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Google Compute Engine instance labels that must be present for an // instance to be included in this assignment group. Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *Assignment_GroupLabel) Reset() { *x = Assignment_GroupLabel{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Assignment_GroupLabel) String() string { return protoimpl.X.MessageStringOf(x) } func (*Assignment_GroupLabel) ProtoMessage() {} func (x *Assignment_GroupLabel) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Assignment_GroupLabel.ProtoReflect.Descriptor instead. func (*Assignment_GroupLabel) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{1, 0} } func (x *Assignment_GroupLabel) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } // Defines the criteria for selecting VM Instances by OS type. type Assignment_OsType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Targets VM instances with OS Inventory enabled and having the following // OS short name, for example "debian" or "windows". OsShortName string `protobuf:"bytes,1,opt,name=os_short_name,json=osShortName,proto3" json:"os_short_name,omitempty"` // Targets VM instances with OS Inventory enabled and having the following // following OS version. OsVersion string `protobuf:"bytes,2,opt,name=os_version,json=osVersion,proto3" json:"os_version,omitempty"` // Targets VM instances with OS Inventory enabled and having the following // OS architecture. OsArchitecture string `protobuf:"bytes,3,opt,name=os_architecture,json=osArchitecture,proto3" json:"os_architecture,omitempty"` } func (x *Assignment_OsType) Reset() { *x = Assignment_OsType{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Assignment_OsType) String() string { return protoimpl.X.MessageStringOf(x) } func (*Assignment_OsType) ProtoMessage() {} func (x *Assignment_OsType) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Assignment_OsType.ProtoReflect.Descriptor instead. func (*Assignment_OsType) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{1, 1} } func (x *Assignment_OsType) GetOsShortName() string { if x != nil { return x.OsShortName } return "" } func (x *Assignment_OsType) GetOsVersion() string { if x != nil { return x.OsVersion } return "" } func (x *Assignment_OsType) GetOsArchitecture() string { if x != nil { return x.OsArchitecture } return "" } // Specifies a resource to be used in the recipe. type SoftwareRecipe_Artifact struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 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. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // A specific type of artifact. // // Types that are assignable to Artifact: // *SoftwareRecipe_Artifact_Remote_ // *SoftwareRecipe_Artifact_Gcs_ Artifact isSoftwareRecipe_Artifact_Artifact `protobuf_oneof:"artifact"` // Defaults to false. When false, recipes are subject to validations // based on the artifact type: // // Remote: A checksum must be specified, and only protocols with // transport-layer security are permitted. // GCS: An object generation number must be specified. AllowInsecure bool `protobuf:"varint,4,opt,name=allow_insecure,json=allowInsecure,proto3" json:"allow_insecure,omitempty"` } func (x *SoftwareRecipe_Artifact) Reset() { *x = SoftwareRecipe_Artifact{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Artifact) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Artifact) ProtoMessage() {} func (x *SoftwareRecipe_Artifact) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Artifact.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Artifact) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 0} } func (x *SoftwareRecipe_Artifact) GetId() string { if x != nil { return x.Id } return "" } func (m *SoftwareRecipe_Artifact) GetArtifact() isSoftwareRecipe_Artifact_Artifact { if m != nil { return m.Artifact } return nil } func (x *SoftwareRecipe_Artifact) GetRemote() *SoftwareRecipe_Artifact_Remote { if x, ok := x.GetArtifact().(*SoftwareRecipe_Artifact_Remote_); ok { return x.Remote } return nil } func (x *SoftwareRecipe_Artifact) GetGcs() *SoftwareRecipe_Artifact_Gcs { if x, ok := x.GetArtifact().(*SoftwareRecipe_Artifact_Gcs_); ok { return x.Gcs } return nil } func (x *SoftwareRecipe_Artifact) GetAllowInsecure() bool { if x != nil { return x.AllowInsecure } return false } type isSoftwareRecipe_Artifact_Artifact interface { isSoftwareRecipe_Artifact_Artifact() } type SoftwareRecipe_Artifact_Remote_ struct { // A generic remote artifact. Remote *SoftwareRecipe_Artifact_Remote `protobuf:"bytes,2,opt,name=remote,proto3,oneof"` } type SoftwareRecipe_Artifact_Gcs_ struct { // A Google Cloud Storage artifact. Gcs *SoftwareRecipe_Artifact_Gcs `protobuf:"bytes,3,opt,name=gcs,proto3,oneof"` } func (*SoftwareRecipe_Artifact_Remote_) isSoftwareRecipe_Artifact_Artifact() {} func (*SoftwareRecipe_Artifact_Gcs_) isSoftwareRecipe_Artifact_Artifact() {} // An action that can be taken as part of installing or updating a recipe. type SoftwareRecipe_Step struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A specific type of step. // // Types that are assignable to Step: // *SoftwareRecipe_Step_FileCopy // *SoftwareRecipe_Step_ArchiveExtraction // *SoftwareRecipe_Step_MsiInstallation // *SoftwareRecipe_Step_DpkgInstallation // *SoftwareRecipe_Step_RpmInstallation // *SoftwareRecipe_Step_FileExec // *SoftwareRecipe_Step_ScriptRun Step isSoftwareRecipe_Step_Step `protobuf_oneof:"step"` } func (x *SoftwareRecipe_Step) Reset() { *x = SoftwareRecipe_Step{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Step) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Step) ProtoMessage() {} func (x *SoftwareRecipe_Step) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Step.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Step) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1} } func (m *SoftwareRecipe_Step) GetStep() isSoftwareRecipe_Step_Step { if m != nil { return m.Step } return nil } func (x *SoftwareRecipe_Step) GetFileCopy() *SoftwareRecipe_Step_CopyFile { if x, ok := x.GetStep().(*SoftwareRecipe_Step_FileCopy); ok { return x.FileCopy } return nil } func (x *SoftwareRecipe_Step) GetArchiveExtraction() *SoftwareRecipe_Step_ExtractArchive { if x, ok := x.GetStep().(*SoftwareRecipe_Step_ArchiveExtraction); ok { return x.ArchiveExtraction } return nil } func (x *SoftwareRecipe_Step) GetMsiInstallation() *SoftwareRecipe_Step_InstallMsi { if x, ok := x.GetStep().(*SoftwareRecipe_Step_MsiInstallation); ok { return x.MsiInstallation } return nil } func (x *SoftwareRecipe_Step) GetDpkgInstallation() *SoftwareRecipe_Step_InstallDpkg { if x, ok := x.GetStep().(*SoftwareRecipe_Step_DpkgInstallation); ok { return x.DpkgInstallation } return nil } func (x *SoftwareRecipe_Step) GetRpmInstallation() *SoftwareRecipe_Step_InstallRpm { if x, ok := x.GetStep().(*SoftwareRecipe_Step_RpmInstallation); ok { return x.RpmInstallation } return nil } func (x *SoftwareRecipe_Step) GetFileExec() *SoftwareRecipe_Step_ExecFile { if x, ok := x.GetStep().(*SoftwareRecipe_Step_FileExec); ok { return x.FileExec } return nil } func (x *SoftwareRecipe_Step) GetScriptRun() *SoftwareRecipe_Step_RunScript { if x, ok := x.GetStep().(*SoftwareRecipe_Step_ScriptRun); ok { return x.ScriptRun } return nil } type isSoftwareRecipe_Step_Step interface { isSoftwareRecipe_Step_Step() } type SoftwareRecipe_Step_FileCopy struct { // Copies a file onto the instance. FileCopy *SoftwareRecipe_Step_CopyFile `protobuf:"bytes,1,opt,name=file_copy,json=fileCopy,proto3,oneof"` } type SoftwareRecipe_Step_ArchiveExtraction struct { // Extracts an archive into the specified directory. ArchiveExtraction *SoftwareRecipe_Step_ExtractArchive `protobuf:"bytes,2,opt,name=archive_extraction,json=archiveExtraction,proto3,oneof"` } type SoftwareRecipe_Step_MsiInstallation struct { // Installs an MSI file. MsiInstallation *SoftwareRecipe_Step_InstallMsi `protobuf:"bytes,3,opt,name=msi_installation,json=msiInstallation,proto3,oneof"` } type SoftwareRecipe_Step_DpkgInstallation struct { // Installs a deb file via dpkg. DpkgInstallation *SoftwareRecipe_Step_InstallDpkg `protobuf:"bytes,4,opt,name=dpkg_installation,json=dpkgInstallation,proto3,oneof"` } type SoftwareRecipe_Step_RpmInstallation struct { // Installs an rpm file via the rpm utility. RpmInstallation *SoftwareRecipe_Step_InstallRpm `protobuf:"bytes,5,opt,name=rpm_installation,json=rpmInstallation,proto3,oneof"` } type SoftwareRecipe_Step_FileExec struct { // Executes an artifact or local file. FileExec *SoftwareRecipe_Step_ExecFile `protobuf:"bytes,6,opt,name=file_exec,json=fileExec,proto3,oneof"` } type SoftwareRecipe_Step_ScriptRun struct { // Runs commands in a shell. ScriptRun *SoftwareRecipe_Step_RunScript `protobuf:"bytes,7,opt,name=script_run,json=scriptRun,proto3,oneof"` } func (*SoftwareRecipe_Step_FileCopy) isSoftwareRecipe_Step_Step() {} func (*SoftwareRecipe_Step_ArchiveExtraction) isSoftwareRecipe_Step_Step() {} func (*SoftwareRecipe_Step_MsiInstallation) isSoftwareRecipe_Step_Step() {} func (*SoftwareRecipe_Step_DpkgInstallation) isSoftwareRecipe_Step_Step() {} func (*SoftwareRecipe_Step_RpmInstallation) isSoftwareRecipe_Step_Step() {} func (*SoftwareRecipe_Step_FileExec) isSoftwareRecipe_Step_Step() {} func (*SoftwareRecipe_Step_ScriptRun) isSoftwareRecipe_Step_Step() {} // Specifies an artifact available via some URI. type SoftwareRecipe_Artifact_Remote struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // URI from which to fetch the object. It should contain both the protocol // and path following the format {protocol}://{location}. Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // Must be provided if `allow_insecure` is `false`. // SHA256 checksum in hex format, to compare to the checksum of the // artifact. If the checksum is not empty and it doesn't match the // artifact then the recipe installation fails before running any of the // steps. Checksum string `protobuf:"bytes,2,opt,name=checksum,proto3" json:"checksum,omitempty"` } func (x *SoftwareRecipe_Artifact_Remote) Reset() { *x = SoftwareRecipe_Artifact_Remote{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Artifact_Remote) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Artifact_Remote) ProtoMessage() {} func (x *SoftwareRecipe_Artifact_Remote) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Artifact_Remote.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Artifact_Remote) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 0, 0} } func (x *SoftwareRecipe_Artifact_Remote) GetUri() string { if x != nil { return x.Uri } return "" } func (x *SoftwareRecipe_Artifact_Remote) GetChecksum() string { if x != nil { return x.Checksum } return "" } // Specifies an artifact available as a Google Cloud Storage object. type SoftwareRecipe_Artifact_Gcs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Bucket of the Google Cloud Storage object. // Given an example URL: // `https://storage.googleapis.com/my-bucket/foo/bar#1234567` // this value would be `my-bucket`. Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` // 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`. Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` // Must be provided if allow_insecure is false. // Generation number of the Google Cloud Storage object. // `https://storage.googleapis.com/my-bucket/foo/bar#1234567` // this value would be `1234567`. Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"` } func (x *SoftwareRecipe_Artifact_Gcs) Reset() { *x = SoftwareRecipe_Artifact_Gcs{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Artifact_Gcs) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Artifact_Gcs) ProtoMessage() {} func (x *SoftwareRecipe_Artifact_Gcs) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Artifact_Gcs.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Artifact_Gcs) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 0, 1} } func (x *SoftwareRecipe_Artifact_Gcs) GetBucket() string { if x != nil { return x.Bucket } return "" } func (x *SoftwareRecipe_Artifact_Gcs) GetObject() string { if x != nil { return x.Object } return "" } func (x *SoftwareRecipe_Artifact_Gcs) GetGeneration() int64 { if x != nil { return x.Generation } return 0 } // Copies the artifact to the specified path on the instance. type SoftwareRecipe_Step_CopyFile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The id of the relevant artifact in the recipe. ArtifactId string `protobuf:"bytes,1,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"` // Required. The absolute path on the instance to put the file. Destination string `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` // 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. Overwrite bool `protobuf:"varint,3,opt,name=overwrite,proto3" json:"overwrite,omitempty"` // 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 Permissions string `protobuf:"bytes,4,opt,name=permissions,proto3" json:"permissions,omitempty"` } func (x *SoftwareRecipe_Step_CopyFile) Reset() { *x = SoftwareRecipe_Step_CopyFile{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Step_CopyFile) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Step_CopyFile) ProtoMessage() {} func (x *SoftwareRecipe_Step_CopyFile) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Step_CopyFile.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Step_CopyFile) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1, 0} } func (x *SoftwareRecipe_Step_CopyFile) GetArtifactId() string { if x != nil { return x.ArtifactId } return "" } func (x *SoftwareRecipe_Step_CopyFile) GetDestination() string { if x != nil { return x.Destination } return "" } func (x *SoftwareRecipe_Step_CopyFile) GetOverwrite() bool { if x != nil { return x.Overwrite } return false } func (x *SoftwareRecipe_Step_CopyFile) GetPermissions() string { if x != nil { return x.Permissions } return "" } // Extracts an archive of the type specified in the specified directory. type SoftwareRecipe_Step_ExtractArchive struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The id of the relevant artifact in the recipe. ArtifactId string `protobuf:"bytes,1,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"` // Directory to extract archive to. // Defaults to `/` on Linux or `C:\` on Windows. Destination string `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` // Required. The type of the archive to extract. Type SoftwareRecipe_Step_ExtractArchive_ArchiveType `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.osconfig.v1beta.SoftwareRecipe_Step_ExtractArchive_ArchiveType" json:"type,omitempty"` } func (x *SoftwareRecipe_Step_ExtractArchive) Reset() { *x = SoftwareRecipe_Step_ExtractArchive{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Step_ExtractArchive) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Step_ExtractArchive) ProtoMessage() {} func (x *SoftwareRecipe_Step_ExtractArchive) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Step_ExtractArchive.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Step_ExtractArchive) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1, 1} } func (x *SoftwareRecipe_Step_ExtractArchive) GetArtifactId() string { if x != nil { return x.ArtifactId } return "" } func (x *SoftwareRecipe_Step_ExtractArchive) GetDestination() string { if x != nil { return x.Destination } return "" } func (x *SoftwareRecipe_Step_ExtractArchive) GetType() SoftwareRecipe_Step_ExtractArchive_ArchiveType { if x != nil { return x.Type } return SoftwareRecipe_Step_ExtractArchive_ARCHIVE_TYPE_UNSPECIFIED } // Installs an MSI file. type SoftwareRecipe_Step_InstallMsi struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The id of the relevant artifact in the recipe. ArtifactId string `protobuf:"bytes,1,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"` // The flags to use when installing the MSI // defaults to ["/i"] (i.e. the install flag). Flags []string `protobuf:"bytes,2,rep,name=flags,proto3" json:"flags,omitempty"` // Return codes that indicate that the software installed or updated // successfully. Behaviour defaults to [0] AllowedExitCodes []int32 `protobuf:"varint,3,rep,packed,name=allowed_exit_codes,json=allowedExitCodes,proto3" json:"allowed_exit_codes,omitempty"` } func (x *SoftwareRecipe_Step_InstallMsi) Reset() { *x = SoftwareRecipe_Step_InstallMsi{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Step_InstallMsi) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Step_InstallMsi) ProtoMessage() {} func (x *SoftwareRecipe_Step_InstallMsi) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Step_InstallMsi.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Step_InstallMsi) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1, 2} } func (x *SoftwareRecipe_Step_InstallMsi) GetArtifactId() string { if x != nil { return x.ArtifactId } return "" } func (x *SoftwareRecipe_Step_InstallMsi) GetFlags() []string { if x != nil { return x.Flags } return nil } func (x *SoftwareRecipe_Step_InstallMsi) GetAllowedExitCodes() []int32 { if x != nil { return x.AllowedExitCodes } return nil } // Installs a deb via dpkg. type SoftwareRecipe_Step_InstallDpkg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The id of the relevant artifact in the recipe. ArtifactId string `protobuf:"bytes,1,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"` } func (x *SoftwareRecipe_Step_InstallDpkg) Reset() { *x = SoftwareRecipe_Step_InstallDpkg{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Step_InstallDpkg) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Step_InstallDpkg) ProtoMessage() {} func (x *SoftwareRecipe_Step_InstallDpkg) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Step_InstallDpkg.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Step_InstallDpkg) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1, 3} } func (x *SoftwareRecipe_Step_InstallDpkg) GetArtifactId() string { if x != nil { return x.ArtifactId } return "" } // Installs an rpm file via the rpm utility. type SoftwareRecipe_Step_InstallRpm struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The id of the relevant artifact in the recipe. ArtifactId string `protobuf:"bytes,1,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"` } func (x *SoftwareRecipe_Step_InstallRpm) Reset() { *x = SoftwareRecipe_Step_InstallRpm{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Step_InstallRpm) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Step_InstallRpm) ProtoMessage() {} func (x *SoftwareRecipe_Step_InstallRpm) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Step_InstallRpm.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Step_InstallRpm) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1, 4} } func (x *SoftwareRecipe_Step_InstallRpm) GetArtifactId() string { if x != nil { return x.ArtifactId } return "" } // Executes an artifact or local file. type SoftwareRecipe_Step_ExecFile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Location of the file to execute. // // Types that are assignable to LocationType: // *SoftwareRecipe_Step_ExecFile_ArtifactId // *SoftwareRecipe_Step_ExecFile_LocalPath LocationType isSoftwareRecipe_Step_ExecFile_LocationType `protobuf_oneof:"location_type"` // Arguments to be passed to the provided executable. Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` // Defaults to [0]. A list of possible return values that the program // can return to indicate a success. AllowedExitCodes []int32 `protobuf:"varint,4,rep,packed,name=allowed_exit_codes,json=allowedExitCodes,proto3" json:"allowed_exit_codes,omitempty"` } func (x *SoftwareRecipe_Step_ExecFile) Reset() { *x = SoftwareRecipe_Step_ExecFile{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Step_ExecFile) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Step_ExecFile) ProtoMessage() {} func (x *SoftwareRecipe_Step_ExecFile) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Step_ExecFile.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Step_ExecFile) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1, 5} } func (m *SoftwareRecipe_Step_ExecFile) GetLocationType() isSoftwareRecipe_Step_ExecFile_LocationType { if m != nil { return m.LocationType } return nil } func (x *SoftwareRecipe_Step_ExecFile) GetArtifactId() string { if x, ok := x.GetLocationType().(*SoftwareRecipe_Step_ExecFile_ArtifactId); ok { return x.ArtifactId } return "" } func (x *SoftwareRecipe_Step_ExecFile) GetLocalPath() string { if x, ok := x.GetLocationType().(*SoftwareRecipe_Step_ExecFile_LocalPath); ok { return x.LocalPath } return "" } func (x *SoftwareRecipe_Step_ExecFile) GetArgs() []string { if x != nil { return x.Args } return nil } func (x *SoftwareRecipe_Step_ExecFile) GetAllowedExitCodes() []int32 { if x != nil { return x.AllowedExitCodes } return nil } type isSoftwareRecipe_Step_ExecFile_LocationType interface { isSoftwareRecipe_Step_ExecFile_LocationType() } type SoftwareRecipe_Step_ExecFile_ArtifactId struct { // The id of the relevant artifact in the recipe. ArtifactId string `protobuf:"bytes,1,opt,name=artifact_id,json=artifactId,proto3,oneof"` } type SoftwareRecipe_Step_ExecFile_LocalPath struct { // The absolute path of the file on the local filesystem. LocalPath string `protobuf:"bytes,2,opt,name=local_path,json=localPath,proto3,oneof"` } func (*SoftwareRecipe_Step_ExecFile_ArtifactId) isSoftwareRecipe_Step_ExecFile_LocationType() {} func (*SoftwareRecipe_Step_ExecFile_LocalPath) isSoftwareRecipe_Step_ExecFile_LocationType() {} // Runs a script through an interpreter. type SoftwareRecipe_Step_RunScript struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The shell script to be executed. Script string `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"` // Return codes that indicate that the software installed or updated // successfully. Behaviour defaults to [0] AllowedExitCodes []int32 `protobuf:"varint,2,rep,packed,name=allowed_exit_codes,json=allowedExitCodes,proto3" json:"allowed_exit_codes,omitempty"` // 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\)). Interpreter SoftwareRecipe_Step_RunScript_Interpreter `protobuf:"varint,3,opt,name=interpreter,proto3,enum=google.cloud.osconfig.v1beta.SoftwareRecipe_Step_RunScript_Interpreter" json:"interpreter,omitempty"` } func (x *SoftwareRecipe_Step_RunScript) Reset() { *x = SoftwareRecipe_Step_RunScript{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SoftwareRecipe_Step_RunScript) String() string { return protoimpl.X.MessageStringOf(x) } func (*SoftwareRecipe_Step_RunScript) ProtoMessage() {} func (x *SoftwareRecipe_Step_RunScript) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SoftwareRecipe_Step_RunScript.ProtoReflect.Descriptor instead. func (*SoftwareRecipe_Step_RunScript) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{8, 1, 6} } func (x *SoftwareRecipe_Step_RunScript) GetScript() string { if x != nil { return x.Script } return "" } func (x *SoftwareRecipe_Step_RunScript) GetAllowedExitCodes() []int32 { if x != nil { return x.AllowedExitCodes } return nil } func (x *SoftwareRecipe_Step_RunScript) GetInterpreter() SoftwareRecipe_Step_RunScript_Interpreter { if x != nil { return x.Interpreter } return SoftwareRecipe_Step_RunScript_INTERPRETER_UNSPECIFIED } // A guest policy package including its source. type EffectiveGuestPolicy_SourcedPackage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the guest policy providing this config. Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` // A software package to configure on the VM instance. Package *Package `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"` } func (x *EffectiveGuestPolicy_SourcedPackage) Reset() { *x = EffectiveGuestPolicy_SourcedPackage{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EffectiveGuestPolicy_SourcedPackage) String() string { return protoimpl.X.MessageStringOf(x) } func (*EffectiveGuestPolicy_SourcedPackage) ProtoMessage() {} func (x *EffectiveGuestPolicy_SourcedPackage) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EffectiveGuestPolicy_SourcedPackage.ProtoReflect.Descriptor instead. func (*EffectiveGuestPolicy_SourcedPackage) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{16, 0} } func (x *EffectiveGuestPolicy_SourcedPackage) GetSource() string { if x != nil { return x.Source } return "" } func (x *EffectiveGuestPolicy_SourcedPackage) GetPackage() *Package { if x != nil { return x.Package } return nil } // A guest policy package repository including its source. type EffectiveGuestPolicy_SourcedPackageRepository struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the guest policy providing this config. Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` // A software package repository to configure on the VM instance. PackageRepository *PackageRepository `protobuf:"bytes,2,opt,name=package_repository,json=packageRepository,proto3" json:"package_repository,omitempty"` } func (x *EffectiveGuestPolicy_SourcedPackageRepository) Reset() { *x = EffectiveGuestPolicy_SourcedPackageRepository{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EffectiveGuestPolicy_SourcedPackageRepository) String() string { return protoimpl.X.MessageStringOf(x) } func (*EffectiveGuestPolicy_SourcedPackageRepository) ProtoMessage() {} func (x *EffectiveGuestPolicy_SourcedPackageRepository) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EffectiveGuestPolicy_SourcedPackageRepository.ProtoReflect.Descriptor instead. func (*EffectiveGuestPolicy_SourcedPackageRepository) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{16, 1} } func (x *EffectiveGuestPolicy_SourcedPackageRepository) GetSource() string { if x != nil { return x.Source } return "" } func (x *EffectiveGuestPolicy_SourcedPackageRepository) GetPackageRepository() *PackageRepository { if x != nil { return x.PackageRepository } return nil } // A guest policy recipe including its source. type EffectiveGuestPolicy_SourcedSoftwareRecipe struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the guest policy providing this config. Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` // A software recipe to configure on the VM instance. SoftwareRecipe *SoftwareRecipe `protobuf:"bytes,2,opt,name=software_recipe,json=softwareRecipe,proto3" json:"software_recipe,omitempty"` } func (x *EffectiveGuestPolicy_SourcedSoftwareRecipe) Reset() { *x = EffectiveGuestPolicy_SourcedSoftwareRecipe{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EffectiveGuestPolicy_SourcedSoftwareRecipe) String() string { return protoimpl.X.MessageStringOf(x) } func (*EffectiveGuestPolicy_SourcedSoftwareRecipe) ProtoMessage() {} func (x *EffectiveGuestPolicy_SourcedSoftwareRecipe) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EffectiveGuestPolicy_SourcedSoftwareRecipe.ProtoReflect.Descriptor instead. func (*EffectiveGuestPolicy_SourcedSoftwareRecipe) Descriptor() ([]byte, []int) { return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP(), []int{16, 2} } func (x *EffectiveGuestPolicy_SourcedSoftwareRecipe) GetSource() string { if x != nil { return x.Source } return "" } func (x *EffectiveGuestPolicy_SourcedSoftwareRecipe) GetSoftwareRecipe() *SoftwareRecipe { if x != nil { return x.SoftwareRecipe } return nil } var File_google_cloud_osconfig_v1beta_guest_policies_proto protoreflect.FileDescriptor var file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDesc = []byte{ 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x04, 0x0a, 0x0b, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x14, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x07, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x3a, 0x59, 0xea, 0x41, 0x56, 0x0a, 0x23, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x22, 0xb3, 0x04, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x08, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0xa0, 0x01, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x74, 0x0a, 0x06, 0x4f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x50, 0x54, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x59, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x5a, 0x59, 0x50, 0x50, 0x45, 0x52, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x4f, 0x4f, 0x10, 0x05, 0x22, 0xac, 0x02, 0x0a, 0x0d, 0x41, 0x70, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x70, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x70, 0x67, 0x4b, 0x65, 0x79, 0x22, 0x41, 0x0a, 0x0b, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x45, 0x42, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x42, 0x5f, 0x53, 0x52, 0x43, 0x10, 0x02, 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x59, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x70, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x67, 0x70, 0x67, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x10, 0x5a, 0x79, 0x70, 0x70, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x70, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x67, 0x70, 0x67, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x3f, 0x0a, 0x0d, 0x47, 0x6f, 0x6f, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xae, 0x02, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x03, 0x61, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x03, 0x61, 0x70, 0x74, 0x12, 0x3f, 0x0a, 0x03, 0x79, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x59, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x03, 0x79, 0x75, 0x6d, 0x12, 0x48, 0x0a, 0x06, 0x7a, 0x79, 0x70, 0x70, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x5a, 0x79, 0x70, 0x70, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x06, 0x7a, 0x79, 0x70, 0x70, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x03, 0x67, 0x6f, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x03, 0x67, 0x6f, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xdf, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x54, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x88, 0x03, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x56, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x03, 0x67, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x63, 0x73, 0x48, 0x00, 0x52, 0x03, 0x67, 0x63, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x1a, 0x36, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x1a, 0x55, 0x0a, 0x03, 0x47, 0x63, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x1a, 0xba, 0x0e, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x59, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x71, 0x0a, 0x12, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x11, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x10, 0x6d, 0x73, 0x69, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4d, 0x73, 0x69, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x73, 0x69, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x11, 0x64, 0x70, 0x6b, 0x67, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x70, 0x6b, 0x67, 0x48, 0x00, 0x52, 0x10, 0x64, 0x70, 0x6b, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x10, 0x72, 0x70, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x70, 0x6d, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x70, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x48, 0x00, 0x52, 0x09, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x75, 0x6e, 0x1a, 0x97, 0x01, 0x0a, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb4, 0x02, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x73, 0x0a, 0x0b, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x41, 0x52, 0x5f, 0x47, 0x5a, 0x49, 0x50, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x41, 0x52, 0x5f, 0x42, 0x5a, 0x49, 0x50, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x41, 0x52, 0x5f, 0x4c, 0x5a, 0x4d, 0x41, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x52, 0x5f, 0x58, 0x5a, 0x10, 0x05, 0x12, 0x07, 0x0a, 0x03, 0x5a, 0x49, 0x50, 0x10, 0x0b, 0x1a, 0x76, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4d, 0x73, 0x69, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x33, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x70, 0x6b, 0x67, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x1a, 0x32, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x70, 0x6d, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x1a, 0xa1, 0x01, 0x0a, 0x08, 0x45, 0x78, 0x65, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x88, 0x02, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x22, 0x45, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x52, 0x45, 0x54, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x22, 0xdf, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x12, 0x23, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x67, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x51, 0x0a, 0x0c, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x67, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x58, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x12, 0x23, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0e, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x67, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0c, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x67, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5b, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0xf3, 0x05, 0x0a, 0x14, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5d, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x7e, 0x0a, 0x14, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x10, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x64, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x1a, 0x92, 0x01, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x12, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x1a, 0x86, 0x01, 0x0a, 0x15, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x64, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x0e, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2a, 0x56, 0x0a, 0x0c, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x53, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x03, 0x42, 0x77, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0d, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x3b, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescOnce sync.Once file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescData = file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDesc ) func file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescGZIP() []byte { file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescOnce.Do(func() { file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescData) }) return file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDescData } var file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_google_cloud_osconfig_v1beta_guest_policies_proto_goTypes = []interface{}{ (DesiredState)(0), // 0: google.cloud.osconfig.v1beta.DesiredState (Package_Manager)(0), // 1: google.cloud.osconfig.v1beta.Package.Manager (AptRepository_ArchiveType)(0), // 2: google.cloud.osconfig.v1beta.AptRepository.ArchiveType (SoftwareRecipe_Step_ExtractArchive_ArchiveType)(0), // 3: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.ExtractArchive.ArchiveType (SoftwareRecipe_Step_RunScript_Interpreter)(0), // 4: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.RunScript.Interpreter (*GuestPolicy)(nil), // 5: google.cloud.osconfig.v1beta.GuestPolicy (*Assignment)(nil), // 6: google.cloud.osconfig.v1beta.Assignment (*Package)(nil), // 7: google.cloud.osconfig.v1beta.Package (*AptRepository)(nil), // 8: google.cloud.osconfig.v1beta.AptRepository (*YumRepository)(nil), // 9: google.cloud.osconfig.v1beta.YumRepository (*ZypperRepository)(nil), // 10: google.cloud.osconfig.v1beta.ZypperRepository (*GooRepository)(nil), // 11: google.cloud.osconfig.v1beta.GooRepository (*PackageRepository)(nil), // 12: google.cloud.osconfig.v1beta.PackageRepository (*SoftwareRecipe)(nil), // 13: google.cloud.osconfig.v1beta.SoftwareRecipe (*CreateGuestPolicyRequest)(nil), // 14: google.cloud.osconfig.v1beta.CreateGuestPolicyRequest (*GetGuestPolicyRequest)(nil), // 15: google.cloud.osconfig.v1beta.GetGuestPolicyRequest (*ListGuestPoliciesRequest)(nil), // 16: google.cloud.osconfig.v1beta.ListGuestPoliciesRequest (*ListGuestPoliciesResponse)(nil), // 17: google.cloud.osconfig.v1beta.ListGuestPoliciesResponse (*UpdateGuestPolicyRequest)(nil), // 18: google.cloud.osconfig.v1beta.UpdateGuestPolicyRequest (*DeleteGuestPolicyRequest)(nil), // 19: google.cloud.osconfig.v1beta.DeleteGuestPolicyRequest (*LookupEffectiveGuestPolicyRequest)(nil), // 20: google.cloud.osconfig.v1beta.LookupEffectiveGuestPolicyRequest (*EffectiveGuestPolicy)(nil), // 21: google.cloud.osconfig.v1beta.EffectiveGuestPolicy (*Assignment_GroupLabel)(nil), // 22: google.cloud.osconfig.v1beta.Assignment.GroupLabel (*Assignment_OsType)(nil), // 23: google.cloud.osconfig.v1beta.Assignment.OsType nil, // 24: google.cloud.osconfig.v1beta.Assignment.GroupLabel.LabelsEntry (*SoftwareRecipe_Artifact)(nil), // 25: google.cloud.osconfig.v1beta.SoftwareRecipe.Artifact (*SoftwareRecipe_Step)(nil), // 26: google.cloud.osconfig.v1beta.SoftwareRecipe.Step (*SoftwareRecipe_Artifact_Remote)(nil), // 27: google.cloud.osconfig.v1beta.SoftwareRecipe.Artifact.Remote (*SoftwareRecipe_Artifact_Gcs)(nil), // 28: google.cloud.osconfig.v1beta.SoftwareRecipe.Artifact.Gcs (*SoftwareRecipe_Step_CopyFile)(nil), // 29: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.CopyFile (*SoftwareRecipe_Step_ExtractArchive)(nil), // 30: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.ExtractArchive (*SoftwareRecipe_Step_InstallMsi)(nil), // 31: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.InstallMsi (*SoftwareRecipe_Step_InstallDpkg)(nil), // 32: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.InstallDpkg (*SoftwareRecipe_Step_InstallRpm)(nil), // 33: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.InstallRpm (*SoftwareRecipe_Step_ExecFile)(nil), // 34: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.ExecFile (*SoftwareRecipe_Step_RunScript)(nil), // 35: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.RunScript (*EffectiveGuestPolicy_SourcedPackage)(nil), // 36: google.cloud.osconfig.v1beta.EffectiveGuestPolicy.SourcedPackage (*EffectiveGuestPolicy_SourcedPackageRepository)(nil), // 37: google.cloud.osconfig.v1beta.EffectiveGuestPolicy.SourcedPackageRepository (*EffectiveGuestPolicy_SourcedSoftwareRecipe)(nil), // 38: google.cloud.osconfig.v1beta.EffectiveGuestPolicy.SourcedSoftwareRecipe (*timestamp.Timestamp)(nil), // 39: google.protobuf.Timestamp (*field_mask.FieldMask)(nil), // 40: google.protobuf.FieldMask } var file_google_cloud_osconfig_v1beta_guest_policies_proto_depIdxs = []int32{ 39, // 0: google.cloud.osconfig.v1beta.GuestPolicy.create_time:type_name -> google.protobuf.Timestamp 39, // 1: google.cloud.osconfig.v1beta.GuestPolicy.update_time:type_name -> google.protobuf.Timestamp 6, // 2: google.cloud.osconfig.v1beta.GuestPolicy.assignment:type_name -> google.cloud.osconfig.v1beta.Assignment 7, // 3: google.cloud.osconfig.v1beta.GuestPolicy.packages:type_name -> google.cloud.osconfig.v1beta.Package 12, // 4: google.cloud.osconfig.v1beta.GuestPolicy.package_repositories:type_name -> google.cloud.osconfig.v1beta.PackageRepository 13, // 5: google.cloud.osconfig.v1beta.GuestPolicy.recipes:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe 22, // 6: google.cloud.osconfig.v1beta.Assignment.group_labels:type_name -> google.cloud.osconfig.v1beta.Assignment.GroupLabel 23, // 7: google.cloud.osconfig.v1beta.Assignment.os_types:type_name -> google.cloud.osconfig.v1beta.Assignment.OsType 0, // 8: google.cloud.osconfig.v1beta.Package.desired_state:type_name -> google.cloud.osconfig.v1beta.DesiredState 1, // 9: google.cloud.osconfig.v1beta.Package.manager:type_name -> google.cloud.osconfig.v1beta.Package.Manager 2, // 10: google.cloud.osconfig.v1beta.AptRepository.archive_type:type_name -> google.cloud.osconfig.v1beta.AptRepository.ArchiveType 8, // 11: google.cloud.osconfig.v1beta.PackageRepository.apt:type_name -> google.cloud.osconfig.v1beta.AptRepository 9, // 12: google.cloud.osconfig.v1beta.PackageRepository.yum:type_name -> google.cloud.osconfig.v1beta.YumRepository 10, // 13: google.cloud.osconfig.v1beta.PackageRepository.zypper:type_name -> google.cloud.osconfig.v1beta.ZypperRepository 11, // 14: google.cloud.osconfig.v1beta.PackageRepository.goo:type_name -> google.cloud.osconfig.v1beta.GooRepository 25, // 15: google.cloud.osconfig.v1beta.SoftwareRecipe.artifacts:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Artifact 26, // 16: google.cloud.osconfig.v1beta.SoftwareRecipe.install_steps:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step 26, // 17: google.cloud.osconfig.v1beta.SoftwareRecipe.update_steps:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step 0, // 18: google.cloud.osconfig.v1beta.SoftwareRecipe.desired_state:type_name -> google.cloud.osconfig.v1beta.DesiredState 5, // 19: google.cloud.osconfig.v1beta.CreateGuestPolicyRequest.guest_policy:type_name -> google.cloud.osconfig.v1beta.GuestPolicy 5, // 20: google.cloud.osconfig.v1beta.ListGuestPoliciesResponse.guest_policies:type_name -> google.cloud.osconfig.v1beta.GuestPolicy 5, // 21: google.cloud.osconfig.v1beta.UpdateGuestPolicyRequest.guest_policy:type_name -> google.cloud.osconfig.v1beta.GuestPolicy 40, // 22: google.cloud.osconfig.v1beta.UpdateGuestPolicyRequest.update_mask:type_name -> google.protobuf.FieldMask 36, // 23: google.cloud.osconfig.v1beta.EffectiveGuestPolicy.packages:type_name -> google.cloud.osconfig.v1beta.EffectiveGuestPolicy.SourcedPackage 37, // 24: google.cloud.osconfig.v1beta.EffectiveGuestPolicy.package_repositories:type_name -> google.cloud.osconfig.v1beta.EffectiveGuestPolicy.SourcedPackageRepository 38, // 25: google.cloud.osconfig.v1beta.EffectiveGuestPolicy.software_recipes:type_name -> google.cloud.osconfig.v1beta.EffectiveGuestPolicy.SourcedSoftwareRecipe 24, // 26: google.cloud.osconfig.v1beta.Assignment.GroupLabel.labels:type_name -> google.cloud.osconfig.v1beta.Assignment.GroupLabel.LabelsEntry 27, // 27: google.cloud.osconfig.v1beta.SoftwareRecipe.Artifact.remote:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Artifact.Remote 28, // 28: google.cloud.osconfig.v1beta.SoftwareRecipe.Artifact.gcs:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Artifact.Gcs 29, // 29: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.file_copy:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step.CopyFile 30, // 30: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.archive_extraction:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step.ExtractArchive 31, // 31: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.msi_installation:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step.InstallMsi 32, // 32: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.dpkg_installation:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step.InstallDpkg 33, // 33: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.rpm_installation:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step.InstallRpm 34, // 34: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.file_exec:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step.ExecFile 35, // 35: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.script_run:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step.RunScript 3, // 36: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.ExtractArchive.type:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step.ExtractArchive.ArchiveType 4, // 37: google.cloud.osconfig.v1beta.SoftwareRecipe.Step.RunScript.interpreter:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe.Step.RunScript.Interpreter 7, // 38: google.cloud.osconfig.v1beta.EffectiveGuestPolicy.SourcedPackage.package:type_name -> google.cloud.osconfig.v1beta.Package 12, // 39: google.cloud.osconfig.v1beta.EffectiveGuestPolicy.SourcedPackageRepository.package_repository:type_name -> google.cloud.osconfig.v1beta.PackageRepository 13, // 40: google.cloud.osconfig.v1beta.EffectiveGuestPolicy.SourcedSoftwareRecipe.software_recipe:type_name -> google.cloud.osconfig.v1beta.SoftwareRecipe 41, // [41:41] is the sub-list for method output_type 41, // [41:41] is the sub-list for method input_type 41, // [41:41] is the sub-list for extension type_name 41, // [41:41] is the sub-list for extension extendee 0, // [0:41] is the sub-list for field type_name } func init() { file_google_cloud_osconfig_v1beta_guest_policies_proto_init() } func file_google_cloud_osconfig_v1beta_guest_policies_proto_init() { if File_google_cloud_osconfig_v1beta_guest_policies_proto != nil { return } if !protoimpl.UnsafeEnabled { file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuestPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Assignment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Package); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AptRepository); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*YumRepository); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZypperRepository); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GooRepository); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageRepository); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateGuestPolicyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGuestPolicyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuestPoliciesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuestPoliciesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateGuestPolicyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteGuestPolicyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookupEffectiveGuestPolicyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EffectiveGuestPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Assignment_GroupLabel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Assignment_OsType); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Artifact); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Step); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Artifact_Remote); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Artifact_Gcs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Step_CopyFile); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Step_ExtractArchive); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Step_InstallMsi); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Step_InstallDpkg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Step_InstallRpm); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Step_ExecFile); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SoftwareRecipe_Step_RunScript); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EffectiveGuestPolicy_SourcedPackage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EffectiveGuestPolicy_SourcedPackageRepository); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EffectiveGuestPolicy_SourcedSoftwareRecipe); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[7].OneofWrappers = []interface{}{ (*PackageRepository_Apt)(nil), (*PackageRepository_Yum)(nil), (*PackageRepository_Zypper)(nil), (*PackageRepository_Goo)(nil), } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[20].OneofWrappers = []interface{}{ (*SoftwareRecipe_Artifact_Remote_)(nil), (*SoftwareRecipe_Artifact_Gcs_)(nil), } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[21].OneofWrappers = []interface{}{ (*SoftwareRecipe_Step_FileCopy)(nil), (*SoftwareRecipe_Step_ArchiveExtraction)(nil), (*SoftwareRecipe_Step_MsiInstallation)(nil), (*SoftwareRecipe_Step_DpkgInstallation)(nil), (*SoftwareRecipe_Step_RpmInstallation)(nil), (*SoftwareRecipe_Step_FileExec)(nil), (*SoftwareRecipe_Step_ScriptRun)(nil), } file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes[29].OneofWrappers = []interface{}{ (*SoftwareRecipe_Step_ExecFile_ArtifactId)(nil), (*SoftwareRecipe_Step_ExecFile_LocalPath)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDesc, NumEnums: 5, NumMessages: 34, NumExtensions: 0, NumServices: 0, }, GoTypes: file_google_cloud_osconfig_v1beta_guest_policies_proto_goTypes, DependencyIndexes: file_google_cloud_osconfig_v1beta_guest_policies_proto_depIdxs, EnumInfos: file_google_cloud_osconfig_v1beta_guest_policies_proto_enumTypes, MessageInfos: file_google_cloud_osconfig_v1beta_guest_policies_proto_msgTypes, }.Build() File_google_cloud_osconfig_v1beta_guest_policies_proto = out.File file_google_cloud_osconfig_v1beta_guest_policies_proto_rawDesc = nil file_google_cloud_osconfig_v1beta_guest_policies_proto_goTypes = nil file_google_cloud_osconfig_v1beta_guest_policies_proto_depIdxs = nil }