# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: meshtrade/iam/api_user/v1/api_user.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'meshtrade/iam/api_user/v1/api_user.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(meshtrade/iam/api_user/v1/api_user.proto\x12\x19meshtrade.iam.api_user.v1\x1a\x1b\x62uf/validate/validate.proto\"\x80\x07\n\x07\x41PIUser\x12\xca\x01\n\x04name\x18\x01 \x01(\tB\xb5\x01\xbaH\xb1\x01\xba\x01\xad\x01\n\x14name.format.optional\x12:name must be empty or in the format iam/api_users/{ULIDv2}\x1aYsize(this) == 0 || this.matches(\'^iam/api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12V\n\x06owners\x18\x03 \x03(\tB>\xbaH;\x92\x01\x38\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!R\x06owners\x12\xb4\x01\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x90\x01\xbaH\x8c\x01r\x05\x10\x01\x18\xff\x01\xba\x01\x7f\n\x15\x64isplay_name.required\x12\x41\x64isplay name is required and must be between 1 and 255 characters\x1a#size(this) > 0 && size(this) <= 255\xc8\x01\x01R\x0b\x64isplayName\x12\xbe\x01\n\x05state\x18\x05 \x01(\x0e\x32\'.meshtrade.iam.api_user.v1.APIUserStateB\x7f\xbaH|\x82\x01\x02\x10\x01\xba\x01t\n\x0bstate.valid\x12/state must be a valid APIUserState if specified\x1a\x34int(this) == 0 || (int(this) >= 1 && int(this) <= 2)R\x05state\x12k\n\x05roles\x18\x06 \x03(\tBU\xbaHR\x92\x01O\"MrK\x10/\x18\x30\x32\x45^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/roles/[1-9][0-9]{6,7}$R\x05roles\x12\x17\n\x07\x61pi_key\x18\x07 \x01(\tR\x06\x61piKey*f\n\x0c\x41PIUserState\x12\x1e\n\x1a\x41PI_USER_STATE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41PI_USER_STATE_ACTIVE\x10\x01\x12\x1b\n\x17\x41PI_USER_STATE_INACTIVE\x10\x02*\xa6\x01\n\rAPIUserAction\x12\x1f\n\x1b\x41PI_USER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x41PI_USER_ACTION_ACTIVATE\x10\x01\x12\x1e\n\x1a\x41PI_USER_ACTION_DEACTIVATE\x10\x02\x12\x1a\n\x16\x41PI_USER_ACTION_CREATE\x10\x03\x12\x1a\n\x16\x41PI_USER_ACTION_UPDATE\x10\x04\x42n\n co.meshtrade.api.iam.api_user.v1B\x11\x41piUserOuterClassZ7github.com/meshtrade/api/go/iam/api_user/v1;api_user_v1b\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.api_user.v1.api_user_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n co.meshtrade.api.iam.api_user.v1B\021ApiUserOuterClassZ7github.com/meshtrade/api/go/iam/api_user/v1;api_user_v1'
  _globals['_APIUSER'].fields_by_name['name']._loaded_options = None
  _globals['_APIUSER'].fields_by_name['name']._serialized_options = b'\272H\261\001\272\001\255\001\n\024name.format.optional\022:name must be empty or in the format iam/api_users/{ULIDv2}\032Ysize(this) == 0 || this.matches(\'^iam/api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')'
  _globals['_APIUSER'].fields_by_name['owner']._loaded_options = None
  _globals['_APIUSER'].fields_by_name['owner']._serialized_options = b'\272H9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!\310\001\001'
  _globals['_APIUSER'].fields_by_name['owners']._loaded_options = None
  _globals['_APIUSER'].fields_by_name['owners']._serialized_options = b'\272H;\222\0018\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!'
  _globals['_APIUSER'].fields_by_name['display_name']._loaded_options = None
  _globals['_APIUSER'].fields_by_name['display_name']._serialized_options = b'\272H\214\001r\005\020\001\030\377\001\272\001\177\n\025display_name.required\022Adisplay name is required and must be between 1 and 255 characters\032#size(this) > 0 && size(this) <= 255\310\001\001'
  _globals['_APIUSER'].fields_by_name['state']._loaded_options = None
  _globals['_APIUSER'].fields_by_name['state']._serialized_options = b'\272H|\202\001\002\020\001\272\001t\n\013state.valid\022/state must be a valid APIUserState if specified\0324int(this) == 0 || (int(this) >= 1 && int(this) <= 2)'
  _globals['_APIUSER'].fields_by_name['roles']._loaded_options = None
  _globals['_APIUSER'].fields_by_name['roles']._serialized_options = b'\272HR\222\001O\"MrK\020/\03002E^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/roles/[1-9][0-9]{6,7}$'
  _globals['_APIUSERSTATE']._serialized_start=999
  _globals['_APIUSERSTATE']._serialized_end=1101
  _globals['_APIUSERACTION']._serialized_start=1104
  _globals['_APIUSERACTION']._serialized_end=1270
  _globals['_APIUSER']._serialized_start=101
  _globals['_APIUSER']._serialized_end=997
# @@protoc_insertion_point(module_scope)
