...

Source file src/google.golang.org/genproto/googleapis/iam/v2beta/policy.pb.go

Documentation: google.golang.org/genproto/googleapis/iam/v2beta

     1  // Copyright 2022 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v3.12.2
    19  // source: google/iam/v2beta/policy.proto
    20  
    21  package iam
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	longrunning "google.golang.org/genproto/googleapis/longrunning"
    30  	grpc "google.golang.org/grpc"
    31  	codes "google.golang.org/grpc/codes"
    32  	status "google.golang.org/grpc/status"
    33  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    34  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    35  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    36  )
    37  
    38  const (
    39  	// Verify that this generated code is sufficiently up-to-date.
    40  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    41  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    43  )
    44  
    45  // Data for an IAM policy.
    46  type Policy struct {
    47  	state         protoimpl.MessageState
    48  	sizeCache     protoimpl.SizeCache
    49  	unknownFields protoimpl.UnknownFields
    50  
    51  	// Immutable. The resource name of the `Policy`, which must be unique. Format:
    52  	// `policies/{attachment_point}/denypolicies/{policy_id}`
    53  	//
    54  	// The attachment point is identified by its URL-encoded full resource name,
    55  	// which means that the forward-slash character, `/`, must be written as
    56  	// `%2F`. For example,
    57  	// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`.
    58  	//
    59  	// For organizations and folders, use the numeric ID in the full resource
    60  	// name. For projects, requests can use the alphanumeric or the numeric ID.
    61  	// Responses always contain the numeric ID.
    62  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    63  	// Immutable. The globally unique ID of the `Policy`. Assigned automatically when the
    64  	// `Policy` is created.
    65  	Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"`
    66  	// Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`.
    67  	Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"`
    68  	// A user-specified description of the `Policy`. This value can be up to 63
    69  	// characters.
    70  	DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
    71  	// A key-value map to store arbitrary metadata for the `Policy`. Keys
    72  	// can be up to 63 characters. Values can be up to 255 characters.
    73  	Annotations map[string]string `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    74  	// An opaque tag that identifies the current version of the `Policy`. IAM uses
    75  	// this value to help manage concurrent updates, so they do not cause one
    76  	// update to be overwritten by another.
    77  	//
    78  	// If this field is present in a [CreatePolicy][] request, the value is
    79  	// ignored.
    80  	Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"`
    81  	// Output only. The time when the `Policy` was created.
    82  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
    83  	// Output only. The time when the `Policy` was last updated.
    84  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
    85  	// Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted.
    86  	DeleteTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
    87  	// A list of rules that specify the behavior of the `Policy`. All of the rules
    88  	// should be of the `kind` specified in the `Policy`.
    89  	Rules []*PolicyRule `protobuf:"bytes,10,rep,name=rules,proto3" json:"rules,omitempty"`
    90  }
    91  
    92  func (x *Policy) Reset() {
    93  	*x = Policy{}
    94  	if protoimpl.UnsafeEnabled {
    95  		mi := &file_google_iam_v2beta_policy_proto_msgTypes[0]
    96  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    97  		ms.StoreMessageInfo(mi)
    98  	}
    99  }
   100  
   101  func (x *Policy) String() string {
   102  	return protoimpl.X.MessageStringOf(x)
   103  }
   104  
   105  func (*Policy) ProtoMessage() {}
   106  
   107  func (x *Policy) ProtoReflect() protoreflect.Message {
   108  	mi := &file_google_iam_v2beta_policy_proto_msgTypes[0]
   109  	if protoimpl.UnsafeEnabled && x != nil {
   110  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   111  		if ms.LoadMessageInfo() == nil {
   112  			ms.StoreMessageInfo(mi)
   113  		}
   114  		return ms
   115  	}
   116  	return mi.MessageOf(x)
   117  }
   118  
   119  // Deprecated: Use Policy.ProtoReflect.Descriptor instead.
   120  func (*Policy) Descriptor() ([]byte, []int) {
   121  	return file_google_iam_v2beta_policy_proto_rawDescGZIP(), []int{0}
   122  }
   123  
   124  func (x *Policy) GetName() string {
   125  	if x != nil {
   126  		return x.Name
   127  	}
   128  	return ""
   129  }
   130  
   131  func (x *Policy) GetUid() string {
   132  	if x != nil {
   133  		return x.Uid
   134  	}
   135  	return ""
   136  }
   137  
   138  func (x *Policy) GetKind() string {
   139  	if x != nil {
   140  		return x.Kind
   141  	}
   142  	return ""
   143  }
   144  
   145  func (x *Policy) GetDisplayName() string {
   146  	if x != nil {
   147  		return x.DisplayName
   148  	}
   149  	return ""
   150  }
   151  
   152  func (x *Policy) GetAnnotations() map[string]string {
   153  	if x != nil {
   154  		return x.Annotations
   155  	}
   156  	return nil
   157  }
   158  
   159  func (x *Policy) GetEtag() string {
   160  	if x != nil {
   161  		return x.Etag
   162  	}
   163  	return ""
   164  }
   165  
   166  func (x *Policy) GetCreateTime() *timestamppb.Timestamp {
   167  	if x != nil {
   168  		return x.CreateTime
   169  	}
   170  	return nil
   171  }
   172  
   173  func (x *Policy) GetUpdateTime() *timestamppb.Timestamp {
   174  	if x != nil {
   175  		return x.UpdateTime
   176  	}
   177  	return nil
   178  }
   179  
   180  func (x *Policy) GetDeleteTime() *timestamppb.Timestamp {
   181  	if x != nil {
   182  		return x.DeleteTime
   183  	}
   184  	return nil
   185  }
   186  
   187  func (x *Policy) GetRules() []*PolicyRule {
   188  	if x != nil {
   189  		return x.Rules
   190  	}
   191  	return nil
   192  }
   193  
   194  // A single rule in a `Policy`.
   195  type PolicyRule struct {
   196  	state         protoimpl.MessageState
   197  	sizeCache     protoimpl.SizeCache
   198  	unknownFields protoimpl.UnknownFields
   199  
   200  	// Types that are assignable to Kind:
   201  	//
   202  	//	*PolicyRule_DenyRule
   203  	Kind isPolicyRule_Kind `protobuf_oneof:"kind"`
   204  	// A user-specified description of the rule. This value can be up to 256
   205  	// characters.
   206  	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
   207  }
   208  
   209  func (x *PolicyRule) Reset() {
   210  	*x = PolicyRule{}
   211  	if protoimpl.UnsafeEnabled {
   212  		mi := &file_google_iam_v2beta_policy_proto_msgTypes[1]
   213  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   214  		ms.StoreMessageInfo(mi)
   215  	}
   216  }
   217  
   218  func (x *PolicyRule) String() string {
   219  	return protoimpl.X.MessageStringOf(x)
   220  }
   221  
   222  func (*PolicyRule) ProtoMessage() {}
   223  
   224  func (x *PolicyRule) ProtoReflect() protoreflect.Message {
   225  	mi := &file_google_iam_v2beta_policy_proto_msgTypes[1]
   226  	if protoimpl.UnsafeEnabled && x != nil {
   227  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   228  		if ms.LoadMessageInfo() == nil {
   229  			ms.StoreMessageInfo(mi)
   230  		}
   231  		return ms
   232  	}
   233  	return mi.MessageOf(x)
   234  }
   235  
   236  // Deprecated: Use PolicyRule.ProtoReflect.Descriptor instead.
   237  func (*PolicyRule) Descriptor() ([]byte, []int) {
   238  	return file_google_iam_v2beta_policy_proto_rawDescGZIP(), []int{1}
   239  }
   240  
   241  func (m *PolicyRule) GetKind() isPolicyRule_Kind {
   242  	if m != nil {
   243  		return m.Kind
   244  	}
   245  	return nil
   246  }
   247  
   248  func (x *PolicyRule) GetDenyRule() *DenyRule {
   249  	if x, ok := x.GetKind().(*PolicyRule_DenyRule); ok {
   250  		return x.DenyRule
   251  	}
   252  	return nil
   253  }
   254  
   255  func (x *PolicyRule) GetDescription() string {
   256  	if x != nil {
   257  		return x.Description
   258  	}
   259  	return ""
   260  }
   261  
   262  type isPolicyRule_Kind interface {
   263  	isPolicyRule_Kind()
   264  }
   265  
   266  type PolicyRule_DenyRule struct {
   267  	// A rule for a deny policy.
   268  	DenyRule *DenyRule `protobuf:"bytes,2,opt,name=deny_rule,json=denyRule,proto3,oneof"`
   269  }
   270  
   271  func (*PolicyRule_DenyRule) isPolicyRule_Kind() {}
   272  
   273  // Request message for `ListPolicies`.
   274  type ListPoliciesRequest struct {
   275  	state         protoimpl.MessageState
   276  	sizeCache     protoimpl.SizeCache
   277  	unknownFields protoimpl.UnknownFields
   278  
   279  	// Required. The resource that the policy is attached to, along with the kind of policy
   280  	// to list. Format:
   281  	// `policies/{attachment_point}/denypolicies`
   282  	//
   283  	// The attachment point is identified by its URL-encoded full resource name,
   284  	// which means that the forward-slash character, `/`, must be written as
   285  	// `%2F`. For example,
   286  	// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`.
   287  	//
   288  	// For organizations and folders, use the numeric ID in the full resource
   289  	// name. For projects, you can use the alphanumeric or the numeric ID.
   290  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   291  	// The maximum number of policies to return. IAM ignores this value and uses
   292  	// the value 1000.
   293  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   294  	// A page token received in a [ListPoliciesResponse][google.iam.v2beta.ListPoliciesResponse]. Provide this token to
   295  	// retrieve the next page.
   296  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   297  }
   298  
   299  func (x *ListPoliciesRequest) Reset() {
   300  	*x = ListPoliciesRequest{}
   301  	if protoimpl.UnsafeEnabled {
   302  		mi := &file_google_iam_v2beta_policy_proto_msgTypes[2]
   303  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   304  		ms.StoreMessageInfo(mi)
   305  	}
   306  }
   307  
   308  func (x *ListPoliciesRequest) String() string {
   309  	return protoimpl.X.MessageStringOf(x)
   310  }
   311  
   312  func (*ListPoliciesRequest) ProtoMessage() {}
   313  
   314  func (x *ListPoliciesRequest) ProtoReflect() protoreflect.Message {
   315  	mi := &file_google_iam_v2beta_policy_proto_msgTypes[2]
   316  	if protoimpl.UnsafeEnabled && x != nil {
   317  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   318  		if ms.LoadMessageInfo() == nil {
   319  			ms.StoreMessageInfo(mi)
   320  		}
   321  		return ms
   322  	}
   323  	return mi.MessageOf(x)
   324  }
   325  
   326  // Deprecated: Use ListPoliciesRequest.ProtoReflect.Descriptor instead.
   327  func (*ListPoliciesRequest) Descriptor() ([]byte, []int) {
   328  	return file_google_iam_v2beta_policy_proto_rawDescGZIP(), []int{2}
   329  }
   330  
   331  func (x *ListPoliciesRequest) GetParent() string {
   332  	if x != nil {
   333  		return x.Parent
   334  	}
   335  	return ""
   336  }
   337  
   338  func (x *ListPoliciesRequest) GetPageSize() int32 {
   339  	if x != nil {
   340  		return x.PageSize
   341  	}
   342  	return 0
   343  }
   344  
   345  func (x *ListPoliciesRequest) GetPageToken() string {
   346  	if x != nil {
   347  		return x.PageToken
   348  	}
   349  	return ""
   350  }
   351  
   352  // Response message for `ListPolicies`.
   353  type ListPoliciesResponse struct {
   354  	state         protoimpl.MessageState
   355  	sizeCache     protoimpl.SizeCache
   356  	unknownFields protoimpl.UnknownFields
   357  
   358  	// Metadata for the policies that are attached to the resource.
   359  	Policies []*Policy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
   360  	// A page token that you can use in a [ListPoliciesRequest][google.iam.v2beta.ListPoliciesRequest] to retrieve the
   361  	// next page. If this field is omitted, there are no additional pages.
   362  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   363  }
   364  
   365  func (x *ListPoliciesResponse) Reset() {
   366  	*x = ListPoliciesResponse{}
   367  	if protoimpl.UnsafeEnabled {
   368  		mi := &file_google_iam_v2beta_policy_proto_msgTypes[3]
   369  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   370  		ms.StoreMessageInfo(mi)
   371  	}
   372  }
   373  
   374  func (x *ListPoliciesResponse) String() string {
   375  	return protoimpl.X.MessageStringOf(x)
   376  }
   377  
   378  func (*ListPoliciesResponse) ProtoMessage() {}
   379  
   380  func (x *ListPoliciesResponse) ProtoReflect() protoreflect.Message {
   381  	mi := &file_google_iam_v2beta_policy_proto_msgTypes[3]
   382  	if protoimpl.UnsafeEnabled && x != nil {
   383  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   384  		if ms.LoadMessageInfo() == nil {
   385  			ms.StoreMessageInfo(mi)
   386  		}
   387  		return ms
   388  	}
   389  	return mi.MessageOf(x)
   390  }
   391  
   392  // Deprecated: Use ListPoliciesResponse.ProtoReflect.Descriptor instead.
   393  func (*ListPoliciesResponse) Descriptor() ([]byte, []int) {
   394  	return file_google_iam_v2beta_policy_proto_rawDescGZIP(), []int{3}
   395  }
   396  
   397  func (x *ListPoliciesResponse) GetPolicies() []*Policy {
   398  	if x != nil {
   399  		return x.Policies
   400  	}
   401  	return nil
   402  }
   403  
   404  func (x *ListPoliciesResponse) GetNextPageToken() string {
   405  	if x != nil {
   406  		return x.NextPageToken
   407  	}
   408  	return ""
   409  }
   410  
   411  // Request message for `GetPolicy`.
   412  type GetPolicyRequest struct {
   413  	state         protoimpl.MessageState
   414  	sizeCache     protoimpl.SizeCache
   415  	unknownFields protoimpl.UnknownFields
   416  
   417  	// Required. The resource name of the policy to retrieve. Format:
   418  	// `policies/{attachment_point}/denypolicies/{policy_id}`
   419  	//
   420  	// Use the URL-encoded full resource name, which means that the forward-slash
   421  	// character, `/`, must be written as `%2F`. For example,
   422  	// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`.
   423  	//
   424  	// For organizations and folders, use the numeric ID in the full resource
   425  	// name. For projects, you can use the alphanumeric or the numeric ID.
   426  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   427  }
   428  
   429  func (x *GetPolicyRequest) Reset() {
   430  	*x = GetPolicyRequest{}
   431  	if protoimpl.UnsafeEnabled {
   432  		mi := &file_google_iam_v2beta_policy_proto_msgTypes[4]
   433  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   434  		ms.StoreMessageInfo(mi)
   435  	}
   436  }
   437  
   438  func (x *GetPolicyRequest) String() string {
   439  	return protoimpl.X.MessageStringOf(x)
   440  }
   441  
   442  func (*GetPolicyRequest) ProtoMessage() {}
   443  
   444  func (x *GetPolicyRequest) ProtoReflect() protoreflect.Message {
   445  	mi := &file_google_iam_v2beta_policy_proto_msgTypes[4]
   446  	if protoimpl.UnsafeEnabled && x != nil {
   447  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   448  		if ms.LoadMessageInfo() == nil {
   449  			ms.StoreMessageInfo(mi)
   450  		}
   451  		return ms
   452  	}
   453  	return mi.MessageOf(x)
   454  }
   455  
   456  // Deprecated: Use GetPolicyRequest.ProtoReflect.Descriptor instead.
   457  func (*GetPolicyRequest) Descriptor() ([]byte, []int) {
   458  	return file_google_iam_v2beta_policy_proto_rawDescGZIP(), []int{4}
   459  }
   460  
   461  func (x *GetPolicyRequest) GetName() string {
   462  	if x != nil {
   463  		return x.Name
   464  	}
   465  	return ""
   466  }
   467  
   468  // Request message for `CreatePolicy`.
   469  type CreatePolicyRequest struct {
   470  	state         protoimpl.MessageState
   471  	sizeCache     protoimpl.SizeCache
   472  	unknownFields protoimpl.UnknownFields
   473  
   474  	// Required. The resource that the policy is attached to, along with the kind of policy
   475  	// to create. Format: `policies/{attachment_point}/denypolicies`
   476  	//
   477  	// The attachment point is identified by its URL-encoded full resource name,
   478  	// which means that the forward-slash character, `/`, must be written as
   479  	// `%2F`. For example,
   480  	// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`.
   481  	//
   482  	// For organizations and folders, use the numeric ID in the full resource
   483  	// name. For projects, you can use the alphanumeric or the numeric ID.
   484  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   485  	// Required. The policy to create.
   486  	Policy *Policy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"`
   487  	// The ID to use for this policy, which will become the final component of
   488  	// the policy's resource name. The ID must contain 3 to 63 characters. It can
   489  	// contain lowercase letters and numbers, as well as dashes (`-`) and periods
   490  	// (`.`). The first character must be a lowercase letter.
   491  	PolicyId string `protobuf:"bytes,3,opt,name=policy_id,json=policyId,proto3" json:"policy_id,omitempty"`
   492  }
   493  
   494  func (x *CreatePolicyRequest) Reset() {
   495  	*x = CreatePolicyRequest{}
   496  	if protoimpl.UnsafeEnabled {
   497  		mi := &file_google_iam_v2beta_policy_proto_msgTypes[5]
   498  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   499  		ms.StoreMessageInfo(mi)
   500  	}
   501  }
   502  
   503  func (x *CreatePolicyRequest) String() string {
   504  	return protoimpl.X.MessageStringOf(x)
   505  }
   506  
   507  func (*CreatePolicyRequest) ProtoMessage() {}
   508  
   509  func (x *CreatePolicyRequest) ProtoReflect() protoreflect.Message {
   510  	mi := &file_google_iam_v2beta_policy_proto_msgTypes[5]
   511  	if protoimpl.UnsafeEnabled && x != nil {
   512  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   513  		if ms.LoadMessageInfo() == nil {
   514  			ms.StoreMessageInfo(mi)
   515  		}
   516  		return ms
   517  	}
   518  	return mi.MessageOf(x)
   519  }
   520  
   521  // Deprecated: Use CreatePolicyRequest.ProtoReflect.Descriptor instead.
   522  func (*CreatePolicyRequest) Descriptor() ([]byte, []int) {
   523  	return file_google_iam_v2beta_policy_proto_rawDescGZIP(), []int{5}
   524  }
   525  
   526  func (x *CreatePolicyRequest) GetParent() string {
   527  	if x != nil {
   528  		return x.Parent
   529  	}
   530  	return ""
   531  }
   532  
   533  func (x *CreatePolicyRequest) GetPolicy() *Policy {
   534  	if x != nil {
   535  		return x.Policy
   536  	}
   537  	return nil
   538  }
   539  
   540  func (x *CreatePolicyRequest) GetPolicyId() string {
   541  	if x != nil {
   542  		return x.PolicyId
   543  	}
   544  	return ""
   545  }
   546  
   547  // Request message for `UpdatePolicy`.
   548  type UpdatePolicyRequest struct {
   549  	state         protoimpl.MessageState
   550  	sizeCache     protoimpl.SizeCache
   551  	unknownFields protoimpl.UnknownFields
   552  
   553  	// Required. The policy to update.
   554  	//
   555  	// To prevent conflicting updates, the `etag` value must match the value that
   556  	// is stored in IAM. If the `etag` values do not match, the request fails with
   557  	// a `409` error code and `ABORTED` status.
   558  	Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"`
   559  }
   560  
   561  func (x *UpdatePolicyRequest) Reset() {
   562  	*x = UpdatePolicyRequest{}
   563  	if protoimpl.UnsafeEnabled {
   564  		mi := &file_google_iam_v2beta_policy_proto_msgTypes[6]
   565  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   566  		ms.StoreMessageInfo(mi)
   567  	}
   568  }
   569  
   570  func (x *UpdatePolicyRequest) String() string {
   571  	return protoimpl.X.MessageStringOf(x)
   572  }
   573  
   574  func (*UpdatePolicyRequest) ProtoMessage() {}
   575  
   576  func (x *UpdatePolicyRequest) ProtoReflect() protoreflect.Message {
   577  	mi := &file_google_iam_v2beta_policy_proto_msgTypes[6]
   578  	if protoimpl.UnsafeEnabled && x != nil {
   579  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   580  		if ms.LoadMessageInfo() == nil {
   581  			ms.StoreMessageInfo(mi)
   582  		}
   583  		return ms
   584  	}
   585  	return mi.MessageOf(x)
   586  }
   587  
   588  // Deprecated: Use UpdatePolicyRequest.ProtoReflect.Descriptor instead.
   589  func (*UpdatePolicyRequest) Descriptor() ([]byte, []int) {
   590  	return file_google_iam_v2beta_policy_proto_rawDescGZIP(), []int{6}
   591  }
   592  
   593  func (x *UpdatePolicyRequest) GetPolicy() *Policy {
   594  	if x != nil {
   595  		return x.Policy
   596  	}
   597  	return nil
   598  }
   599  
   600  // Request message for `DeletePolicy`.
   601  type DeletePolicyRequest struct {
   602  	state         protoimpl.MessageState
   603  	sizeCache     protoimpl.SizeCache
   604  	unknownFields protoimpl.UnknownFields
   605  
   606  	// Required. The resource name of the policy to delete. Format:
   607  	// `policies/{attachment_point}/denypolicies/{policy_id}`
   608  	//
   609  	// Use the URL-encoded full resource name, which means that the forward-slash
   610  	// character, `/`, must be written as `%2F`. For example,
   611  	// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`.
   612  	//
   613  	// For organizations and folders, use the numeric ID in the full resource
   614  	// name. For projects, you can use the alphanumeric or the numeric ID.
   615  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   616  	// Optional. The expected `etag` of the policy to delete. If the value does not match
   617  	// the value that is stored in IAM, the request fails with a `409` error code
   618  	// and `ABORTED` status.
   619  	//
   620  	// If you omit this field, the policy is deleted regardless of its current
   621  	// `etag`.
   622  	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
   623  }
   624  
   625  func (x *DeletePolicyRequest) Reset() {
   626  	*x = DeletePolicyRequest{}
   627  	if protoimpl.UnsafeEnabled {
   628  		mi := &file_google_iam_v2beta_policy_proto_msgTypes[7]
   629  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   630  		ms.StoreMessageInfo(mi)
   631  	}
   632  }
   633  
   634  func (x *DeletePolicyRequest) String() string {
   635  	return protoimpl.X.MessageStringOf(x)
   636  }
   637  
   638  func (*DeletePolicyRequest) ProtoMessage() {}
   639  
   640  func (x *DeletePolicyRequest) ProtoReflect() protoreflect.Message {
   641  	mi := &file_google_iam_v2beta_policy_proto_msgTypes[7]
   642  	if protoimpl.UnsafeEnabled && x != nil {
   643  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   644  		if ms.LoadMessageInfo() == nil {
   645  			ms.StoreMessageInfo(mi)
   646  		}
   647  		return ms
   648  	}
   649  	return mi.MessageOf(x)
   650  }
   651  
   652  // Deprecated: Use DeletePolicyRequest.ProtoReflect.Descriptor instead.
   653  func (*DeletePolicyRequest) Descriptor() ([]byte, []int) {
   654  	return file_google_iam_v2beta_policy_proto_rawDescGZIP(), []int{7}
   655  }
   656  
   657  func (x *DeletePolicyRequest) GetName() string {
   658  	if x != nil {
   659  		return x.Name
   660  	}
   661  	return ""
   662  }
   663  
   664  func (x *DeletePolicyRequest) GetEtag() string {
   665  	if x != nil {
   666  		return x.Etag
   667  	}
   668  	return ""
   669  }
   670  
   671  // Metadata for long-running `Policy` operations.
   672  type PolicyOperationMetadata struct {
   673  	state         protoimpl.MessageState
   674  	sizeCache     protoimpl.SizeCache
   675  	unknownFields protoimpl.UnknownFields
   676  
   677  	// Timestamp when the `google.longrunning.Operation` was created.
   678  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   679  }
   680  
   681  func (x *PolicyOperationMetadata) Reset() {
   682  	*x = PolicyOperationMetadata{}
   683  	if protoimpl.UnsafeEnabled {
   684  		mi := &file_google_iam_v2beta_policy_proto_msgTypes[8]
   685  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   686  		ms.StoreMessageInfo(mi)
   687  	}
   688  }
   689  
   690  func (x *PolicyOperationMetadata) String() string {
   691  	return protoimpl.X.MessageStringOf(x)
   692  }
   693  
   694  func (*PolicyOperationMetadata) ProtoMessage() {}
   695  
   696  func (x *PolicyOperationMetadata) ProtoReflect() protoreflect.Message {
   697  	mi := &file_google_iam_v2beta_policy_proto_msgTypes[8]
   698  	if protoimpl.UnsafeEnabled && x != nil {
   699  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   700  		if ms.LoadMessageInfo() == nil {
   701  			ms.StoreMessageInfo(mi)
   702  		}
   703  		return ms
   704  	}
   705  	return mi.MessageOf(x)
   706  }
   707  
   708  // Deprecated: Use PolicyOperationMetadata.ProtoReflect.Descriptor instead.
   709  func (*PolicyOperationMetadata) Descriptor() ([]byte, []int) {
   710  	return file_google_iam_v2beta_policy_proto_rawDescGZIP(), []int{8}
   711  }
   712  
   713  func (x *PolicyOperationMetadata) GetCreateTime() *timestamppb.Timestamp {
   714  	if x != nil {
   715  		return x.CreateTime
   716  	}
   717  	return nil
   718  }
   719  
   720  var File_google_iam_v2beta_policy_proto protoreflect.FileDescriptor
   721  
   722  var file_google_iam_v2beta_policy_proto_rawDesc = []byte{
   723  	0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x32, 0x62,
   724  	0x65, 0x74, 0x61, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   725  	0x12, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32, 0x62,
   726  	0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
   727  	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   728  	0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c,
   729  	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
   730  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68,
   731  	0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
   732  	0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x64,
   733  	0x65, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   734  	0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70,
   735  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
   736  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
   737  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
   738  	0x91, 0x04, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61,
   739  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e,
   740  	0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
   741  	0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6b, 0x69,
   742  	0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6b,
   743  	0x69, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e,
   744  	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c,
   745  	0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
   746  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f,
   747  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e,
   748  	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
   749  	0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
   750  	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01,
   751  	0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
   752  	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
   753  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
   754  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
   755  	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70,
   756  	0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
   757  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
   758  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03,
   759  	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b,
   760  	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
   761  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   762  	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0,
   763  	0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33,
   764  	0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
   765  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74,
   766  	0x61, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75,
   767  	0x6c, 0x65, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
   768  	0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
   769  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
   770  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
   771  	0x02, 0x38, 0x01, 0x22, 0x72, 0x0a, 0x0a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c,
   772  	0x65, 0x12, 0x3a, 0x0a, 0x09, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02,
   773  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61,
   774  	0x6d, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6e, 0x79, 0x52, 0x75, 0x6c,
   775  	0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x65, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x0a,
   776  	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
   777  	0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42,
   778  	0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x6e, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50,
   779  	0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b,
   780  	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
   781  	0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70,
   782  	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
   783  	0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65,
   784  	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61,
   785  	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x75, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50,
   786  	0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
   787  	0x35, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
   788  	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76,
   789  	0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f,
   790  	0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
   791  	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
   792  	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x2b,
   793  	0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
   794  	0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
   795  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x13,
   796  	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
   797  	0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
   798  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
   799  	0x12, 0x36, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
   800  	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32,
   801  	0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02,
   802  	0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6c, 0x69,
   803  	0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6c,
   804  	0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
   805  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06,
   806  	0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
   807  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61,
   808  	0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f,
   809  	0x6c, 0x69, 0x63, 0x79, 0x22, 0x47, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f,
   810  	0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e,
   811  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04,
   812  	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01,
   813  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x56, 0x0a,
   814  	0x17, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   815  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
   816  	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
   817  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
   818  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
   819  	0x65, 0x54, 0x69, 0x6d, 0x65, 0x32, 0x80, 0x07, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
   820  	0x65, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63,
   821  	0x69, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
   822  	0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69,
   823  	0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f,
   824  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e,
   825  	0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
   826  	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76,
   827  	0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x6f,
   828  	0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61,
   829  	0x72, 0x65, 0x6e, 0x74, 0x12, 0x79, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63,
   830  	0x79, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76,
   831  	0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52,
   832  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   833  	0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
   834  	0x79, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x32, 0x62, 0x65,
   835  	0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
   836  	0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
   837  	0xc2, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
   838  	0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32,
   839  	0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
   840  	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   841  	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
   842  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x22,
   843  	0x1d, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
   844  	0x3d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x7d, 0x3a, 0x06,
   845  	0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c,
   846  	0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64,
   847  	0xca, 0x41, 0x21, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x50, 0x6f, 0x6c,
   848  	0x69, 0x63, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61,
   849  	0x64, 0x61, 0x74, 0x61, 0x12, 0xaf, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
   850  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
   851  	0x61, 0x6d, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
   852  	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
   853  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69,
   854  	0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x58, 0x82, 0xd3,
   855  	0xe4, 0x93, 0x02, 0x2e, 0x1a, 0x24, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70,
   856  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x6f, 0x6c, 0x69, 0x63,
   857  	0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x70, 0x6f, 0x6c, 0x69,
   858  	0x63, 0x79, 0xca, 0x41, 0x21, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x50,
   859  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
   860  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa7, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74,
   861  	0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   862  	0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65,
   863  	0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
   864  	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
   865  	0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50,
   866  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x2a, 0x1d, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f,
   867  	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a,
   868  	0x2f, 0x2a, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x21, 0x0a,
   869  	0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f,
   870  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
   871  	0x1a, 0x46, 0xca, 0x41, 0x12, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
   872  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
   873  	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
   874  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d,
   875  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x90, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d,
   876  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x32, 0x62, 0x65,
   877  	0x74, 0x61, 0x42, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
   878  	0x01, 0x5a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
   879  	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
   880  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x32, 0x62,
   881  	0x65, 0x74, 0x61, 0x3b, 0x69, 0x61, 0x6d, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   882  	0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x32, 0x42, 0x65, 0x74,
   883  	0x61, 0xca, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64,
   884  	0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f,
   885  	0x74, 0x6f, 0x33,
   886  }
   887  
   888  var (
   889  	file_google_iam_v2beta_policy_proto_rawDescOnce sync.Once
   890  	file_google_iam_v2beta_policy_proto_rawDescData = file_google_iam_v2beta_policy_proto_rawDesc
   891  )
   892  
   893  func file_google_iam_v2beta_policy_proto_rawDescGZIP() []byte {
   894  	file_google_iam_v2beta_policy_proto_rawDescOnce.Do(func() {
   895  		file_google_iam_v2beta_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_iam_v2beta_policy_proto_rawDescData)
   896  	})
   897  	return file_google_iam_v2beta_policy_proto_rawDescData
   898  }
   899  
   900  var file_google_iam_v2beta_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
   901  var file_google_iam_v2beta_policy_proto_goTypes = []interface{}{
   902  	(*Policy)(nil),                  // 0: google.iam.v2beta.Policy
   903  	(*PolicyRule)(nil),              // 1: google.iam.v2beta.PolicyRule
   904  	(*ListPoliciesRequest)(nil),     // 2: google.iam.v2beta.ListPoliciesRequest
   905  	(*ListPoliciesResponse)(nil),    // 3: google.iam.v2beta.ListPoliciesResponse
   906  	(*GetPolicyRequest)(nil),        // 4: google.iam.v2beta.GetPolicyRequest
   907  	(*CreatePolicyRequest)(nil),     // 5: google.iam.v2beta.CreatePolicyRequest
   908  	(*UpdatePolicyRequest)(nil),     // 6: google.iam.v2beta.UpdatePolicyRequest
   909  	(*DeletePolicyRequest)(nil),     // 7: google.iam.v2beta.DeletePolicyRequest
   910  	(*PolicyOperationMetadata)(nil), // 8: google.iam.v2beta.PolicyOperationMetadata
   911  	nil,                             // 9: google.iam.v2beta.Policy.AnnotationsEntry
   912  	(*timestamppb.Timestamp)(nil),   // 10: google.protobuf.Timestamp
   913  	(*DenyRule)(nil),                // 11: google.iam.v2beta.DenyRule
   914  	(*longrunning.Operation)(nil),   // 12: google.longrunning.Operation
   915  }
   916  var file_google_iam_v2beta_policy_proto_depIdxs = []int32{
   917  	9,  // 0: google.iam.v2beta.Policy.annotations:type_name -> google.iam.v2beta.Policy.AnnotationsEntry
   918  	10, // 1: google.iam.v2beta.Policy.create_time:type_name -> google.protobuf.Timestamp
   919  	10, // 2: google.iam.v2beta.Policy.update_time:type_name -> google.protobuf.Timestamp
   920  	10, // 3: google.iam.v2beta.Policy.delete_time:type_name -> google.protobuf.Timestamp
   921  	1,  // 4: google.iam.v2beta.Policy.rules:type_name -> google.iam.v2beta.PolicyRule
   922  	11, // 5: google.iam.v2beta.PolicyRule.deny_rule:type_name -> google.iam.v2beta.DenyRule
   923  	0,  // 6: google.iam.v2beta.ListPoliciesResponse.policies:type_name -> google.iam.v2beta.Policy
   924  	0,  // 7: google.iam.v2beta.CreatePolicyRequest.policy:type_name -> google.iam.v2beta.Policy
   925  	0,  // 8: google.iam.v2beta.UpdatePolicyRequest.policy:type_name -> google.iam.v2beta.Policy
   926  	10, // 9: google.iam.v2beta.PolicyOperationMetadata.create_time:type_name -> google.protobuf.Timestamp
   927  	2,  // 10: google.iam.v2beta.Policies.ListPolicies:input_type -> google.iam.v2beta.ListPoliciesRequest
   928  	4,  // 11: google.iam.v2beta.Policies.GetPolicy:input_type -> google.iam.v2beta.GetPolicyRequest
   929  	5,  // 12: google.iam.v2beta.Policies.CreatePolicy:input_type -> google.iam.v2beta.CreatePolicyRequest
   930  	6,  // 13: google.iam.v2beta.Policies.UpdatePolicy:input_type -> google.iam.v2beta.UpdatePolicyRequest
   931  	7,  // 14: google.iam.v2beta.Policies.DeletePolicy:input_type -> google.iam.v2beta.DeletePolicyRequest
   932  	3,  // 15: google.iam.v2beta.Policies.ListPolicies:output_type -> google.iam.v2beta.ListPoliciesResponse
   933  	0,  // 16: google.iam.v2beta.Policies.GetPolicy:output_type -> google.iam.v2beta.Policy
   934  	12, // 17: google.iam.v2beta.Policies.CreatePolicy:output_type -> google.longrunning.Operation
   935  	12, // 18: google.iam.v2beta.Policies.UpdatePolicy:output_type -> google.longrunning.Operation
   936  	12, // 19: google.iam.v2beta.Policies.DeletePolicy:output_type -> google.longrunning.Operation
   937  	15, // [15:20] is the sub-list for method output_type
   938  	10, // [10:15] is the sub-list for method input_type
   939  	10, // [10:10] is the sub-list for extension type_name
   940  	10, // [10:10] is the sub-list for extension extendee
   941  	0,  // [0:10] is the sub-list for field type_name
   942  }
   943  
   944  func init() { file_google_iam_v2beta_policy_proto_init() }
   945  func file_google_iam_v2beta_policy_proto_init() {
   946  	if File_google_iam_v2beta_policy_proto != nil {
   947  		return
   948  	}
   949  	file_google_iam_v2beta_deny_proto_init()
   950  	if !protoimpl.UnsafeEnabled {
   951  		file_google_iam_v2beta_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   952  			switch v := v.(*Policy); i {
   953  			case 0:
   954  				return &v.state
   955  			case 1:
   956  				return &v.sizeCache
   957  			case 2:
   958  				return &v.unknownFields
   959  			default:
   960  				return nil
   961  			}
   962  		}
   963  		file_google_iam_v2beta_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   964  			switch v := v.(*PolicyRule); i {
   965  			case 0:
   966  				return &v.state
   967  			case 1:
   968  				return &v.sizeCache
   969  			case 2:
   970  				return &v.unknownFields
   971  			default:
   972  				return nil
   973  			}
   974  		}
   975  		file_google_iam_v2beta_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   976  			switch v := v.(*ListPoliciesRequest); i {
   977  			case 0:
   978  				return &v.state
   979  			case 1:
   980  				return &v.sizeCache
   981  			case 2:
   982  				return &v.unknownFields
   983  			default:
   984  				return nil
   985  			}
   986  		}
   987  		file_google_iam_v2beta_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   988  			switch v := v.(*ListPoliciesResponse); i {
   989  			case 0:
   990  				return &v.state
   991  			case 1:
   992  				return &v.sizeCache
   993  			case 2:
   994  				return &v.unknownFields
   995  			default:
   996  				return nil
   997  			}
   998  		}
   999  		file_google_iam_v2beta_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1000  			switch v := v.(*GetPolicyRequest); i {
  1001  			case 0:
  1002  				return &v.state
  1003  			case 1:
  1004  				return &v.sizeCache
  1005  			case 2:
  1006  				return &v.unknownFields
  1007  			default:
  1008  				return nil
  1009  			}
  1010  		}
  1011  		file_google_iam_v2beta_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1012  			switch v := v.(*CreatePolicyRequest); i {
  1013  			case 0:
  1014  				return &v.state
  1015  			case 1:
  1016  				return &v.sizeCache
  1017  			case 2:
  1018  				return &v.unknownFields
  1019  			default:
  1020  				return nil
  1021  			}
  1022  		}
  1023  		file_google_iam_v2beta_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1024  			switch v := v.(*UpdatePolicyRequest); i {
  1025  			case 0:
  1026  				return &v.state
  1027  			case 1:
  1028  				return &v.sizeCache
  1029  			case 2:
  1030  				return &v.unknownFields
  1031  			default:
  1032  				return nil
  1033  			}
  1034  		}
  1035  		file_google_iam_v2beta_policy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1036  			switch v := v.(*DeletePolicyRequest); i {
  1037  			case 0:
  1038  				return &v.state
  1039  			case 1:
  1040  				return &v.sizeCache
  1041  			case 2:
  1042  				return &v.unknownFields
  1043  			default:
  1044  				return nil
  1045  			}
  1046  		}
  1047  		file_google_iam_v2beta_policy_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1048  			switch v := v.(*PolicyOperationMetadata); i {
  1049  			case 0:
  1050  				return &v.state
  1051  			case 1:
  1052  				return &v.sizeCache
  1053  			case 2:
  1054  				return &v.unknownFields
  1055  			default:
  1056  				return nil
  1057  			}
  1058  		}
  1059  	}
  1060  	file_google_iam_v2beta_policy_proto_msgTypes[1].OneofWrappers = []interface{}{
  1061  		(*PolicyRule_DenyRule)(nil),
  1062  	}
  1063  	type x struct{}
  1064  	out := protoimpl.TypeBuilder{
  1065  		File: protoimpl.DescBuilder{
  1066  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1067  			RawDescriptor: file_google_iam_v2beta_policy_proto_rawDesc,
  1068  			NumEnums:      0,
  1069  			NumMessages:   10,
  1070  			NumExtensions: 0,
  1071  			NumServices:   1,
  1072  		},
  1073  		GoTypes:           file_google_iam_v2beta_policy_proto_goTypes,
  1074  		DependencyIndexes: file_google_iam_v2beta_policy_proto_depIdxs,
  1075  		MessageInfos:      file_google_iam_v2beta_policy_proto_msgTypes,
  1076  	}.Build()
  1077  	File_google_iam_v2beta_policy_proto = out.File
  1078  	file_google_iam_v2beta_policy_proto_rawDesc = nil
  1079  	file_google_iam_v2beta_policy_proto_goTypes = nil
  1080  	file_google_iam_v2beta_policy_proto_depIdxs = nil
  1081  }
  1082  
  1083  // Reference imports to suppress errors if they are not otherwise used.
  1084  var _ context.Context
  1085  var _ grpc.ClientConnInterface
  1086  
  1087  // This is a compile-time assertion to ensure that this generated file
  1088  // is compatible with the grpc package it is being compiled against.
  1089  const _ = grpc.SupportPackageIsVersion6
  1090  
  1091  // PoliciesClient is the client API for Policies service.
  1092  //
  1093  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1094  type PoliciesClient interface {
  1095  	// Retrieves the policies of the specified kind that are attached to a
  1096  	// resource.
  1097  	//
  1098  	// The response lists only policy metadata. In particular, policy rules are
  1099  	// omitted.
  1100  	ListPolicies(ctx context.Context, in *ListPoliciesRequest, opts ...grpc.CallOption) (*ListPoliciesResponse, error)
  1101  	// Gets a policy.
  1102  	GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
  1103  	// Creates a policy.
  1104  	CreatePolicy(ctx context.Context, in *CreatePolicyRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  1105  	// Updates the specified policy.
  1106  	//
  1107  	// You can update only the rules and the display name for the policy.
  1108  	//
  1109  	// To update a policy, you should use a read-modify-write loop:
  1110  	//
  1111  	// 1. Use [GetPolicy][google.iam.v2beta.Policies.GetPolicy] to read the current version of the policy.
  1112  	// 2. Modify the policy as needed.
  1113  	// 3. Use `UpdatePolicy` to write the updated policy.
  1114  	//
  1115  	// This pattern helps prevent conflicts between concurrent updates.
  1116  	UpdatePolicy(ctx context.Context, in *UpdatePolicyRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  1117  	// Deletes a policy. This action is permanent.
  1118  	DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  1119  }
  1120  
  1121  type policiesClient struct {
  1122  	cc grpc.ClientConnInterface
  1123  }
  1124  
  1125  func NewPoliciesClient(cc grpc.ClientConnInterface) PoliciesClient {
  1126  	return &policiesClient{cc}
  1127  }
  1128  
  1129  func (c *policiesClient) ListPolicies(ctx context.Context, in *ListPoliciesRequest, opts ...grpc.CallOption) (*ListPoliciesResponse, error) {
  1130  	out := new(ListPoliciesResponse)
  1131  	err := c.cc.Invoke(ctx, "/google.iam.v2beta.Policies/ListPolicies", in, out, opts...)
  1132  	if err != nil {
  1133  		return nil, err
  1134  	}
  1135  	return out, nil
  1136  }
  1137  
  1138  func (c *policiesClient) GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*Policy, error) {
  1139  	out := new(Policy)
  1140  	err := c.cc.Invoke(ctx, "/google.iam.v2beta.Policies/GetPolicy", in, out, opts...)
  1141  	if err != nil {
  1142  		return nil, err
  1143  	}
  1144  	return out, nil
  1145  }
  1146  
  1147  func (c *policiesClient) CreatePolicy(ctx context.Context, in *CreatePolicyRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  1148  	out := new(longrunning.Operation)
  1149  	err := c.cc.Invoke(ctx, "/google.iam.v2beta.Policies/CreatePolicy", in, out, opts...)
  1150  	if err != nil {
  1151  		return nil, err
  1152  	}
  1153  	return out, nil
  1154  }
  1155  
  1156  func (c *policiesClient) UpdatePolicy(ctx context.Context, in *UpdatePolicyRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  1157  	out := new(longrunning.Operation)
  1158  	err := c.cc.Invoke(ctx, "/google.iam.v2beta.Policies/UpdatePolicy", in, out, opts...)
  1159  	if err != nil {
  1160  		return nil, err
  1161  	}
  1162  	return out, nil
  1163  }
  1164  
  1165  func (c *policiesClient) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  1166  	out := new(longrunning.Operation)
  1167  	err := c.cc.Invoke(ctx, "/google.iam.v2beta.Policies/DeletePolicy", in, out, opts...)
  1168  	if err != nil {
  1169  		return nil, err
  1170  	}
  1171  	return out, nil
  1172  }
  1173  
  1174  // PoliciesServer is the server API for Policies service.
  1175  type PoliciesServer interface {
  1176  	// Retrieves the policies of the specified kind that are attached to a
  1177  	// resource.
  1178  	//
  1179  	// The response lists only policy metadata. In particular, policy rules are
  1180  	// omitted.
  1181  	ListPolicies(context.Context, *ListPoliciesRequest) (*ListPoliciesResponse, error)
  1182  	// Gets a policy.
  1183  	GetPolicy(context.Context, *GetPolicyRequest) (*Policy, error)
  1184  	// Creates a policy.
  1185  	CreatePolicy(context.Context, *CreatePolicyRequest) (*longrunning.Operation, error)
  1186  	// Updates the specified policy.
  1187  	//
  1188  	// You can update only the rules and the display name for the policy.
  1189  	//
  1190  	// To update a policy, you should use a read-modify-write loop:
  1191  	//
  1192  	// 1. Use [GetPolicy][google.iam.v2beta.Policies.GetPolicy] to read the current version of the policy.
  1193  	// 2. Modify the policy as needed.
  1194  	// 3. Use `UpdatePolicy` to write the updated policy.
  1195  	//
  1196  	// This pattern helps prevent conflicts between concurrent updates.
  1197  	UpdatePolicy(context.Context, *UpdatePolicyRequest) (*longrunning.Operation, error)
  1198  	// Deletes a policy. This action is permanent.
  1199  	DeletePolicy(context.Context, *DeletePolicyRequest) (*longrunning.Operation, error)
  1200  }
  1201  
  1202  // UnimplementedPoliciesServer can be embedded to have forward compatible implementations.
  1203  type UnimplementedPoliciesServer struct {
  1204  }
  1205  
  1206  func (*UnimplementedPoliciesServer) ListPolicies(context.Context, *ListPoliciesRequest) (*ListPoliciesResponse, error) {
  1207  	return nil, status.Errorf(codes.Unimplemented, "method ListPolicies not implemented")
  1208  }
  1209  func (*UnimplementedPoliciesServer) GetPolicy(context.Context, *GetPolicyRequest) (*Policy, error) {
  1210  	return nil, status.Errorf(codes.Unimplemented, "method GetPolicy not implemented")
  1211  }
  1212  func (*UnimplementedPoliciesServer) CreatePolicy(context.Context, *CreatePolicyRequest) (*longrunning.Operation, error) {
  1213  	return nil, status.Errorf(codes.Unimplemented, "method CreatePolicy not implemented")
  1214  }
  1215  func (*UnimplementedPoliciesServer) UpdatePolicy(context.Context, *UpdatePolicyRequest) (*longrunning.Operation, error) {
  1216  	return nil, status.Errorf(codes.Unimplemented, "method UpdatePolicy not implemented")
  1217  }
  1218  func (*UnimplementedPoliciesServer) DeletePolicy(context.Context, *DeletePolicyRequest) (*longrunning.Operation, error) {
  1219  	return nil, status.Errorf(codes.Unimplemented, "method DeletePolicy not implemented")
  1220  }
  1221  
  1222  func RegisterPoliciesServer(s *grpc.Server, srv PoliciesServer) {
  1223  	s.RegisterService(&_Policies_serviceDesc, srv)
  1224  }
  1225  
  1226  func _Policies_ListPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1227  	in := new(ListPoliciesRequest)
  1228  	if err := dec(in); err != nil {
  1229  		return nil, err
  1230  	}
  1231  	if interceptor == nil {
  1232  		return srv.(PoliciesServer).ListPolicies(ctx, in)
  1233  	}
  1234  	info := &grpc.UnaryServerInfo{
  1235  		Server:     srv,
  1236  		FullMethod: "/google.iam.v2beta.Policies/ListPolicies",
  1237  	}
  1238  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1239  		return srv.(PoliciesServer).ListPolicies(ctx, req.(*ListPoliciesRequest))
  1240  	}
  1241  	return interceptor(ctx, in, info, handler)
  1242  }
  1243  
  1244  func _Policies_GetPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1245  	in := new(GetPolicyRequest)
  1246  	if err := dec(in); err != nil {
  1247  		return nil, err
  1248  	}
  1249  	if interceptor == nil {
  1250  		return srv.(PoliciesServer).GetPolicy(ctx, in)
  1251  	}
  1252  	info := &grpc.UnaryServerInfo{
  1253  		Server:     srv,
  1254  		FullMethod: "/google.iam.v2beta.Policies/GetPolicy",
  1255  	}
  1256  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1257  		return srv.(PoliciesServer).GetPolicy(ctx, req.(*GetPolicyRequest))
  1258  	}
  1259  	return interceptor(ctx, in, info, handler)
  1260  }
  1261  
  1262  func _Policies_CreatePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1263  	in := new(CreatePolicyRequest)
  1264  	if err := dec(in); err != nil {
  1265  		return nil, err
  1266  	}
  1267  	if interceptor == nil {
  1268  		return srv.(PoliciesServer).CreatePolicy(ctx, in)
  1269  	}
  1270  	info := &grpc.UnaryServerInfo{
  1271  		Server:     srv,
  1272  		FullMethod: "/google.iam.v2beta.Policies/CreatePolicy",
  1273  	}
  1274  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1275  		return srv.(PoliciesServer).CreatePolicy(ctx, req.(*CreatePolicyRequest))
  1276  	}
  1277  	return interceptor(ctx, in, info, handler)
  1278  }
  1279  
  1280  func _Policies_UpdatePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1281  	in := new(UpdatePolicyRequest)
  1282  	if err := dec(in); err != nil {
  1283  		return nil, err
  1284  	}
  1285  	if interceptor == nil {
  1286  		return srv.(PoliciesServer).UpdatePolicy(ctx, in)
  1287  	}
  1288  	info := &grpc.UnaryServerInfo{
  1289  		Server:     srv,
  1290  		FullMethod: "/google.iam.v2beta.Policies/UpdatePolicy",
  1291  	}
  1292  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1293  		return srv.(PoliciesServer).UpdatePolicy(ctx, req.(*UpdatePolicyRequest))
  1294  	}
  1295  	return interceptor(ctx, in, info, handler)
  1296  }
  1297  
  1298  func _Policies_DeletePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1299  	in := new(DeletePolicyRequest)
  1300  	if err := dec(in); err != nil {
  1301  		return nil, err
  1302  	}
  1303  	if interceptor == nil {
  1304  		return srv.(PoliciesServer).DeletePolicy(ctx, in)
  1305  	}
  1306  	info := &grpc.UnaryServerInfo{
  1307  		Server:     srv,
  1308  		FullMethod: "/google.iam.v2beta.Policies/DeletePolicy",
  1309  	}
  1310  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1311  		return srv.(PoliciesServer).DeletePolicy(ctx, req.(*DeletePolicyRequest))
  1312  	}
  1313  	return interceptor(ctx, in, info, handler)
  1314  }
  1315  
  1316  var _Policies_serviceDesc = grpc.ServiceDesc{
  1317  	ServiceName: "google.iam.v2beta.Policies",
  1318  	HandlerType: (*PoliciesServer)(nil),
  1319  	Methods: []grpc.MethodDesc{
  1320  		{
  1321  			MethodName: "ListPolicies",
  1322  			Handler:    _Policies_ListPolicies_Handler,
  1323  		},
  1324  		{
  1325  			MethodName: "GetPolicy",
  1326  			Handler:    _Policies_GetPolicy_Handler,
  1327  		},
  1328  		{
  1329  			MethodName: "CreatePolicy",
  1330  			Handler:    _Policies_CreatePolicy_Handler,
  1331  		},
  1332  		{
  1333  			MethodName: "UpdatePolicy",
  1334  			Handler:    _Policies_UpdatePolicy_Handler,
  1335  		},
  1336  		{
  1337  			MethodName: "DeletePolicy",
  1338  			Handler:    _Policies_DeletePolicy_Handler,
  1339  		},
  1340  	},
  1341  	Streams:  []grpc.StreamDesc{},
  1342  	Metadata: "google/iam/v2beta/policy.proto",
  1343  }
  1344  

View as plain text