Source code for google.iam.v1.policy_pb2

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/iam/v1/policy.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/iam/v1/policy.proto',
  package='google.iam.v1',
  syntax='proto3',
  serialized_pb=_b('\n\x1agoogle/iam/v1/policy.proto\x12\rgoogle.iam.v1\x1a\x1cgoogle/api/annotations.proto\"Q\n\x06Policy\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12(\n\x08\x62indings\x18\x04 \x03(\x0b\x32\x16.google.iam.v1.Binding\x12\x0c\n\x04\x65tag\x18\x03 \x01(\x0c\"(\n\x07\x42inding\x12\x0c\n\x04role\x18\x01 \x01(\t\x12\x0f\n\x07members\x18\x02 \x03(\t\"B\n\x0bPolicyDelta\x12\x33\n\x0e\x62inding_deltas\x18\x01 \x03(\x0b\x32\x1b.google.iam.v1.BindingDelta\"\x97\x01\n\x0c\x42indingDelta\x12\x32\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\".google.iam.v1.BindingDelta.Action\x12\x0c\n\x04role\x18\x02 \x01(\t\x12\x0e\n\x06member\x18\x03 \x01(\t\"5\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06REMOVE\x10\x02\x42m\n\x11\x63om.google.iam.v1B\x0bPolicyProtoP\x01Z0google.golang.org/genproto/googleapis/iam/v1;iam\xf8\x01\x01\xaa\x02\x13Google.Cloud.Iam.V1b\x06proto3')
  ,
  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,])



_BINDINGDELTA_ACTION = _descriptor.EnumDescriptor(
  name='Action',
  full_name='google.iam.v1.BindingDelta.Action',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ACTION_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ADD', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REMOVE', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=367,
  serialized_end=420,
)
_sym_db.RegisterEnumDescriptor(_BINDINGDELTA_ACTION)


_POLICY = _descriptor.Descriptor(
  name='Policy',
  full_name='google.iam.v1.Policy',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='version', full_name='google.iam.v1.Policy.version', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='bindings', full_name='google.iam.v1.Policy.bindings', index=1,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='etag', full_name='google.iam.v1.Policy.etag', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=75,
  serialized_end=156,
)


_BINDING = _descriptor.Descriptor(
  name='Binding',
  full_name='google.iam.v1.Binding',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='role', full_name='google.iam.v1.Binding.role', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='members', full_name='google.iam.v1.Binding.members', index=1,
      number=2, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=158,
  serialized_end=198,
)


_POLICYDELTA = _descriptor.Descriptor(
  name='PolicyDelta',
  full_name='google.iam.v1.PolicyDelta',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='binding_deltas', full_name='google.iam.v1.PolicyDelta.binding_deltas', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=200,
  serialized_end=266,
)


_BINDINGDELTA = _descriptor.Descriptor(
  name='BindingDelta',
  full_name='google.iam.v1.BindingDelta',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='action', full_name='google.iam.v1.BindingDelta.action', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='role', full_name='google.iam.v1.BindingDelta.role', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='member', full_name='google.iam.v1.BindingDelta.member', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _BINDINGDELTA_ACTION,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=269,
  serialized_end=420,
)

_POLICY.fields_by_name['bindings'].message_type = _BINDING
_POLICYDELTA.fields_by_name['binding_deltas'].message_type = _BINDINGDELTA
_BINDINGDELTA.fields_by_name['action'].enum_type = _BINDINGDELTA_ACTION
_BINDINGDELTA_ACTION.containing_type = _BINDINGDELTA
DESCRIPTOR.message_types_by_name['Policy'] = _POLICY
DESCRIPTOR.message_types_by_name['Binding'] = _BINDING
DESCRIPTOR.message_types_by_name['PolicyDelta'] = _POLICYDELTA
DESCRIPTOR.message_types_by_name['BindingDelta'] = _BINDINGDELTA
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Policy = _reflection.GeneratedProtocolMessageType('Policy', (_message.Message,), dict(
  DESCRIPTOR = _POLICY,
  __module__ = 'google.iam.v1.policy_pb2'
  ,
  __doc__ = """Defines an Identity and Access Management (IAM) policy. It is used to
  specify access control policies for Cloud Platform resources.
  
  A ``Policy`` consists of a list of ``bindings``. A ``Binding`` binds a
  list of ``members`` to a ``role``, where the members can be user
  accounts, Google groups, Google domains, and service accounts. A
  ``role`` is a named list of permissions defined by IAM.
  
  **Example**
  
  ::
  
      {
        "bindings": [
          {
            "role": "roles/owner",
            "members": [
              "user:mike@example.com",
              "group:admins@example.com",
              "domain:google.com",
              "serviceAccount:my-other-app@appspot.gserviceaccount.com",
            ]
          },
          {
            "role": "roles/viewer",
            "members": ["user:sean@example.com"]
          }
        ]
      }
  
  For a description of IAM and its features, see the `IAM developer's
  guide <https://cloud.google.com/iam>`__.
  
  
  Attributes:
      version:
          Version of the ``Policy``. The default version is 0.
      bindings:
          Associates a list of ``members`` to a ``role``. Multiple
          ``bindings`` must not be specified for the same ``role``.
          ``bindings`` with no members will result in an error.
      etag:
          ``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 blindly.
  """,
  # @@protoc_insertion_point(class_scope:google.iam.v1.Policy)
  ))
_sym_db.RegisterMessage(Policy)

Binding = _reflection.GeneratedProtocolMessageType('Binding', (_message.Message,), dict(
  DESCRIPTOR = _BINDING,
  __module__ = 'google.iam.v1.policy_pb2'
  ,
  __doc__ = """Associates ``members`` with a ``role``.
  
  
  Attributes:
      role:
          Role that is assigned to ``members``. For example,
          ``roles/viewer``, ``roles/editor``, or ``roles/owner``.
          Required
      members:
          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@gmail.com`` or    ``joe@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}``: A Google Apps
          domain name that represents all    the users of that domain.
          For example, ``google.com`` or    ``example.com``.
  """,
  # @@protoc_insertion_point(class_scope:google.iam.v1.Binding)
  ))
_sym_db.RegisterMessage(Binding)

PolicyDelta = _reflection.GeneratedProtocolMessageType('PolicyDelta', (_message.Message,), dict(
  DESCRIPTOR = _POLICYDELTA,
  __module__ = 'google.iam.v1.policy_pb2'
  ,
  __doc__ = """The difference delta between two policies.
  
  
  Attributes:
      binding_deltas:
          The delta for Bindings between two policies.
  """,
  # @@protoc_insertion_point(class_scope:google.iam.v1.PolicyDelta)
  ))
_sym_db.RegisterMessage(PolicyDelta)

BindingDelta = _reflection.GeneratedProtocolMessageType('BindingDelta', (_message.Message,), dict(
  DESCRIPTOR = _BINDINGDELTA,
  __module__ = 'google.iam.v1.policy_pb2'
  ,
  __doc__ = """One delta entry for Binding. Each individual change (only one member in
  each entry) to a binding will be a separate entry.
  
  
  Attributes:
      action:
          The action that was performed on a Binding. Required
      role:
          Role that is assigned to ``members``. For example,
          ``roles/viewer``, ``roles/editor``, or ``roles/owner``.
          Required
      member:
          A single identity requesting access for a Cloud Platform
          resource. Follows the same format of Binding.members. Required
  """,
  # @@protoc_insertion_point(class_scope:google.iam.v1.BindingDelta)
  ))
_sym_db.RegisterMessage(BindingDelta)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\021com.google.iam.v1B\013PolicyProtoP\001Z0google.golang.org/genproto/googleapis/iam/v1;iam\370\001\001\252\002\023Google.Cloud.Iam.V1'))
try:
  # THESE ELEMENTS WILL BE DEPRECATED.
  # Please use the generated *_pb2_grpc.py files instead.
  import grpc
  from grpc.beta import implementations as beta_implementations
  from grpc.beta import interfaces as beta_interfaces
  from grpc.framework.common import cardinality
  from grpc.framework.interfaces.face import utilities as face_utilities
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)