Copyright 2019 Google LLC. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Code generated by protoc-gen-go. DO NOT EDIT. versions: protoc-gen-go v1.25.0 protoc v3.13.0 source: google/iam/v1/policy.proto

package iam

import (
	reflect 
	sync 

	proto 
	_ 
	expr 
	protoreflect 
	protoimpl 
)

Verify that this generated code is sufficiently up-to-date.
Verify that runtime/protoimpl is sufficiently up-to-date.
This is a compile-time assertion that a sufficiently up-to-date version of the legacy proto package is being used.
The type of action performed on a Binding in a policy.
Unspecified.
Addition of a Binding.
Removal of a Binding.
Enum value maps for BindingDelta_Action.
Deprecated: Use BindingDelta_Action.Descriptor instead.
The type of action performed on an audit configuration in a policy.
Unspecified.
Addition of an audit configuration.
Removal of an audit configuration.
Enum value maps for AuditConfigDelta_Action.
Deprecated: Use AuditConfigDelta_Action.Descriptor instead.
Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions (defined by IAM or configured by users). A `binding` can optionally specify a `condition`, which is a logic expression that further constrains the role binding based on attributes about the request and/or target resource. **JSON Example** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ] } **YAML Example** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam/docs).
Specifies the format of the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Operations affecting conditional bindings must specify version 3. This can be either setting a conditional policy, modifying a conditional binding, or removing a binding (conditional or unconditional) from the stored conditional policy. Operations on non-conditional policies may specify any valid value or leave the field unset. If no etag is provided in the call to `setIamPolicy`, version compliance checks against the stored policy is skipped.
Associates a list of `members` to a `role`. Optionally may specify a `condition` that determines when binding is in effect. `bindings` with no members will result in an error.
`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten. Due to blind-set semantics of an etag-less policy, 'setIamPolicy' will not fail even if the incoming policy version does not meet the requirements for modifying the stored policy.
	Etag []byte `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"`
}

func ( *Policy) () {
	* = Policy{}
	if protoimpl.UnsafeEnabled {
		 := &file_google_iam_v1_policy_proto_msgTypes[0]
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		.StoreMessageInfo()
	}
}

func ( *Policy) () string {
	return protoimpl.X.MessageStringOf()
}

func (*Policy) () {}

func ( *Policy) () protoreflect.Message {
	 := &file_google_iam_v1_policy_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled &&  != nil {
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		if .LoadMessageInfo() == nil {
			.StoreMessageInfo()
		}
		return 
	}
	return .MessageOf()
}
Deprecated: Use Policy.ProtoReflect.Descriptor instead.
func (*Policy) () ([]byte, []int) {
	return file_google_iam_v1_policy_proto_rawDescGZIP(), []int{0}
}

func ( *Policy) () int32 {
	if  != nil {
		return .Version
	}
	return 0
}

func ( *Policy) () []*Binding {
	if  != nil {
		return .Bindings
	}
	return nil
}

func ( *Policy) () []byte {
	if  != nil {
		return .Etag
	}
	return nil
}
Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
The condition that is associated with this binding. NOTE: An unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently.
	Condition *expr.Expr `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"`
}

func ( *Binding) () {
	* = Binding{}
	if protoimpl.UnsafeEnabled {
		 := &file_google_iam_v1_policy_proto_msgTypes[1]
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		.StoreMessageInfo()
	}
}

func ( *Binding) () string {
	return protoimpl.X.MessageStringOf()
}

func (*Binding) () {}

func ( *Binding) () protoreflect.Message {
	 := &file_google_iam_v1_policy_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled &&  != nil {
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		if .LoadMessageInfo() == nil {
			.StoreMessageInfo()
		}
		return 
	}
	return .MessageOf()
}
Deprecated: Use Binding.ProtoReflect.Descriptor instead.
func (*Binding) () ([]byte, []int) {
	return file_google_iam_v1_policy_proto_rawDescGZIP(), []int{1}
}

func ( *Binding) () string {
	if  != nil {
		return .Role
	}
	return ""
}

func ( *Binding) () []string {
	if  != nil {
		return .Members
	}
	return nil
}

func ( *Binding) () *expr.Expr {
	if  != nil {
		return .Condition
	}
	return nil
}
The difference delta between two policies.
The delta for Bindings between two policies.
The delta for AuditConfigs between two policies.
	AuditConfigDeltas []*AuditConfigDelta `protobuf:"bytes,2,rep,name=audit_config_deltas,json=auditConfigDeltas,proto3" json:"audit_config_deltas,omitempty"`
}

func ( *PolicyDelta) () {
	* = PolicyDelta{}
	if protoimpl.UnsafeEnabled {
		 := &file_google_iam_v1_policy_proto_msgTypes[2]
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		.StoreMessageInfo()
	}
}

func ( *PolicyDelta) () string {
	return protoimpl.X.MessageStringOf()
}

func (*PolicyDelta) () {}

func ( *PolicyDelta) () protoreflect.Message {
	 := &file_google_iam_v1_policy_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled &&  != nil {
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		if .LoadMessageInfo() == nil {
			.StoreMessageInfo()
		}
		return 
	}
	return .MessageOf()
}
Deprecated: Use PolicyDelta.ProtoReflect.Descriptor instead.
func (*PolicyDelta) () ([]byte, []int) {
	return file_google_iam_v1_policy_proto_rawDescGZIP(), []int{2}
}

func ( *PolicyDelta) () []*BindingDelta {
	if  != nil {
		return .BindingDeltas
	}
	return nil
}

func ( *PolicyDelta) () []*AuditConfigDelta {
	if  != nil {
		return .AuditConfigDeltas
	}
	return nil
}
One delta entry for Binding. Each individual change (only one member in each entry) to a binding will be a separate entry.
The action that was performed on a Binding. Required
Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required
A single identity requesting access for a Cloud Platform resource. Follows the same format of Binding.members. Required
The condition that is associated with this binding.
	Condition *expr.Expr `protobuf:"bytes,4,opt,name=condition,proto3" json:"condition,omitempty"`
}

func ( *BindingDelta) () {
	* = BindingDelta{}
	if protoimpl.UnsafeEnabled {
		 := &file_google_iam_v1_policy_proto_msgTypes[3]
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		.StoreMessageInfo()
	}
}

func ( *BindingDelta) () string {
	return protoimpl.X.MessageStringOf()
}

func (*BindingDelta) () {}

func ( *BindingDelta) () protoreflect.Message {
	 := &file_google_iam_v1_policy_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled &&  != nil {
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		if .LoadMessageInfo() == nil {
			.StoreMessageInfo()
		}
		return 
	}
	return .MessageOf()
}
Deprecated: Use BindingDelta.ProtoReflect.Descriptor instead.
func (*BindingDelta) () ([]byte, []int) {
	return file_google_iam_v1_policy_proto_rawDescGZIP(), []int{3}
}

func ( *BindingDelta) () BindingDelta_Action {
	if  != nil {
		return .Action
	}
	return BindingDelta_ACTION_UNSPECIFIED
}

func ( *BindingDelta) () string {
	if  != nil {
		return .Role
	}
	return ""
}

func ( *BindingDelta) () string {
	if  != nil {
		return .Member
	}
	return ""
}

func ( *BindingDelta) () *expr.Expr {
	if  != nil {
		return .Condition
	}
	return nil
}
One delta entry for AuditConfig. Each individual change (only one exempted_member in each entry) to a AuditConfig will be a separate entry.
The action that was performed on an audit configuration in a policy. Required
Specifies a service that was configured for Cloud Audit Logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. Required
A single identity that is exempted from "data access" audit logging for the `service` specified above. Follows the same format of Binding.members.
Specifies the log_type that was be enabled. ADMIN_ACTIVITY is always enabled, and cannot be configured. Required
	LogType string `protobuf:"bytes,4,opt,name=log_type,json=logType,proto3" json:"log_type,omitempty"`
}

func ( *AuditConfigDelta) () {
	* = AuditConfigDelta{}
	if protoimpl.UnsafeEnabled {
		 := &file_google_iam_v1_policy_proto_msgTypes[4]
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		.StoreMessageInfo()
	}
}

func ( *AuditConfigDelta) () string {
	return protoimpl.X.MessageStringOf()
}

func (*AuditConfigDelta) () {}

func ( *AuditConfigDelta) () protoreflect.Message {
	 := &file_google_iam_v1_policy_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled &&  != nil {
		 := protoimpl.X.MessageStateOf(protoimpl.Pointer())
		if .LoadMessageInfo() == nil {
			.StoreMessageInfo()
		}
		return 
	}
	return .MessageOf()
}
Deprecated: Use AuditConfigDelta.ProtoReflect.Descriptor instead.
func (*AuditConfigDelta) () ([]byte, []int) {
	return file_google_iam_v1_policy_proto_rawDescGZIP(), []int{4}
}

func ( *AuditConfigDelta) () AuditConfigDelta_Action {
	if  != nil {
		return .Action
	}
	return AuditConfigDelta_ACTION_UNSPECIFIED
}

func ( *AuditConfigDelta) () string {
	if  != nil {
		return .Service
	}
	return ""
}

func ( *AuditConfigDelta) () string {
	if  != nil {
		return .ExemptedMember
	}
	return ""
}

func ( *AuditConfigDelta) () string {
	if  != nil {
		return .LogType
	}
	return ""
}

var File_google_iam_v1_policy_proto protoreflect.FileDescriptor

var file_google_iam_v1_policy_proto_rawDesc = []byte{
	0x0a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f,
	0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x16, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x22, 0x6a, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52,
	0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61,
	0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x68, 0x0a,
	0x07, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d,
	0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x09, 0x63, 0x6f,
	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x0b, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0e, 0x62, 0x69, 0x6e, 0x64, 0x69,
	0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
	0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x0d, 0x62, 0x69,
	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x12, 0x4f, 0x0a, 0x13, 0x61,
	0x75, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x74,
	0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x11, 0x61, 0x75, 0x64, 0x69, 0x74,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x22, 0xde, 0x01, 0x0a,
	0x0c, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x3a, 0x0a,
	0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69,
	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d,
	0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x35, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10,
	0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x22, 0xe7, 0x01,
	0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x6c,
	0x74, 0x61, 0x12, 0x3e, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e,
	0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65,
	0x6c, 0x74, 0x61, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f,
	0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x4d,
	0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65,
	0x22, 0x35, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43,
	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52,
	0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x42, 0x83, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
	0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
	0x70, 0x69, 0x73, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x61, 0x6d, 0xf8, 0x01,
	0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64,
	0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_google_iam_v1_policy_proto_rawDescOnce sync.Once
	file_google_iam_v1_policy_proto_rawDescData = file_google_iam_v1_policy_proto_rawDesc
)

func () []byte {
	file_google_iam_v1_policy_proto_rawDescOnce.Do(func() {
		file_google_iam_v1_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_iam_v1_policy_proto_rawDescData)
	})
	return file_google_iam_v1_policy_proto_rawDescData
}

var file_google_iam_v1_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_iam_v1_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_google_iam_v1_policy_proto_goTypes = []interface{}{
	(BindingDelta_Action)(0),     // 0: google.iam.v1.BindingDelta.Action
	(AuditConfigDelta_Action)(0), // 1: google.iam.v1.AuditConfigDelta.Action
	(*Policy)(nil),               // 2: google.iam.v1.Policy
	(*Binding)(nil),              // 3: google.iam.v1.Binding
	(*PolicyDelta)(nil),          // 4: google.iam.v1.PolicyDelta
	(*BindingDelta)(nil),         // 5: google.iam.v1.BindingDelta
	(*AuditConfigDelta)(nil),     // 6: google.iam.v1.AuditConfigDelta
	(*expr.Expr)(nil),            // 7: google.type.Expr
}
var file_google_iam_v1_policy_proto_depIdxs = []int32{
	3, // 0: google.iam.v1.Policy.bindings:type_name -> google.iam.v1.Binding
	7, // 1: google.iam.v1.Binding.condition:type_name -> google.type.Expr
	5, // 2: google.iam.v1.PolicyDelta.binding_deltas:type_name -> google.iam.v1.BindingDelta
	6, // 3: google.iam.v1.PolicyDelta.audit_config_deltas:type_name -> google.iam.v1.AuditConfigDelta
	0, // 4: google.iam.v1.BindingDelta.action:type_name -> google.iam.v1.BindingDelta.Action
	7, // 5: google.iam.v1.BindingDelta.condition:type_name -> google.type.Expr
	1, // 6: google.iam.v1.AuditConfigDelta.action:type_name -> google.iam.v1.AuditConfigDelta.Action
	7, // [7:7] is the sub-list for method output_type
	7, // [7:7] is the sub-list for method input_type
	7, // [7:7] is the sub-list for extension type_name
	7, // [7:7] is the sub-list for extension extendee
	0, // [0:7] is the sub-list for field type_name
}

func () { file_google_iam_v1_policy_proto_init() }
func () {
	if File_google_iam_v1_policy_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_google_iam_v1_policy_proto_msgTypes[0].Exporter = func( interface{},  int) interface{} {
			switch  := .(*Policy);  {
			case 0:
				return &.state
			case 1:
				return &.sizeCache
			case 2:
				return &.unknownFields
			default:
				return nil
			}
		}
		file_google_iam_v1_policy_proto_msgTypes[1].Exporter = func( interface{},  int) interface{} {
			switch  := .(*Binding);  {
			case 0:
				return &.state
			case 1:
				return &.sizeCache
			case 2:
				return &.unknownFields
			default:
				return nil
			}
		}
		file_google_iam_v1_policy_proto_msgTypes[2].Exporter = func( interface{},  int) interface{} {
			switch  := .(*PolicyDelta);  {
			case 0:
				return &.state
			case 1:
				return &.sizeCache
			case 2:
				return &.unknownFields
			default:
				return nil
			}
		}
		file_google_iam_v1_policy_proto_msgTypes[3].Exporter = func( interface{},  int) interface{} {
			switch  := .(*BindingDelta);  {
			case 0:
				return &.state
			case 1:
				return &.sizeCache
			case 2:
				return &.unknownFields
			default:
				return nil
			}
		}
		file_google_iam_v1_policy_proto_msgTypes[4].Exporter = func( interface{},  int) interface{} {
			switch  := .(*AuditConfigDelta);  {
			case 0:
				return &.state
			case 1:
				return &.sizeCache
			case 2:
				return &.unknownFields
			default:
				return nil
			}
		}
	}
	type  struct{}
	 := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf({}).PkgPath(),
			RawDescriptor: file_google_iam_v1_policy_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   5,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_google_iam_v1_policy_proto_goTypes,
		DependencyIndexes: file_google_iam_v1_policy_proto_depIdxs,
		EnumInfos:         file_google_iam_v1_policy_proto_enumTypes,
		MessageInfos:      file_google_iam_v1_policy_proto_msgTypes,
	}.Build()
	File_google_iam_v1_policy_proto = .File
	file_google_iam_v1_policy_proto_rawDesc = nil
	file_google_iam_v1_policy_proto_goTypes = nil
	file_google_iam_v1_policy_proto_depIdxs = nil