...

Source file src/cloud.google.com/go/iam/apiv2/iampb/policy.pb.go

Documentation: cloud.google.com/go/iam/apiv2/iampb

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

View as plain text