# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: cerbos/cloud/store/v1/store.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,
    '',
    'cerbos/cloud/store/v1/store.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
from google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cerbos/cloud/store/v1/store.proto\x12\x15\x63\x65rbos.cloud.store.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1bgoogle/api/visibility.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc4\x01\n\x0bStringMatch\x12\x18\n\x06\x65quals\x18\x01 \x01(\tH\x00R\x06\x65quals\x12\x1c\n\x08\x63ontains\x18\x02 \x01(\tH\x00R\x08\x63ontains\x12;\n\x02in\x18\x03 \x01(\x0b\x32).cerbos.cloud.store.v1.StringMatch.InListH\x00R\x02in\x1a\x30\n\x06InList\x12&\n\x06values\x18\x01 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x10\n\"\x04r\x02\x10\x01R\x06valuesB\x0e\n\x05match\x12\x05\xbaH\x02\x08\x01\"R\n\nFileFilter\x12;\n\x04path\x18\x01 \x01(\x0b\x32\".cerbos.cloud.store.v1.StringMatchH\x00R\x04path\x88\x01\x01\x42\x07\n\x05_path\"\x82\x01\n\x10ListFilesRequest\x12#\n\x08store_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x98\x01\x0cR\x07storeId\x12>\n\x06\x66ilter\x18\x02 \x01(\x0b\x32!.cerbos.cloud.store.v1.FileFilterH\x00R\x06\x66ilter\x88\x01\x01\x42\t\n\x07_filter\"N\n\x11ListFilesResponse\x12#\n\rstore_version\x18\x01 \x01(\x03R\x0cstoreVersion\x12\x14\n\x05\x66iles\x18\x02 \x03(\tR\x05\x66iles\"`\n\x0fGetFilesRequest\x12#\n\x08store_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x98\x01\x0cR\x07storeId\x12(\n\x05\x66iles\x18\x02 \x03(\tB\x12\xbaH\x0f\x92\x01\x0c\x08\x01\x10\n\x18\x01\"\x04r\x02\x10\x01R\x05\x66iles\"P\n\x04\x46ile\x12\x1e\n\x04path\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x08R\x04path\x12(\n\x08\x63ontents\x18\x02 \x01(\x0c\x42\x0c\xbaH\tz\x07\x10\x01\x18\x80\x80\xc0\x02R\x08\x63ontents\"j\n\x10GetFilesResponse\x12#\n\rstore_version\x18\x01 \x01(\x03R\x0cstoreVersion\x12\x31\n\x05\x66iles\x18\x02 \x03(\x0b\x32\x1b.cerbos.cloud.store.v1.FileR\x05\x66iles\"\xbf\x07\n\rChangeDetails\x12 \n\x0b\x64\x65scription\x18\x01 \x01(\tR\x0b\x64\x65scription\x12I\n\x08uploader\x18\x02 \x01(\x0b\x32-.cerbos.cloud.store.v1.ChangeDetails.UploaderR\x08uploader\x12<\n\x03git\x18\x03 \x01(\x0b\x32(.cerbos.cloud.store.v1.ChangeDetails.GitH\x00R\x03git\x12K\n\x08internal\x18\x04 \x01(\x0b\x32-.cerbos.cloud.store.v1.ChangeDetails.InternalH\x00R\x08internal\x1a\x89\x02\n\x03Git\x12\x12\n\x04repo\x18\x01 \x01(\tR\x04repo\x12\x10\n\x03ref\x18\x02 \x01(\tR\x03ref\x12\x12\n\x04hash\x18\x03 \x01(\tR\x04hash\x12\x18\n\x07message\x18\x04 \x01(\tR\x07message\x12\x1c\n\tcommitter\x18\x05 \x01(\tR\tcommitter\x12;\n\x0b\x63ommit_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ncommitDate\x12\x16\n\x06\x61uthor\x18\x07 \x01(\tR\x06\x61uthor\x12;\n\x0b\x61uthor_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nauthorDate\x1a\xd0\x01\n\x08Internal\x12\x16\n\x06source\x18\x01 \x01(\tR\x06source\x12W\n\x08metadata\x18\x02 \x03(\x0b\x32;.cerbos.cloud.store.v1.ChangeDetails.Internal.MetadataEntryR\x08metadata\x1aS\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x1a\xcc\x01\n\x08Uploader\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12W\n\x08metadata\x18\x02 \x03(\x0b\x32;.cerbos.cloud.store.v1.ChangeDetails.Uploader.MetadataEntryR\x08metadata\x1aS\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x42\x08\n\x06origin\"r\n\x06\x46ileOp\x12\x41\n\radd_or_update\x18\x01 \x01(\x0b\x32\x1b.cerbos.cloud.store.v1.FileH\x00R\x0b\x61\x64\x64OrUpdate\x12\x18\n\x06\x64\x65lete\x18\x02 \x01(\tH\x00R\x06\x64\x65leteB\x0b\n\x02op\x12\x05\xbaH\x02\x08\x01\"\x9e\x03\n\x12ModifyFilesRequest\x12#\n\x08store_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x98\x01\x0cR\x07storeId\x12V\n\tcondition\x18\x02 \x01(\x0b\x32\x33.cerbos.cloud.store.v1.ModifyFilesRequest.ConditionH\x00R\tcondition\x88\x01\x01\x12I\n\noperations\x18\x03 \x03(\x0b\x32\x1d.cerbos.cloud.store.v1.FileOpB\n\xbaH\x07\x92\x01\x04\x08\x01\x10\x19R\noperations\x12P\n\x0e\x63hange_details\x18\x04 \x01(\x0b\x32$.cerbos.cloud.store.v1.ChangeDetailsH\x01R\rchangeDetails\x88\x01\x01\x1aM\n\tCondition\x12@\n\x18store_version_must_equal\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x00R\x15storeVersionMustEqualB\x0c\n\n_conditionB\x11\n\x0f_change_details\"\xb5\x02\n\tFileError\x12\x12\n\x04\x66ile\x18\x01 \x01(\tR\x04\x66ile\x12<\n\x05\x63\x61use\x18\x02 \x01(\x0e\x32&.cerbos.cloud.store.v1.FileError.CauseR\x05\x63\x61use\x12\x18\n\x07\x64\x65tails\x18\x03 \x01(\tR\x07\x64\x65tails\"\xbb\x01\n\x05\x43\x61use\x12\x15\n\x11\x43\x41USE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43\x41USE_INVALID_FILE_PATH\x10\x01\x12$\n CAUSE_UNSUPPORTED_FILE_EXTENSION\x10\x02\x12\x1f\n\x1b\x43\x41USE_INVALID_FILE_CONTENTS\x10\x03\x12\x1d\n\x19\x43\x41USE_DUPLICATE_FILE_PATH\x10\x04\x12\x18\n\x14\x43\x41USE_FILE_TOO_LARGE\x10\x05\"A\n\x13ModifyFilesResponse\x12*\n\x11new_store_version\x18\x01 \x01(\x03R\x0fnewStoreVersion\"\x83\x05\n\x13ReplaceFilesRequest\x12#\n\x08store_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x98\x01\x0cR\x07storeId\x12W\n\tcondition\x18\x02 \x01(\x0b\x32\x34.cerbos.cloud.store.v1.ReplaceFilesRequest.ConditionH\x01R\tcondition\x88\x01\x01\x12\x37\n\x0fzipped_contents\x18\x03 \x01(\x0c\x42\x0c\xbaH\tz\x07\x10\x16\x18\x80\x80\xc0\x07H\x00R\x0ezippedContents\x12H\n\x05\x66iles\x18\x05 \x01(\x0b\x32\x30.cerbos.cloud.store.v1.ReplaceFilesRequest.FilesH\x00R\x05\x66iles\x12P\n\x0e\x63hange_details\x18\x04 \x01(\x0b\x32$.cerbos.cloud.store.v1.ChangeDetailsH\x02R\rchangeDetails\x88\x01\x01\x1aM\n\tCondition\x12@\n\x18store_version_must_equal\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x00R\x15storeVersionMustEqual\x1a\x95\x01\n\x05\x46iles\x12\x8b\x01\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x1b.cerbos.cloud.store.v1.FileBX\xbaHU\x92\x01\x02\x08\x01\xba\x01M\n\x12\x66iles.unique_paths\x12\x19\x46ile paths must be unique\x1a\x1cthis.map(f, f.path).unique()R\x05\x66ilesB\x11\n\x08\x63ontents\x12\x05\xbaH\x02\x08\x01\x42\x0c\n\n_conditionB\x11\n\x0f_change_details\"V\n\x1a\x45rrDetailValidationFailure\x12\x38\n\x06\x65rrors\x18\x01 \x03(\x0b\x32 .cerbos.cloud.store.v1.FileErrorR\x06\x65rrors\"=\n\x16\x45rrDetailNoUsableFiles\x12#\n\rignored_files\x18\x01 \x03(\tR\x0cignoredFiles\"S\n\x1d\x45rrDetailConditionUnsatisfied\x12\x32\n\x15\x63urrent_store_version\x18\x01 \x01(\x03R\x13\x63urrentStoreVersion\"v\n\x1b\x45rrDetailOperationDiscarded\x12\x32\n\x15\x63urrent_store_version\x18\x01 \x01(\x03R\x13\x63urrentStoreVersion\x12#\n\rignored_files\x18\x02 \x03(\tR\x0cignoredFiles\"(\n&ErrDetailCannotModifyGitConnectedStore\"g\n\x14ReplaceFilesResponse\x12*\n\x11new_store_version\x18\x01 \x01(\x03R\x0fnewStoreVersion\x12#\n\rignored_files\x18\x02 \x03(\tR\x0cignoredFiles2\xc4\x03\n\x12\x43\x65rbosStoreService\x12\x63\n\tListFiles\x12\'.cerbos.cloud.store.v1.ListFilesRequest\x1a(.cerbos.cloud.store.v1.ListFilesResponse\"\x03\x90\x02\x01\x12`\n\x08GetFiles\x12&.cerbos.cloud.store.v1.GetFilesRequest\x1a\'.cerbos.cloud.store.v1.GetFilesResponse\"\x03\x90\x02\x01\x12\x66\n\x0bModifyFiles\x12).cerbos.cloud.store.v1.ModifyFilesRequest\x1a*.cerbos.cloud.store.v1.ModifyFilesResponse\"\x00\x12i\n\x0cReplaceFiles\x12*.cerbos.cloud.store.v1.ReplaceFilesRequest\x1a+.cerbos.cloud.store.v1.ReplaceFilesResponse\"\x00\x1a\x14\xfa\xd2\xe4\x93\x02\x0e\x12\x0c\x45XPERIMENTALB|\n\x1d\x64\x65v.cerbos.api.cloud.v1.storeZ?github.com/cerbos/cloud-api/genpb/cerbos/cloud/store/v1;storev1\xaa\x02\x19\x43\x65rbos.Api.Cloud.V1.Storeb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cerbos.cloud.store.v1.store_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\035dev.cerbos.api.cloud.v1.storeZ?github.com/cerbos/cloud-api/genpb/cerbos/cloud/store/v1;storev1\252\002\031Cerbos.Api.Cloud.V1.Store'
  _globals['_STRINGMATCH_INLIST'].fields_by_name['values']._loaded_options = None
  _globals['_STRINGMATCH_INLIST'].fields_by_name['values']._serialized_options = b'\272H\013\222\001\010\020\n\"\004r\002\020\001'
  _globals['_STRINGMATCH'].oneofs_by_name['match']._loaded_options = None
  _globals['_STRINGMATCH'].oneofs_by_name['match']._serialized_options = b'\272H\002\010\001'
  _globals['_LISTFILESREQUEST'].fields_by_name['store_id']._loaded_options = None
  _globals['_LISTFILESREQUEST'].fields_by_name['store_id']._serialized_options = b'\272H\005r\003\230\001\014'
  _globals['_GETFILESREQUEST'].fields_by_name['store_id']._loaded_options = None
  _globals['_GETFILESREQUEST'].fields_by_name['store_id']._serialized_options = b'\272H\005r\003\230\001\014'
  _globals['_GETFILESREQUEST'].fields_by_name['files']._loaded_options = None
  _globals['_GETFILESREQUEST'].fields_by_name['files']._serialized_options = b'\272H\017\222\001\014\010\001\020\n\030\001\"\004r\002\020\001'
  _globals['_FILE'].fields_by_name['path']._loaded_options = None
  _globals['_FILE'].fields_by_name['path']._serialized_options = b'\272H\007r\005\020\001\030\200\010'
  _globals['_FILE'].fields_by_name['contents']._loaded_options = None
  _globals['_FILE'].fields_by_name['contents']._serialized_options = b'\272H\tz\007\020\001\030\200\200\300\002'
  _globals['_CHANGEDETAILS_INTERNAL_METADATAENTRY']._loaded_options = None
  _globals['_CHANGEDETAILS_INTERNAL_METADATAENTRY']._serialized_options = b'8\001'
  _globals['_CHANGEDETAILS_UPLOADER_METADATAENTRY']._loaded_options = None
  _globals['_CHANGEDETAILS_UPLOADER_METADATAENTRY']._serialized_options = b'8\001'
  _globals['_FILEOP'].oneofs_by_name['op']._loaded_options = None
  _globals['_FILEOP'].oneofs_by_name['op']._serialized_options = b'\272H\002\010\001'
  _globals['_MODIFYFILESREQUEST_CONDITION'].fields_by_name['store_version_must_equal']._loaded_options = None
  _globals['_MODIFYFILESREQUEST_CONDITION'].fields_by_name['store_version_must_equal']._serialized_options = b'\272H\004\"\002(\000'
  _globals['_MODIFYFILESREQUEST'].fields_by_name['store_id']._loaded_options = None
  _globals['_MODIFYFILESREQUEST'].fields_by_name['store_id']._serialized_options = b'\272H\005r\003\230\001\014'
  _globals['_MODIFYFILESREQUEST'].fields_by_name['operations']._loaded_options = None
  _globals['_MODIFYFILESREQUEST'].fields_by_name['operations']._serialized_options = b'\272H\007\222\001\004\010\001\020\031'
  _globals['_REPLACEFILESREQUEST_CONDITION'].fields_by_name['store_version_must_equal']._loaded_options = None
  _globals['_REPLACEFILESREQUEST_CONDITION'].fields_by_name['store_version_must_equal']._serialized_options = b'\272H\004\"\002(\000'
  _globals['_REPLACEFILESREQUEST_FILES'].fields_by_name['files']._loaded_options = None
  _globals['_REPLACEFILESREQUEST_FILES'].fields_by_name['files']._serialized_options = b'\272HU\222\001\002\010\001\272\001M\n\022files.unique_paths\022\031File paths must be unique\032\034this.map(f, f.path).unique()'
  _globals['_REPLACEFILESREQUEST'].oneofs_by_name['contents']._loaded_options = None
  _globals['_REPLACEFILESREQUEST'].oneofs_by_name['contents']._serialized_options = b'\272H\002\010\001'
  _globals['_REPLACEFILESREQUEST'].fields_by_name['store_id']._loaded_options = None
  _globals['_REPLACEFILESREQUEST'].fields_by_name['store_id']._serialized_options = b'\272H\005r\003\230\001\014'
  _globals['_REPLACEFILESREQUEST'].fields_by_name['zipped_contents']._loaded_options = None
  _globals['_REPLACEFILESREQUEST'].fields_by_name['zipped_contents']._serialized_options = b'\272H\tz\007\020\026\030\200\200\300\007'
  _globals['_CERBOSSTORESERVICE']._loaded_options = None
  _globals['_CERBOSSTORESERVICE']._serialized_options = b'\372\322\344\223\002\016\022\014EXPERIMENTAL'
  _globals['_CERBOSSTORESERVICE'].methods_by_name['ListFiles']._loaded_options = None
  _globals['_CERBOSSTORESERVICE'].methods_by_name['ListFiles']._serialized_options = b'\220\002\001'
  _globals['_CERBOSSTORESERVICE'].methods_by_name['GetFiles']._loaded_options = None
  _globals['_CERBOSSTORESERVICE'].methods_by_name['GetFiles']._serialized_options = b'\220\002\001'
  _globals['_STRINGMATCH']._serialized_start=182
  _globals['_STRINGMATCH']._serialized_end=378
  _globals['_STRINGMATCH_INLIST']._serialized_start=314
  _globals['_STRINGMATCH_INLIST']._serialized_end=362
  _globals['_FILEFILTER']._serialized_start=380
  _globals['_FILEFILTER']._serialized_end=462
  _globals['_LISTFILESREQUEST']._serialized_start=465
  _globals['_LISTFILESREQUEST']._serialized_end=595
  _globals['_LISTFILESRESPONSE']._serialized_start=597
  _globals['_LISTFILESRESPONSE']._serialized_end=675
  _globals['_GETFILESREQUEST']._serialized_start=677
  _globals['_GETFILESREQUEST']._serialized_end=773
  _globals['_FILE']._serialized_start=775
  _globals['_FILE']._serialized_end=855
  _globals['_GETFILESRESPONSE']._serialized_start=857
  _globals['_GETFILESRESPONSE']._serialized_end=963
  _globals['_CHANGEDETAILS']._serialized_start=966
  _globals['_CHANGEDETAILS']._serialized_end=1925
  _globals['_CHANGEDETAILS_GIT']._serialized_start=1232
  _globals['_CHANGEDETAILS_GIT']._serialized_end=1497
  _globals['_CHANGEDETAILS_INTERNAL']._serialized_start=1500
  _globals['_CHANGEDETAILS_INTERNAL']._serialized_end=1708
  _globals['_CHANGEDETAILS_INTERNAL_METADATAENTRY']._serialized_start=1625
  _globals['_CHANGEDETAILS_INTERNAL_METADATAENTRY']._serialized_end=1708
  _globals['_CHANGEDETAILS_UPLOADER']._serialized_start=1711
  _globals['_CHANGEDETAILS_UPLOADER']._serialized_end=1915
  _globals['_CHANGEDETAILS_UPLOADER_METADATAENTRY']._serialized_start=1625
  _globals['_CHANGEDETAILS_UPLOADER_METADATAENTRY']._serialized_end=1708
  _globals['_FILEOP']._serialized_start=1927
  _globals['_FILEOP']._serialized_end=2041
  _globals['_MODIFYFILESREQUEST']._serialized_start=2044
  _globals['_MODIFYFILESREQUEST']._serialized_end=2458
  _globals['_MODIFYFILESREQUEST_CONDITION']._serialized_start=2348
  _globals['_MODIFYFILESREQUEST_CONDITION']._serialized_end=2425
  _globals['_FILEERROR']._serialized_start=2461
  _globals['_FILEERROR']._serialized_end=2770
  _globals['_FILEERROR_CAUSE']._serialized_start=2583
  _globals['_FILEERROR_CAUSE']._serialized_end=2770
  _globals['_MODIFYFILESRESPONSE']._serialized_start=2772
  _globals['_MODIFYFILESRESPONSE']._serialized_end=2837
  _globals['_REPLACEFILESREQUEST']._serialized_start=2840
  _globals['_REPLACEFILESREQUEST']._serialized_end=3483
  _globals['_REPLACEFILESREQUEST_CONDITION']._serialized_start=2348
  _globals['_REPLACEFILESREQUEST_CONDITION']._serialized_end=2425
  _globals['_REPLACEFILESREQUEST_FILES']._serialized_start=3282
  _globals['_REPLACEFILESREQUEST_FILES']._serialized_end=3431
  _globals['_ERRDETAILVALIDATIONFAILURE']._serialized_start=3485
  _globals['_ERRDETAILVALIDATIONFAILURE']._serialized_end=3571
  _globals['_ERRDETAILNOUSABLEFILES']._serialized_start=3573
  _globals['_ERRDETAILNOUSABLEFILES']._serialized_end=3634
  _globals['_ERRDETAILCONDITIONUNSATISFIED']._serialized_start=3636
  _globals['_ERRDETAILCONDITIONUNSATISFIED']._serialized_end=3719
  _globals['_ERRDETAILOPERATIONDISCARDED']._serialized_start=3721
  _globals['_ERRDETAILOPERATIONDISCARDED']._serialized_end=3839
  _globals['_ERRDETAILCANNOTMODIFYGITCONNECTEDSTORE']._serialized_start=3841
  _globals['_ERRDETAILCANNOTMODIFYGITCONNECTEDSTORE']._serialized_end=3881
  _globals['_REPLACEFILESRESPONSE']._serialized_start=3883
  _globals['_REPLACEFILESRESPONSE']._serialized_end=3986
  _globals['_CERBOSSTORESERVICE']._serialized_start=3989
  _globals['_CERBOSSTORESERVICE']._serialized_end=4441
# @@protoc_insertion_point(module_scope)
