diff --git a/docs/entities.md b/docs/entities.md index 3bd2361..b46abf3 100644 --- a/docs/entities.md +++ b/docs/entities.md @@ -882,7 +882,7 @@ def main(): entities = [] """ - Clsuter entity with only a name provided will attempt to create or update a cluster with + Cluster entity with only a name provided will attempt to create or update a cluster with the given name and placeholders (i.e. "undefined") for other nested objects types (e.g. ClusterGroup, ClusterType, Site) required by NetBox. """ @@ -919,7 +919,7 @@ def main(): tags=["tag 1", "tag 2"], ), group = ClusterGroup( - name="Cluster Group", + name="Cluster Group A", description="Cluster Group description", tags=["tag 1", "tag 2"], ), @@ -995,8 +995,8 @@ def main(): """ VirtualMachine entity with only a name provided will attempt to create or update a name with - the given name and placeholders (i.e. "undefined") for other nested objects types (e.g. Site) - required by NetBox. + the given name and placeholders (i.e. "undefined") for other nested objects types (e.g. Site, + Role, Cluster, Platform, Device) required by NetBox. """ virtual_machine = VirtualMachine(name="VM A") diff --git a/netboxlabs/diode/sdk/diode/v1/ingester_pb2.py b/netboxlabs/diode/sdk/diode/v1/ingester_pb2.py index 4897938..3c1f932 100644 --- a/netboxlabs/diode/sdk/diode/v1/ingester_pb2.py +++ b/netboxlabs/diode/sdk/diode/v1/ingester_pb2.py @@ -7,6 +7,7 @@ from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,202 +17,366 @@ from netboxlabs.diode.sdk.validate import validate_pb2 as validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x64iode/v1/ingester.proto\x12\x08\x64iode.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto\"\xe4\x05\n\x06\x44\x65vice\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x18@R\x04name\x12\x30\n\x0b\x64\x65vice_fqdn\x18\x02 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01H\x00R\ndeviceFqdn\x88\x01\x01\x12\x35\n\x0b\x64\x65vice_type\x18\x03 \x01(\x0b\x32\x14.diode.v1.DeviceTypeR\ndeviceType\x12\"\n\x04role\x18\x04 \x01(\x0b\x32\x0e.diode.v1.RoleR\x04role\x12.\n\x08platform\x18\x05 \x01(\x0b\x32\x12.diode.v1.PlatformR\x08platform\x12$\n\x06serial\x18\x06 \x01(\tB\x07\xfa\x42\x04r\x02\x18\x32H\x01R\x06serial\x88\x01\x01\x12\"\n\x04site\x18\x07 \x01(\x0b\x32\x0e.diode.v1.SiteR\x04site\x12*\n\tasset_tag\x18\x08 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x02R\x08\x61ssetTag\x88\x01\x01\x12\x63\n\x06status\x18\t \x01(\tBK\xfa\x42HrFR\x07offlineR\x06\x61\x63tiveR\x07plannedR\x06stagedR\x06\x66\x61iledR\tinventoryR\x0f\x64\x65\x63ommissioningR\x06status\x12/\n\x0b\x64\x65scription\x18\n \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x03R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x0b \x01(\tH\x04R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x0c \x03(\x0b\x32\r.diode.v1.TagR\x04tags\x12\x34\n\x0bprimary_ip4\x18\r \x01(\x0b\x32\x13.diode.v1.IPAddressR\nprimaryIp4\x12\x34\n\x0bprimary_ip6\x18\x0e \x01(\x0b\x32\x13.diode.v1.IPAddressR\nprimaryIp6B\x0e\n\x0c_device_fqdnB\t\n\x07_serialB\x0c\n\n_asset_tagB\x0e\n\x0c_descriptionB\x0b\n\t_comments\"\xef\x11\n\tInterface\x12\x32\n\x06\x64\x65vice\x18\x01 \x01(\x0b\x32\x10.diode.v1.DeviceB\x08\xfa\x42\x05\xa2\x01\x02\x08\x01R\x06\x64\x65vice\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18@R\x04name\x12$\n\x05label\x18\x03 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18@H\x00R\x05label\x88\x01\x01\x12\xfa\x0c\n\x04type\x18\x04 \x01(\tB\xe5\x0c\xfa\x42\xe1\x0cr\xde\x0cR\x07virtualR\x06\x62ridgeR\x03lagR\n100base-fxR\x0b\x31\x30\x30\x62\x61se-lfxR\n100base-txR\n100base-t1R\n1000base-tR\x0f\x31\x30\x30\x30\x62\x61se-x-gbicR\x0e\x31\x30\x30\x30\x62\x61se-x-sfpR\n2.5gbase-tR\x08\x35gbase-tR\t10gbase-tR\x0b\x31\x30gbase-cx4R\x0e\x31\x30gbase-x-sfppR\r10gbase-x-xfpR\x10\x31\x30gbase-x-xenpakR\x0c\x31\x30gbase-x-x2R\x0f\x32\x35gbase-x-sfp28R\x0f\x35\x30gbase-x-sfp56R\x0f\x34\x30gbase-x-qsfppR\x0f\x35\x30gbase-x-sfp28R\x0e\x31\x30\x30gbase-x-cfpR\x0f\x31\x30\x30gbase-x-cfp2R\x0f\x31\x30\x30gbase-x-cfp4R\x0e\x31\x30\x30gbase-x-cxpR\x0f\x31\x30\x30gbase-x-cpakR\x0f\x31\x30\x30gbase-x-dsfpR\x10\x31\x30\x30gbase-x-sfpddR\x11\x31\x30\x30gbase-x-qsfp28R\x11\x31\x30\x30gbase-x-qsfpddR\x0f\x32\x30\x30gbase-x-cfp2R\x11\x32\x30\x30gbase-x-qsfp56R\x11\x32\x30\x30gbase-x-qsfpddR\x0f\x34\x30\x30gbase-x-cfp2R\x12\x34\x30\x30gbase-x-qsfp112R\x11\x34\x30\x30gbase-x-qsfpddR\x0f\x34\x30\x30gbase-x-osfpR\x13\x34\x30\x30gbase-x-osfp-rhsR\x0f\x34\x30\x30gbase-x-cdfpR\x0f\x34\x30\x30gbase-x-cfp8R\x11\x38\x30\x30gbase-x-qsfpddR\x0f\x38\x30\x30gbase-x-osfpR\x0b\x31\x30\x30\x30\x62\x61se-kxR\n10gbase-krR\x0b\x31\x30gbase-kx4R\n25gbase-krR\x0b\x34\x30gbase-kr4R\n50gbase-krR\x0c\x31\x30\x30gbase-kp4R\x0c\x31\x30\x30gbase-kr2R\x0c\x31\x30\x30gbase-kr4R\x0bieee802.11aR\x0bieee802.11gR\x0bieee802.11nR\x0cieee802.11acR\x0cieee802.11adR\x0cieee802.11axR\x0cieee802.11ayR\x0cieee802.15.1R\x0eother-wirelessR\x03gsmR\x04\x63\x64maR\x03lteR\tsonet-oc3R\nsonet-oc12R\nsonet-oc48R\x0bsonet-oc192R\x0bsonet-oc768R\x0csonet-oc1920R\x0csonet-oc3840R\x08\x31gfc-sfpR\x08\x32gfc-sfpR\x08\x34gfc-sfpR\t8gfc-sfppR\n16gfc-sfppR\x0b\x33\x32gfc-sfp28R\x0b\x36\x34gfc-qsfppR\r128gfc-qsfp28R\x0einfiniband-sdrR\x0einfiniband-ddrR\x0einfiniband-qdrR\x10infiniband-fdr10R\x0einfiniband-fdrR\x0einfiniband-edrR\x0einfiniband-hdrR\x0einfiniband-ndrR\x0einfiniband-xdrR\x02t1R\x02\x65\x31R\x02t3R\x02\x65\x33R\x04xdslR\x06\x64ocsisR\x04gponR\x06xg-ponR\x07xgs-ponR\x07ng-pon2R\x04\x65ponR\x08\x31\x30g-eponR\x0f\x63isco-stackwiseR\x14\x63isco-stackwise-plusR\x0f\x63isco-flexstackR\x14\x63isco-flexstack-plusR\x12\x63isco-stackwise-80R\x13\x63isco-stackwise-160R\x13\x63isco-stackwise-320R\x13\x63isco-stackwise-480R\x12\x63isco-stackwise-1tR\x0bjuniper-vcpR\x13\x65xtreme-summitstackR\x17\x65xtreme-summitstack-128R\x17\x65xtreme-summitstack-256R\x17\x65xtreme-summitstack-512R\x05otherR\x04type\x12\x1d\n\x07\x65nabled\x18\x05 \x01(\x08H\x01R\x07\x65nabled\x88\x01\x01\x12\"\n\x03mtu\x18\x06 \x01(\x05\x42\x0b\xfa\x42\x08\x1a\x06\x18\x80\x80\x04(\x01H\x02R\x03mtu\x88\x01\x01\x12$\n\x0bmac_address\x18\x07 \x01(\tH\x03R\nmacAddress\x88\x01\x01\x12\"\n\x05speed\x18\x08 \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00H\x04R\x05speed\x88\x01\x01\x12\x15\n\x03wwn\x18\t \x01(\tH\x05R\x03wwn\x88\x01\x01\x12 \n\tmgmt_only\x18\n \x01(\x08H\x06R\x08mgmtOnly\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x0b \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x07R\x0b\x64\x65scription\x88\x01\x01\x12*\n\x0emark_connected\x18\x0c \x01(\x08H\x08R\rmarkConnected\x88\x01\x01\x12\x35\n\x04mode\x18\r \x01(\tB!\xfa\x42\x1er\x1cR\x06\x61\x63\x63\x65ssR\x06taggedR\ntagged-allR\x04mode\x12!\n\x04tags\x18\x0e \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x08\n\x06_labelB\n\n\x08_enabledB\x06\n\x04_mtuB\x0e\n\x0c_mac_addressB\x08\n\x06_speedB\x06\n\x04_wwnB\x0c\n\n_mgmt_onlyB\x0e\n\x0c_descriptionB\x11\n\x0f_mark_connected\"\xe3\x02\n\x07\x43luster\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12)\n\x04type\x18\x02 \x01(\x0b\x32\x15.diode.v1.ClusterTypeR\x04type\x12,\n\x05group\x18\x03 \x01(\x0b\x32\x16.diode.v1.ClusterGroupR\x05group\x12\"\n\x04site\x18\x04 \x01(\x0b\x32\x0e.diode.v1.SiteR\x04site\x12X\n\x06status\x18\x05 \x01(\tB@\xfa\x42=r;R\x07offlineR\x06\x61\x63tiveR\x07plannedR\x06stagedR\x06\x66\x61iledR\x0f\x64\x65\x63ommissioningR\x06status\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x07 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description\"\xc1\x01\n\x0b\x43lusterType\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12/\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x04 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description\"\xc2\x01\n\x0c\x43lusterGroup\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12/\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x04 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description\"\xde\x05\n\x0eVirtualMachine\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x18@R\x04name\x12X\n\x06status\x18\x02 \x01(\tB@\xfa\x42=r;R\x07offlineR\x06\x61\x63tiveR\x07plannedR\x06stagedR\x06\x66\x61iledR\x0f\x64\x65\x63ommissioningR\x06status\x12\"\n\x04site\x18\x03 \x01(\x0b\x32\x0e.diode.v1.SiteR\x04site\x12+\n\x07\x63luster\x18\x04 \x01(\x0b\x32\x11.diode.v1.ClusterR\x07\x63luster\x12\"\n\x04role\x18\x05 \x01(\x0b\x32\x0e.diode.v1.RoleR\x04role\x12(\n\x06\x64\x65vice\x18\x06 \x01(\x0b\x32\x10.diode.v1.DeviceR\x06\x64\x65vice\x12.\n\x08platform\x18\x07 \x01(\x0b\x32\x12.diode.v1.PlatformR\x08platform\x12\x34\n\x0bprimary_ip4\x18\x08 \x01(\x0b\x32\x13.diode.v1.IPAddressR\nprimaryIp4\x12\x34\n\x0bprimary_ip6\x18\t \x01(\x0b\x32\x13.diode.v1.IPAddressR\nprimaryIp6\x12\"\n\x05vcpus\x18\n \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00H\x00R\x05vcpus\x88\x01\x01\x12$\n\x06memory\x18\x0b \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00H\x01R\x06memory\x88\x01\x01\x12 \n\x04\x64isk\x18\x0c \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00H\x02R\x04\x64isk\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\r \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x03R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x0e \x01(\tH\x04R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x0f \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x08\n\x06_vcpusB\t\n\x07_memoryB\x07\n\x05_diskB\x0e\n\x0c_descriptionB\x0b\n\t_comments\"\xea\x02\n\x0bVMInterface\x12K\n\x0fvirtual_machine\x18\x01 \x01(\x0b\x32\x18.diode.v1.VirtualMachineB\x08\xfa\x42\x05\xa2\x01\x02\x08\x01R\x0evirtualMachine\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18@R\x04name\x12\x1d\n\x07\x65nabled\x18\x03 \x01(\x08H\x00R\x07\x65nabled\x88\x01\x01\x12\"\n\x03mtu\x18\x04 \x01(\x05\x42\x0b\xfa\x42\x08\x1a\x06\x18\x80\x80\x04(\x01H\x01R\x03mtu\x88\x01\x01\x12$\n\x0bmac_address\x18\x05 \x01(\tH\x02R\nmacAddress\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x03R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x07 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\n\n\x08_enabledB\x06\n\x04_mtuB\x0e\n\x0c_mac_addressB\x0e\n\x0c_description\"\xfa\x01\n\x0bVirtualDisk\x12K\n\x0fvirtual_machine\x18\x01 \x01(\x0b\x32\x18.diode.v1.VirtualMachineB\x08\xfa\x42\x05\xa2\x01\x02\x08\x01R\x0evirtualMachine\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12\x1b\n\x04size\x18\x03 \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00R\x04size\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x05 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description\"\x8c\x04\n\tIPAddress\x12!\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02p\x01R\x07\x61\x64\x64ress\x12\x33\n\tinterface\x18\x02 \x01(\x0b\x32\x13.diode.v1.InterfaceH\x00R\tinterface\x12H\n\x06status\x18\x03 \x01(\tB0\xfa\x42-r+R\x06\x61\x63tiveR\x08reservedR\ndeprecatedR\x04\x64hcpR\x05slaacR\x06status\x12T\n\x04role\x18\x04 \x01(\tB@\xfa\x42=r;R\x08loopbackR\tsecondaryR\x07\x61nycastR\x03vipR\x04vrrpR\x04hsrpR\x04glbpR\x04\x63\x61rpR\x04role\x12U\n\x08\x64ns_name\x18\x05 \x01(\tB5\xfa\x42\x32r0\x18\xff\x01\x32+^([0-9A-Za-z_-]+|\\*)(\\.[0-9A-Za-z_-]+)*\\.?$H\x01R\x07\x64nsName\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x07 \x01(\tH\x03R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x08 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x11\n\x0f\x61ssigned_objectB\x0b\n\t_dns_nameB\x0e\n\x0c_descriptionB\x0b\n\t_comments\"\xeb\x02\n\nDeviceType\x12\x1f\n\x05model\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x05model\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12:\n\x0cmanufacturer\x18\x03 \x01(\x0b\x32\x16.diode.v1.ManufacturerR\x0cmanufacturer\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x05 \x01(\tH\x01R\x08\x63omments\x88\x01\x01\x12-\n\x0bpart_number\x18\x06 \x01(\tB\x07\xfa\x42\x04r\x02\x18\x32H\x02R\npartNumber\x88\x01\x01\x12!\n\x04tags\x18\x07 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_descriptionB\x0b\n\t_commentsB\x0e\n\x0c_part_number\"\xc2\x01\n\x0cManufacturer\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12/\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x04 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description\"\xfa\x01\n\x08Platform\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12:\n\x0cmanufacturer\x18\x03 \x01(\x0b\x32\x16.diode.v1.ManufacturerR\x0cmanufacturer\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x05 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description\"\x8d\x03\n\x06Prefix\x12\x1f\n\x06prefix\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02p\x01R\x06prefix\x12\"\n\x04site\x18\x02 \x01(\x0b\x32\x0e.diode.v1.SiteR\x04site\x12\x46\n\x06status\x18\x03 \x01(\tB.\xfa\x42+r)R\x06\x61\x63tiveR\tcontainerR\x08reservedR\ndeprecatedR\x06status\x12\x1c\n\x07is_pool\x18\x04 \x01(\x08H\x00R\x06isPool\x88\x01\x01\x12(\n\rmark_utilized\x18\x05 \x01(\x08H\x01R\x0cmarkUtilized\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x07 \x01(\tH\x03R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x08 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\n\n\x08_is_poolB\x10\n\x0e_mark_utilizedB\x0e\n\x0c_descriptionB\x0b\n\t_comments\"\xea\x01\n\x04Role\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12.\n\x05\x63olor\x18\x03 \x01(\tB\x18\xfa\x42\x15r\x13\x10\x06\x18\x06\x32\r^[0-9a-f]{6}$R\x05\x63olor\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x05 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description\"\xa2\x03\n\x04Site\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12Q\n\x06status\x18\x03 \x01(\tB9\xfa\x42\x36r4R\x07plannedR\x07stagingR\x06\x61\x63tiveR\x0f\x64\x65\x63ommissioningR\x07retiredR\x06status\x12(\n\x08\x66\x61\x63ility\x18\x04 \x01(\tB\x07\xfa\x42\x04r\x02\x18\x32H\x00R\x08\x66\x61\x63ility\x88\x01\x01\x12 \n\ttime_zone\x18\x05 \x01(\tH\x01R\x08timeZone\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x07 \x01(\tH\x03R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x08 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0b\n\t_facilityB\x0c\n\n_time_zoneB\x0e\n\x0c_descriptionB\x0b\n\t_comments\"\x85\x01\n\x03Tag\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12.\n\x05\x63olor\x18\x03 \x01(\tB\x18\xfa\x42\x15r\x13\x10\x06\x18\x06\x32\r^[0-9a-f]{6}$R\x05\x63olor\"\x83\x07\n\x06\x45ntity\x12$\n\x04site\x18\x01 \x01(\x0b\x32\x0e.diode.v1.SiteH\x00R\x04site\x12\x30\n\x08platform\x18\x02 \x01(\x0b\x32\x12.diode.v1.PlatformH\x00R\x08platform\x12<\n\x0cmanufacturer\x18\x03 \x01(\x0b\x32\x16.diode.v1.ManufacturerH\x00R\x0cmanufacturer\x12*\n\x06\x64\x65vice\x18\x04 \x01(\x0b\x32\x10.diode.v1.DeviceH\x00R\x06\x64\x65vice\x12\x31\n\x0b\x64\x65vice_role\x18\x05 \x01(\x0b\x32\x0e.diode.v1.RoleH\x00R\ndeviceRole\x12\x37\n\x0b\x64\x65vice_type\x18\x06 \x01(\x0b\x32\x14.diode.v1.DeviceTypeH\x00R\ndeviceType\x12\x33\n\tinterface\x18\x07 \x01(\x0b\x32\x13.diode.v1.InterfaceH\x00R\tinterface\x12\x34\n\nip_address\x18\t \x01(\x0b\x32\x13.diode.v1.IPAddressH\x00R\tipAddress\x12*\n\x06prefix\x18\n \x01(\x0b\x32\x10.diode.v1.PrefixH\x00R\x06prefix\x12=\n\rcluster_group\x18\x0b \x01(\x0b\x32\x16.diode.v1.ClusterGroupH\x00R\x0c\x63lusterGroup\x12:\n\x0c\x63luster_type\x18\x0c \x01(\x0b\x32\x15.diode.v1.ClusterTypeH\x00R\x0b\x63lusterType\x12-\n\x07\x63luster\x18\r \x01(\x0b\x32\x11.diode.v1.ClusterH\x00R\x07\x63luster\x12\x43\n\x0fvirtual_machine\x18\x0e \x01(\x0b\x32\x18.diode.v1.VirtualMachineH\x00R\x0evirtualMachine\x12\x39\n\x0bvminterface\x18\x0f \x01(\x0b\x32\x15.diode.v1.VMInterfaceH\x00R\x0bvminterface\x12:\n\x0cvirtual_disk\x18\x10 \x01(\x0b\x32\x15.diode.v1.VirtualDiskH\x00R\x0bvirtualDisk\x12\x44\n\ttimestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xfa\x42\x07\xb2\x01\x04\x08\x01\x38\x01R\ttimestampB\x08\n\x06\x65ntity\"\xe4\x02\n\rIngestRequest\x12\"\n\x06stream\x18\x01 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x06stream\x12\x39\n\x08\x65ntities\x18\x02 \x03(\x0b\x32\x10.diode.v1.EntityB\x0b\xfa\x42\x08\x92\x01\x05\x08\x01\x10\xe8\x07R\x08\x65ntities\x12\x18\n\x02id\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01R\x02id\x12\x36\n\x11producer_app_name\x18\x04 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x0fproducerAppName\x12<\n\x14producer_app_version\x18\x05 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x12producerAppVersion\x12%\n\x08sdk_name\x18\x06 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x07sdkName\x12=\n\x0bsdk_version\x18\x07 \x01(\tB\x1c\xfa\x42\x19r\x17\x32\x15^(\\d)+\\.(\\d)+\\.(\\d)+$R\nsdkVersion\"(\n\x0eIngestResponse\x12\x16\n\x06\x65rrors\x18\x01 \x03(\tR\x06\x65rrors2P\n\x0fIngesterService\x12=\n\x06Ingest\x12\x17.diode.v1.IngestRequest\x1a\x18.diode.v1.IngestResponse\"\x00\x42\x35Z3github.com/netboxlabs/diode-sdk-go/diode/v1/diodepbb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x17\x64iode/v1/ingester.proto\x12\x08\x64iode.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto"\xe4\x05\n\x06\x44\x65vice\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x18@R\x04name\x12\x30\n\x0b\x64\x65vice_fqdn\x18\x02 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01H\x00R\ndeviceFqdn\x88\x01\x01\x12\x35\n\x0b\x64\x65vice_type\x18\x03 \x01(\x0b\x32\x14.diode.v1.DeviceTypeR\ndeviceType\x12"\n\x04role\x18\x04 \x01(\x0b\x32\x0e.diode.v1.RoleR\x04role\x12.\n\x08platform\x18\x05 \x01(\x0b\x32\x12.diode.v1.PlatformR\x08platform\x12$\n\x06serial\x18\x06 \x01(\tB\x07\xfa\x42\x04r\x02\x18\x32H\x01R\x06serial\x88\x01\x01\x12"\n\x04site\x18\x07 \x01(\x0b\x32\x0e.diode.v1.SiteR\x04site\x12*\n\tasset_tag\x18\x08 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x02R\x08\x61ssetTag\x88\x01\x01\x12\x63\n\x06status\x18\t \x01(\tBK\xfa\x42HrFR\x07offlineR\x06\x61\x63tiveR\x07plannedR\x06stagedR\x06\x66\x61iledR\tinventoryR\x0f\x64\x65\x63ommissioningR\x06status\x12/\n\x0b\x64\x65scription\x18\n \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x03R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x0b \x01(\tH\x04R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x0c \x03(\x0b\x32\r.diode.v1.TagR\x04tags\x12\x34\n\x0bprimary_ip4\x18\r \x01(\x0b\x32\x13.diode.v1.IPAddressR\nprimaryIp4\x12\x34\n\x0bprimary_ip6\x18\x0e \x01(\x0b\x32\x13.diode.v1.IPAddressR\nprimaryIp6B\x0e\n\x0c_device_fqdnB\t\n\x07_serialB\x0c\n\n_asset_tagB\x0e\n\x0c_descriptionB\x0b\n\t_comments"\xef\x11\n\tInterface\x12\x32\n\x06\x64\x65vice\x18\x01 \x01(\x0b\x32\x10.diode.v1.DeviceB\x08\xfa\x42\x05\xa2\x01\x02\x08\x01R\x06\x64\x65vice\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18@R\x04name\x12$\n\x05label\x18\x03 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18@H\x00R\x05label\x88\x01\x01\x12\xfa\x0c\n\x04type\x18\x04 \x01(\tB\xe5\x0c\xfa\x42\xe1\x0cr\xde\x0cR\x07virtualR\x06\x62ridgeR\x03lagR\n100base-fxR\x0b\x31\x30\x30\x62\x61se-lfxR\n100base-txR\n100base-t1R\n1000base-tR\x0f\x31\x30\x30\x30\x62\x61se-x-gbicR\x0e\x31\x30\x30\x30\x62\x61se-x-sfpR\n2.5gbase-tR\x08\x35gbase-tR\t10gbase-tR\x0b\x31\x30gbase-cx4R\x0e\x31\x30gbase-x-sfppR\r10gbase-x-xfpR\x10\x31\x30gbase-x-xenpakR\x0c\x31\x30gbase-x-x2R\x0f\x32\x35gbase-x-sfp28R\x0f\x35\x30gbase-x-sfp56R\x0f\x34\x30gbase-x-qsfppR\x0f\x35\x30gbase-x-sfp28R\x0e\x31\x30\x30gbase-x-cfpR\x0f\x31\x30\x30gbase-x-cfp2R\x0f\x31\x30\x30gbase-x-cfp4R\x0e\x31\x30\x30gbase-x-cxpR\x0f\x31\x30\x30gbase-x-cpakR\x0f\x31\x30\x30gbase-x-dsfpR\x10\x31\x30\x30gbase-x-sfpddR\x11\x31\x30\x30gbase-x-qsfp28R\x11\x31\x30\x30gbase-x-qsfpddR\x0f\x32\x30\x30gbase-x-cfp2R\x11\x32\x30\x30gbase-x-qsfp56R\x11\x32\x30\x30gbase-x-qsfpddR\x0f\x34\x30\x30gbase-x-cfp2R\x12\x34\x30\x30gbase-x-qsfp112R\x11\x34\x30\x30gbase-x-qsfpddR\x0f\x34\x30\x30gbase-x-osfpR\x13\x34\x30\x30gbase-x-osfp-rhsR\x0f\x34\x30\x30gbase-x-cdfpR\x0f\x34\x30\x30gbase-x-cfp8R\x11\x38\x30\x30gbase-x-qsfpddR\x0f\x38\x30\x30gbase-x-osfpR\x0b\x31\x30\x30\x30\x62\x61se-kxR\n10gbase-krR\x0b\x31\x30gbase-kx4R\n25gbase-krR\x0b\x34\x30gbase-kr4R\n50gbase-krR\x0c\x31\x30\x30gbase-kp4R\x0c\x31\x30\x30gbase-kr2R\x0c\x31\x30\x30gbase-kr4R\x0bieee802.11aR\x0bieee802.11gR\x0bieee802.11nR\x0cieee802.11acR\x0cieee802.11adR\x0cieee802.11axR\x0cieee802.11ayR\x0cieee802.15.1R\x0eother-wirelessR\x03gsmR\x04\x63\x64maR\x03lteR\tsonet-oc3R\nsonet-oc12R\nsonet-oc48R\x0bsonet-oc192R\x0bsonet-oc768R\x0csonet-oc1920R\x0csonet-oc3840R\x08\x31gfc-sfpR\x08\x32gfc-sfpR\x08\x34gfc-sfpR\t8gfc-sfppR\n16gfc-sfppR\x0b\x33\x32gfc-sfp28R\x0b\x36\x34gfc-qsfppR\r128gfc-qsfp28R\x0einfiniband-sdrR\x0einfiniband-ddrR\x0einfiniband-qdrR\x10infiniband-fdr10R\x0einfiniband-fdrR\x0einfiniband-edrR\x0einfiniband-hdrR\x0einfiniband-ndrR\x0einfiniband-xdrR\x02t1R\x02\x65\x31R\x02t3R\x02\x65\x33R\x04xdslR\x06\x64ocsisR\x04gponR\x06xg-ponR\x07xgs-ponR\x07ng-pon2R\x04\x65ponR\x08\x31\x30g-eponR\x0f\x63isco-stackwiseR\x14\x63isco-stackwise-plusR\x0f\x63isco-flexstackR\x14\x63isco-flexstack-plusR\x12\x63isco-stackwise-80R\x13\x63isco-stackwise-160R\x13\x63isco-stackwise-320R\x13\x63isco-stackwise-480R\x12\x63isco-stackwise-1tR\x0bjuniper-vcpR\x13\x65xtreme-summitstackR\x17\x65xtreme-summitstack-128R\x17\x65xtreme-summitstack-256R\x17\x65xtreme-summitstack-512R\x05otherR\x04type\x12\x1d\n\x07\x65nabled\x18\x05 \x01(\x08H\x01R\x07\x65nabled\x88\x01\x01\x12"\n\x03mtu\x18\x06 \x01(\x05\x42\x0b\xfa\x42\x08\x1a\x06\x18\x80\x80\x04(\x01H\x02R\x03mtu\x88\x01\x01\x12$\n\x0bmac_address\x18\x07 \x01(\tH\x03R\nmacAddress\x88\x01\x01\x12"\n\x05speed\x18\x08 \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00H\x04R\x05speed\x88\x01\x01\x12\x15\n\x03wwn\x18\t \x01(\tH\x05R\x03wwn\x88\x01\x01\x12 \n\tmgmt_only\x18\n \x01(\x08H\x06R\x08mgmtOnly\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x0b \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x07R\x0b\x64\x65scription\x88\x01\x01\x12*\n\x0emark_connected\x18\x0c \x01(\x08H\x08R\rmarkConnected\x88\x01\x01\x12\x35\n\x04mode\x18\r \x01(\tB!\xfa\x42\x1er\x1cR\x06\x61\x63\x63\x65ssR\x06taggedR\ntagged-allR\x04mode\x12!\n\x04tags\x18\x0e \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x08\n\x06_labelB\n\n\x08_enabledB\x06\n\x04_mtuB\x0e\n\x0c_mac_addressB\x08\n\x06_speedB\x06\n\x04_wwnB\x0c\n\n_mgmt_onlyB\x0e\n\x0c_descriptionB\x11\n\x0f_mark_connected"\xe3\x02\n\x07\x43luster\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12)\n\x04type\x18\x02 \x01(\x0b\x32\x15.diode.v1.ClusterTypeR\x04type\x12,\n\x05group\x18\x03 \x01(\x0b\x32\x16.diode.v1.ClusterGroupR\x05group\x12"\n\x04site\x18\x04 \x01(\x0b\x32\x0e.diode.v1.SiteR\x04site\x12X\n\x06status\x18\x05 \x01(\tB@\xfa\x42=r;R\x07offlineR\x06\x61\x63tiveR\x07plannedR\x06stagedR\x06\x66\x61iledR\x0f\x64\x65\x63ommissioningR\x06status\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x07 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description"\xc1\x01\n\x0b\x43lusterType\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12/\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x04 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description"\xc2\x01\n\x0c\x43lusterGroup\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12/\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x04 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description"\xde\x05\n\x0eVirtualMachine\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x18@R\x04name\x12X\n\x06status\x18\x02 \x01(\tB@\xfa\x42=r;R\x07offlineR\x06\x61\x63tiveR\x07plannedR\x06stagedR\x06\x66\x61iledR\x0f\x64\x65\x63ommissioningR\x06status\x12"\n\x04site\x18\x03 \x01(\x0b\x32\x0e.diode.v1.SiteR\x04site\x12+\n\x07\x63luster\x18\x04 \x01(\x0b\x32\x11.diode.v1.ClusterR\x07\x63luster\x12"\n\x04role\x18\x05 \x01(\x0b\x32\x0e.diode.v1.RoleR\x04role\x12(\n\x06\x64\x65vice\x18\x06 \x01(\x0b\x32\x10.diode.v1.DeviceR\x06\x64\x65vice\x12.\n\x08platform\x18\x07 \x01(\x0b\x32\x12.diode.v1.PlatformR\x08platform\x12\x34\n\x0bprimary_ip4\x18\x08 \x01(\x0b\x32\x13.diode.v1.IPAddressR\nprimaryIp4\x12\x34\n\x0bprimary_ip6\x18\t \x01(\x0b\x32\x13.diode.v1.IPAddressR\nprimaryIp6\x12"\n\x05vcpus\x18\n \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00H\x00R\x05vcpus\x88\x01\x01\x12$\n\x06memory\x18\x0b \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00H\x01R\x06memory\x88\x01\x01\x12 \n\x04\x64isk\x18\x0c \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00H\x02R\x04\x64isk\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\r \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x03R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x0e \x01(\tH\x04R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x0f \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x08\n\x06_vcpusB\t\n\x07_memoryB\x07\n\x05_diskB\x0e\n\x0c_descriptionB\x0b\n\t_comments"\xea\x02\n\x0bVMInterface\x12K\n\x0fvirtual_machine\x18\x01 \x01(\x0b\x32\x18.diode.v1.VirtualMachineB\x08\xfa\x42\x05\xa2\x01\x02\x08\x01R\x0evirtualMachine\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18@R\x04name\x12\x1d\n\x07\x65nabled\x18\x03 \x01(\x08H\x00R\x07\x65nabled\x88\x01\x01\x12"\n\x03mtu\x18\x04 \x01(\x05\x42\x0b\xfa\x42\x08\x1a\x06\x18\x80\x80\x04(\x01H\x01R\x03mtu\x88\x01\x01\x12$\n\x0bmac_address\x18\x05 \x01(\tH\x02R\nmacAddress\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x03R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x07 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\n\n\x08_enabledB\x06\n\x04_mtuB\x0e\n\x0c_mac_addressB\x0e\n\x0c_description"\xfa\x01\n\x0bVirtualDisk\x12K\n\x0fvirtual_machine\x18\x01 \x01(\x0b\x32\x18.diode.v1.VirtualMachineB\x08\xfa\x42\x05\xa2\x01\x02\x08\x01R\x0evirtualMachine\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12\x1b\n\x04size\x18\x03 \x01(\x05\x42\x07\xfa\x42\x04\x1a\x02(\x00R\x04size\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x05 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description"\x8c\x04\n\tIPAddress\x12!\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02p\x01R\x07\x61\x64\x64ress\x12\x33\n\tinterface\x18\x02 \x01(\x0b\x32\x13.diode.v1.InterfaceH\x00R\tinterface\x12H\n\x06status\x18\x03 \x01(\tB0\xfa\x42-r+R\x06\x61\x63tiveR\x08reservedR\ndeprecatedR\x04\x64hcpR\x05slaacR\x06status\x12T\n\x04role\x18\x04 \x01(\tB@\xfa\x42=r;R\x08loopbackR\tsecondaryR\x07\x61nycastR\x03vipR\x04vrrpR\x04hsrpR\x04glbpR\x04\x63\x61rpR\x04role\x12U\n\x08\x64ns_name\x18\x05 \x01(\tB5\xfa\x42\x32r0\x18\xff\x01\x32+^([0-9A-Za-z_-]+|\\*)(\\.[0-9A-Za-z_-]+)*\\.?$H\x01R\x07\x64nsName\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x07 \x01(\tH\x03R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x08 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x11\n\x0f\x61ssigned_objectB\x0b\n\t_dns_nameB\x0e\n\x0c_descriptionB\x0b\n\t_comments"\xeb\x02\n\nDeviceType\x12\x1f\n\x05model\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x05model\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12:\n\x0cmanufacturer\x18\x03 \x01(\x0b\x32\x16.diode.v1.ManufacturerR\x0cmanufacturer\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x05 \x01(\tH\x01R\x08\x63omments\x88\x01\x01\x12-\n\x0bpart_number\x18\x06 \x01(\tB\x07\xfa\x42\x04r\x02\x18\x32H\x02R\npartNumber\x88\x01\x01\x12!\n\x04tags\x18\x07 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_descriptionB\x0b\n\t_commentsB\x0e\n\x0c_part_number"\xc2\x01\n\x0cManufacturer\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12/\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x04 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description"\xfa\x01\n\x08Platform\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12:\n\x0cmanufacturer\x18\x03 \x01(\x0b\x32\x16.diode.v1.ManufacturerR\x0cmanufacturer\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x05 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description"\x8d\x03\n\x06Prefix\x12\x1f\n\x06prefix\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02p\x01R\x06prefix\x12"\n\x04site\x18\x02 \x01(\x0b\x32\x0e.diode.v1.SiteR\x04site\x12\x46\n\x06status\x18\x03 \x01(\tB.\xfa\x42+r)R\x06\x61\x63tiveR\tcontainerR\x08reservedR\ndeprecatedR\x06status\x12\x1c\n\x07is_pool\x18\x04 \x01(\x08H\x00R\x06isPool\x88\x01\x01\x12(\n\rmark_utilized\x18\x05 \x01(\x08H\x01R\x0cmarkUtilized\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x07 \x01(\tH\x03R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x08 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\n\n\x08_is_poolB\x10\n\x0e_mark_utilizedB\x0e\n\x0c_descriptionB\x0b\n\t_comments"\xea\x01\n\x04Role\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12.\n\x05\x63olor\x18\x03 \x01(\tB\x18\xfa\x42\x15r\x13\x10\x06\x18\x06\x32\r^[0-9a-f]{6}$R\x05\x63olor\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12!\n\x04tags\x18\x05 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0e\n\x0c_description"\xa2\x03\n\x04Site\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12Q\n\x06status\x18\x03 \x01(\tB9\xfa\x42\x36r4R\x07plannedR\x07stagingR\x06\x61\x63tiveR\x0f\x64\x65\x63ommissioningR\x07retiredR\x06status\x12(\n\x08\x66\x61\x63ility\x18\x04 \x01(\tB\x07\xfa\x42\x04r\x02\x18\x32H\x00R\x08\x66\x61\x63ility\x88\x01\x01\x12 \n\ttime_zone\x18\x05 \x01(\tH\x01R\x08timeZone\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xfa\x42\x05r\x03\x18\xc8\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x1f\n\x08\x63omments\x18\x07 \x01(\tH\x03R\x08\x63omments\x88\x01\x01\x12!\n\x04tags\x18\x08 \x03(\x0b\x32\r.diode.v1.TagR\x04tagsB\x0b\n\t_facilityB\x0c\n\n_time_zoneB\x0e\n\x0c_descriptionB\x0b\n\t_comments"\x85\x01\n\x03Tag\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x64R\x04name\x12/\n\x04slug\x18\x02 \x01(\tB\x1b\xfa\x42\x18r\x16\x10\x01\x18\x64\x32\x10^[-a-zA-Z0-9_]+$R\x04slug\x12.\n\x05\x63olor\x18\x03 \x01(\tB\x18\xfa\x42\x15r\x13\x10\x06\x18\x06\x32\r^[0-9a-f]{6}$R\x05\x63olor"\x83\x07\n\x06\x45ntity\x12$\n\x04site\x18\x01 \x01(\x0b\x32\x0e.diode.v1.SiteH\x00R\x04site\x12\x30\n\x08platform\x18\x02 \x01(\x0b\x32\x12.diode.v1.PlatformH\x00R\x08platform\x12<\n\x0cmanufacturer\x18\x03 \x01(\x0b\x32\x16.diode.v1.ManufacturerH\x00R\x0cmanufacturer\x12*\n\x06\x64\x65vice\x18\x04 \x01(\x0b\x32\x10.diode.v1.DeviceH\x00R\x06\x64\x65vice\x12\x31\n\x0b\x64\x65vice_role\x18\x05 \x01(\x0b\x32\x0e.diode.v1.RoleH\x00R\ndeviceRole\x12\x37\n\x0b\x64\x65vice_type\x18\x06 \x01(\x0b\x32\x14.diode.v1.DeviceTypeH\x00R\ndeviceType\x12\x33\n\tinterface\x18\x07 \x01(\x0b\x32\x13.diode.v1.InterfaceH\x00R\tinterface\x12\x34\n\nip_address\x18\t \x01(\x0b\x32\x13.diode.v1.IPAddressH\x00R\tipAddress\x12*\n\x06prefix\x18\n \x01(\x0b\x32\x10.diode.v1.PrefixH\x00R\x06prefix\x12=\n\rcluster_group\x18\x0b \x01(\x0b\x32\x16.diode.v1.ClusterGroupH\x00R\x0c\x63lusterGroup\x12:\n\x0c\x63luster_type\x18\x0c \x01(\x0b\x32\x15.diode.v1.ClusterTypeH\x00R\x0b\x63lusterType\x12-\n\x07\x63luster\x18\r \x01(\x0b\x32\x11.diode.v1.ClusterH\x00R\x07\x63luster\x12\x43\n\x0fvirtual_machine\x18\x0e \x01(\x0b\x32\x18.diode.v1.VirtualMachineH\x00R\x0evirtualMachine\x12\x39\n\x0bvminterface\x18\x0f \x01(\x0b\x32\x15.diode.v1.VMInterfaceH\x00R\x0bvminterface\x12:\n\x0cvirtual_disk\x18\x10 \x01(\x0b\x32\x15.diode.v1.VirtualDiskH\x00R\x0bvirtualDisk\x12\x44\n\ttimestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xfa\x42\x07\xb2\x01\x04\x08\x01\x38\x01R\ttimestampB\x08\n\x06\x65ntity"\xe4\x02\n\rIngestRequest\x12"\n\x06stream\x18\x01 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x06stream\x12\x39\n\x08\x65ntities\x18\x02 \x03(\x0b\x32\x10.diode.v1.EntityB\x0b\xfa\x42\x08\x92\x01\x05\x08\x01\x10\xe8\x07R\x08\x65ntities\x12\x18\n\x02id\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01R\x02id\x12\x36\n\x11producer_app_name\x18\x04 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x0fproducerAppName\x12<\n\x14producer_app_version\x18\x05 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x12producerAppVersion\x12%\n\x08sdk_name\x18\x06 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x07sdkName\x12=\n\x0bsdk_version\x18\x07 \x01(\tB\x1c\xfa\x42\x19r\x17\x32\x15^(\\d)+\\.(\\d)+\\.(\\d)+$R\nsdkVersion"(\n\x0eIngestResponse\x12\x16\n\x06\x65rrors\x18\x01 \x03(\tR\x06\x65rrors2P\n\x0fIngesterService\x12=\n\x06Ingest\x12\x17.diode.v1.IngestRequest\x1a\x18.diode.v1.IngestResponse"\x00\x42\x35Z3github.com/netboxlabs/diode-sdk-go/diode/v1/diodepbb\x06proto3' +) _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'diode.v1.ingester_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "diode.v1.ingester_pb2", _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'Z3github.com/netboxlabs/diode-sdk-go/diode/v1/diodepb' - _globals['_DEVICE'].fields_by_name['name']._loaded_options = None - _globals['_DEVICE'].fields_by_name['name']._serialized_options = b'\372B\004r\002\030@' - _globals['_DEVICE'].fields_by_name['device_fqdn']._loaded_options = None - _globals['_DEVICE'].fields_by_name['device_fqdn']._serialized_options = b'\372B\007r\005\020\001\030\377\001' - _globals['_DEVICE'].fields_by_name['serial']._loaded_options = None - _globals['_DEVICE'].fields_by_name['serial']._serialized_options = b'\372B\004r\002\0302' - _globals['_DEVICE'].fields_by_name['asset_tag']._loaded_options = None - _globals['_DEVICE'].fields_by_name['asset_tag']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_DEVICE'].fields_by_name['status']._loaded_options = None - _globals['_DEVICE'].fields_by_name['status']._serialized_options = b'\372BHrFR\007offlineR\006activeR\007plannedR\006stagedR\006failedR\tinventoryR\017decommissioning' - _globals['_DEVICE'].fields_by_name['description']._loaded_options = None - _globals['_DEVICE'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_INTERFACE'].fields_by_name['device']._loaded_options = None - _globals['_INTERFACE'].fields_by_name['device']._serialized_options = b'\372B\005\242\001\002\010\001' - _globals['_INTERFACE'].fields_by_name['name']._loaded_options = None - _globals['_INTERFACE'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030@' - _globals['_INTERFACE'].fields_by_name['label']._loaded_options = None - _globals['_INTERFACE'].fields_by_name['label']._serialized_options = b'\372B\006r\004\020\001\030@' - _globals['_INTERFACE'].fields_by_name['type']._loaded_options = None - _globals['_INTERFACE'].fields_by_name['type']._serialized_options = b'\372B\341\014r\336\014R\007virtualR\006bridgeR\003lagR\n100base-fxR\013100base-lfxR\n100base-txR\n100base-t1R\n1000base-tR\0171000base-x-gbicR\0161000base-x-sfpR\n2.5gbase-tR\0105gbase-tR\t10gbase-tR\01310gbase-cx4R\01610gbase-x-sfppR\r10gbase-x-xfpR\02010gbase-x-xenpakR\01410gbase-x-x2R\01725gbase-x-sfp28R\01750gbase-x-sfp56R\01740gbase-x-qsfppR\01750gbase-x-sfp28R\016100gbase-x-cfpR\017100gbase-x-cfp2R\017100gbase-x-cfp4R\016100gbase-x-cxpR\017100gbase-x-cpakR\017100gbase-x-dsfpR\020100gbase-x-sfpddR\021100gbase-x-qsfp28R\021100gbase-x-qsfpddR\017200gbase-x-cfp2R\021200gbase-x-qsfp56R\021200gbase-x-qsfpddR\017400gbase-x-cfp2R\022400gbase-x-qsfp112R\021400gbase-x-qsfpddR\017400gbase-x-osfpR\023400gbase-x-osfp-rhsR\017400gbase-x-cdfpR\017400gbase-x-cfp8R\021800gbase-x-qsfpddR\017800gbase-x-osfpR\0131000base-kxR\n10gbase-krR\01310gbase-kx4R\n25gbase-krR\01340gbase-kr4R\n50gbase-krR\014100gbase-kp4R\014100gbase-kr2R\014100gbase-kr4R\013ieee802.11aR\013ieee802.11gR\013ieee802.11nR\014ieee802.11acR\014ieee802.11adR\014ieee802.11axR\014ieee802.11ayR\014ieee802.15.1R\016other-wirelessR\003gsmR\004cdmaR\003lteR\tsonet-oc3R\nsonet-oc12R\nsonet-oc48R\013sonet-oc192R\013sonet-oc768R\014sonet-oc1920R\014sonet-oc3840R\0101gfc-sfpR\0102gfc-sfpR\0104gfc-sfpR\t8gfc-sfppR\n16gfc-sfppR\01332gfc-sfp28R\01364gfc-qsfppR\r128gfc-qsfp28R\016infiniband-sdrR\016infiniband-ddrR\016infiniband-qdrR\020infiniband-fdr10R\016infiniband-fdrR\016infiniband-edrR\016infiniband-hdrR\016infiniband-ndrR\016infiniband-xdrR\002t1R\002e1R\002t3R\002e3R\004xdslR\006docsisR\004gponR\006xg-ponR\007xgs-ponR\007ng-pon2R\004eponR\01010g-eponR\017cisco-stackwiseR\024cisco-stackwise-plusR\017cisco-flexstackR\024cisco-flexstack-plusR\022cisco-stackwise-80R\023cisco-stackwise-160R\023cisco-stackwise-320R\023cisco-stackwise-480R\022cisco-stackwise-1tR\013juniper-vcpR\023extreme-summitstackR\027extreme-summitstack-128R\027extreme-summitstack-256R\027extreme-summitstack-512R\005other' - _globals['_INTERFACE'].fields_by_name['mtu']._loaded_options = None - _globals['_INTERFACE'].fields_by_name['mtu']._serialized_options = b'\372B\010\032\006\030\200\200\004(\001' - _globals['_INTERFACE'].fields_by_name['speed']._loaded_options = None - _globals['_INTERFACE'].fields_by_name['speed']._serialized_options = b'\372B\004\032\002(\000' - _globals['_INTERFACE'].fields_by_name['description']._loaded_options = None - _globals['_INTERFACE'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_INTERFACE'].fields_by_name['mode']._loaded_options = None - _globals['_INTERFACE'].fields_by_name['mode']._serialized_options = b'\372B\036r\034R\006accessR\006taggedR\ntagged-all' - _globals['_CLUSTER'].fields_by_name['name']._loaded_options = None - _globals['_CLUSTER'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_CLUSTER'].fields_by_name['status']._loaded_options = None - _globals['_CLUSTER'].fields_by_name['status']._serialized_options = b'\372B=r;R\007offlineR\006activeR\007plannedR\006stagedR\006failedR\017decommissioning' - _globals['_CLUSTER'].fields_by_name['description']._loaded_options = None - _globals['_CLUSTER'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_CLUSTERTYPE'].fields_by_name['name']._loaded_options = None - _globals['_CLUSTERTYPE'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_CLUSTERTYPE'].fields_by_name['slug']._loaded_options = None - _globals['_CLUSTERTYPE'].fields_by_name['slug']._serialized_options = b'\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$' - _globals['_CLUSTERTYPE'].fields_by_name['description']._loaded_options = None - _globals['_CLUSTERTYPE'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_CLUSTERGROUP'].fields_by_name['name']._loaded_options = None - _globals['_CLUSTERGROUP'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_CLUSTERGROUP'].fields_by_name['slug']._loaded_options = None - _globals['_CLUSTERGROUP'].fields_by_name['slug']._serialized_options = b'\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$' - _globals['_CLUSTERGROUP'].fields_by_name['description']._loaded_options = None - _globals['_CLUSTERGROUP'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_VIRTUALMACHINE'].fields_by_name['name']._loaded_options = None - _globals['_VIRTUALMACHINE'].fields_by_name['name']._serialized_options = b'\372B\004r\002\030@' - _globals['_VIRTUALMACHINE'].fields_by_name['status']._loaded_options = None - _globals['_VIRTUALMACHINE'].fields_by_name['status']._serialized_options = b'\372B=r;R\007offlineR\006activeR\007plannedR\006stagedR\006failedR\017decommissioning' - _globals['_VIRTUALMACHINE'].fields_by_name['vcpus']._loaded_options = None - _globals['_VIRTUALMACHINE'].fields_by_name['vcpus']._serialized_options = b'\372B\004\032\002(\000' - _globals['_VIRTUALMACHINE'].fields_by_name['memory']._loaded_options = None - _globals['_VIRTUALMACHINE'].fields_by_name['memory']._serialized_options = b'\372B\004\032\002(\000' - _globals['_VIRTUALMACHINE'].fields_by_name['disk']._loaded_options = None - _globals['_VIRTUALMACHINE'].fields_by_name['disk']._serialized_options = b'\372B\004\032\002(\000' - _globals['_VIRTUALMACHINE'].fields_by_name['description']._loaded_options = None - _globals['_VIRTUALMACHINE'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_VMINTERFACE'].fields_by_name['virtual_machine']._loaded_options = None - _globals['_VMINTERFACE'].fields_by_name['virtual_machine']._serialized_options = b'\372B\005\242\001\002\010\001' - _globals['_VMINTERFACE'].fields_by_name['name']._loaded_options = None - _globals['_VMINTERFACE'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030@' - _globals['_VMINTERFACE'].fields_by_name['mtu']._loaded_options = None - _globals['_VMINTERFACE'].fields_by_name['mtu']._serialized_options = b'\372B\010\032\006\030\200\200\004(\001' - _globals['_VMINTERFACE'].fields_by_name['description']._loaded_options = None - _globals['_VMINTERFACE'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_VIRTUALDISK'].fields_by_name['virtual_machine']._loaded_options = None - _globals['_VIRTUALDISK'].fields_by_name['virtual_machine']._serialized_options = b'\372B\005\242\001\002\010\001' - _globals['_VIRTUALDISK'].fields_by_name['name']._loaded_options = None - _globals['_VIRTUALDISK'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_VIRTUALDISK'].fields_by_name['size']._loaded_options = None - _globals['_VIRTUALDISK'].fields_by_name['size']._serialized_options = b'\372B\004\032\002(\000' - _globals['_VIRTUALDISK'].fields_by_name['description']._loaded_options = None - _globals['_VIRTUALDISK'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_IPADDRESS'].fields_by_name['address']._loaded_options = None - _globals['_IPADDRESS'].fields_by_name['address']._serialized_options = b'\372B\004r\002p\001' - _globals['_IPADDRESS'].fields_by_name['status']._loaded_options = None - _globals['_IPADDRESS'].fields_by_name['status']._serialized_options = b'\372B-r+R\006activeR\010reservedR\ndeprecatedR\004dhcpR\005slaac' - _globals['_IPADDRESS'].fields_by_name['role']._loaded_options = None - _globals['_IPADDRESS'].fields_by_name['role']._serialized_options = b'\372B=r;R\010loopbackR\tsecondaryR\007anycastR\003vipR\004vrrpR\004hsrpR\004glbpR\004carp' - _globals['_IPADDRESS'].fields_by_name['dns_name']._loaded_options = None - _globals['_IPADDRESS'].fields_by_name['dns_name']._serialized_options = b'\372B2r0\030\377\0012+^([0-9A-Za-z_-]+|\\*)(\\.[0-9A-Za-z_-]+)*\\.?$' - _globals['_IPADDRESS'].fields_by_name['description']._loaded_options = None - _globals['_IPADDRESS'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_DEVICETYPE'].fields_by_name['model']._loaded_options = None - _globals['_DEVICETYPE'].fields_by_name['model']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_DEVICETYPE'].fields_by_name['slug']._loaded_options = None - _globals['_DEVICETYPE'].fields_by_name['slug']._serialized_options = b'\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$' - _globals['_DEVICETYPE'].fields_by_name['description']._loaded_options = None - _globals['_DEVICETYPE'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_DEVICETYPE'].fields_by_name['part_number']._loaded_options = None - _globals['_DEVICETYPE'].fields_by_name['part_number']._serialized_options = b'\372B\004r\002\0302' - _globals['_MANUFACTURER'].fields_by_name['name']._loaded_options = None - _globals['_MANUFACTURER'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_MANUFACTURER'].fields_by_name['slug']._loaded_options = None - _globals['_MANUFACTURER'].fields_by_name['slug']._serialized_options = b'\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$' - _globals['_MANUFACTURER'].fields_by_name['description']._loaded_options = None - _globals['_MANUFACTURER'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_PLATFORM'].fields_by_name['name']._loaded_options = None - _globals['_PLATFORM'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_PLATFORM'].fields_by_name['slug']._loaded_options = None - _globals['_PLATFORM'].fields_by_name['slug']._serialized_options = b'\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$' - _globals['_PLATFORM'].fields_by_name['description']._loaded_options = None - _globals['_PLATFORM'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_PREFIX'].fields_by_name['prefix']._loaded_options = None - _globals['_PREFIX'].fields_by_name['prefix']._serialized_options = b'\372B\004r\002p\001' - _globals['_PREFIX'].fields_by_name['status']._loaded_options = None - _globals['_PREFIX'].fields_by_name['status']._serialized_options = b'\372B+r)R\006activeR\tcontainerR\010reservedR\ndeprecated' - _globals['_PREFIX'].fields_by_name['description']._loaded_options = None - _globals['_PREFIX'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_ROLE'].fields_by_name['name']._loaded_options = None - _globals['_ROLE'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_ROLE'].fields_by_name['slug']._loaded_options = None - _globals['_ROLE'].fields_by_name['slug']._serialized_options = b'\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$' - _globals['_ROLE'].fields_by_name['color']._loaded_options = None - _globals['_ROLE'].fields_by_name['color']._serialized_options = b'\372B\025r\023\020\006\030\0062\r^[0-9a-f]{6}$' - _globals['_ROLE'].fields_by_name['description']._loaded_options = None - _globals['_ROLE'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_SITE'].fields_by_name['name']._loaded_options = None - _globals['_SITE'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_SITE'].fields_by_name['slug']._loaded_options = None - _globals['_SITE'].fields_by_name['slug']._serialized_options = b'\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$' - _globals['_SITE'].fields_by_name['status']._loaded_options = None - _globals['_SITE'].fields_by_name['status']._serialized_options = b'\372B6r4R\007plannedR\007stagingR\006activeR\017decommissioningR\007retired' - _globals['_SITE'].fields_by_name['facility']._loaded_options = None - _globals['_SITE'].fields_by_name['facility']._serialized_options = b'\372B\004r\002\0302' - _globals['_SITE'].fields_by_name['description']._loaded_options = None - _globals['_SITE'].fields_by_name['description']._serialized_options = b'\372B\005r\003\030\310\001' - _globals['_TAG'].fields_by_name['name']._loaded_options = None - _globals['_TAG'].fields_by_name['name']._serialized_options = b'\372B\006r\004\020\001\030d' - _globals['_TAG'].fields_by_name['slug']._loaded_options = None - _globals['_TAG'].fields_by_name['slug']._serialized_options = b'\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$' - _globals['_TAG'].fields_by_name['color']._loaded_options = None - _globals['_TAG'].fields_by_name['color']._serialized_options = b'\372B\025r\023\020\006\030\0062\r^[0-9a-f]{6}$' - _globals['_ENTITY'].fields_by_name['timestamp']._loaded_options = None - _globals['_ENTITY'].fields_by_name['timestamp']._serialized_options = b'\372B\007\262\001\004\010\0018\001' - _globals['_INGESTREQUEST'].fields_by_name['stream']._loaded_options = None - _globals['_INGESTREQUEST'].fields_by_name['stream']._serialized_options = b'\372B\007r\005\020\001\030\377\001' - _globals['_INGESTREQUEST'].fields_by_name['entities']._loaded_options = None - _globals['_INGESTREQUEST'].fields_by_name['entities']._serialized_options = b'\372B\010\222\001\005\010\001\020\350\007' - _globals['_INGESTREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_INGESTREQUEST'].fields_by_name['id']._serialized_options = b'\372B\005r\003\260\001\001' - _globals['_INGESTREQUEST'].fields_by_name['producer_app_name']._loaded_options = None - _globals['_INGESTREQUEST'].fields_by_name['producer_app_name']._serialized_options = b'\372B\007r\005\020\001\030\377\001' - _globals['_INGESTREQUEST'].fields_by_name['producer_app_version']._loaded_options = None - _globals['_INGESTREQUEST'].fields_by_name['producer_app_version']._serialized_options = b'\372B\007r\005\020\001\030\377\001' - _globals['_INGESTREQUEST'].fields_by_name['sdk_name']._loaded_options = None - _globals['_INGESTREQUEST'].fields_by_name['sdk_name']._serialized_options = b'\372B\007r\005\020\001\030\377\001' - _globals['_INGESTREQUEST'].fields_by_name['sdk_version']._loaded_options = None - _globals['_INGESTREQUEST'].fields_by_name['sdk_version']._serialized_options = b'\372B\031r\0272\025^(\\d)+\\.(\\d)+\\.(\\d)+$' - _globals['_DEVICE']._serialized_start=96 - _globals['_DEVICE']._serialized_end=836 - _globals['_INTERFACE']._serialized_start=839 - _globals['_INTERFACE']._serialized_end=3126 - _globals['_CLUSTER']._serialized_start=3129 - _globals['_CLUSTER']._serialized_end=3484 - _globals['_CLUSTERTYPE']._serialized_start=3487 - _globals['_CLUSTERTYPE']._serialized_end=3680 - _globals['_CLUSTERGROUP']._serialized_start=3683 - _globals['_CLUSTERGROUP']._serialized_end=3877 - _globals['_VIRTUALMACHINE']._serialized_start=3880 - _globals['_VIRTUALMACHINE']._serialized_end=4614 - _globals['_VMINTERFACE']._serialized_start=4617 - _globals['_VMINTERFACE']._serialized_end=4979 - _globals['_VIRTUALDISK']._serialized_start=4982 - _globals['_VIRTUALDISK']._serialized_end=5232 - _globals['_IPADDRESS']._serialized_start=5235 - _globals['_IPADDRESS']._serialized_end=5759 - _globals['_DEVICETYPE']._serialized_start=5762 - _globals['_DEVICETYPE']._serialized_end=6125 - _globals['_MANUFACTURER']._serialized_start=6128 - _globals['_MANUFACTURER']._serialized_end=6322 - _globals['_PLATFORM']._serialized_start=6325 - _globals['_PLATFORM']._serialized_end=6575 - _globals['_PREFIX']._serialized_start=6578 - _globals['_PREFIX']._serialized_end=6975 - _globals['_ROLE']._serialized_start=6978 - _globals['_ROLE']._serialized_end=7212 - _globals['_SITE']._serialized_start=7215 - _globals['_SITE']._serialized_end=7633 - _globals['_TAG']._serialized_start=7636 - _globals['_TAG']._serialized_end=7769 - _globals['_ENTITY']._serialized_start=7772 - _globals['_ENTITY']._serialized_end=8671 - _globals['_INGESTREQUEST']._serialized_start=8674 - _globals['_INGESTREQUEST']._serialized_end=9030 - _globals['_INGESTRESPONSE']._serialized_start=9032 - _globals['_INGESTRESPONSE']._serialized_end=9072 - _globals['_INGESTERSERVICE']._serialized_start=9074 - _globals['_INGESTERSERVICE']._serialized_end=9154 + _globals["DESCRIPTOR"]._loaded_options = None + _globals["DESCRIPTOR"]._serialized_options = ( + b"Z3github.com/netboxlabs/diode-sdk-go/diode/v1/diodepb" + ) + _globals["_DEVICE"].fields_by_name["name"]._loaded_options = None + _globals["_DEVICE"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\004r\002\030@" + _globals["_DEVICE"].fields_by_name["device_fqdn"]._loaded_options = None + _globals["_DEVICE"].fields_by_name[ + "device_fqdn" + ]._serialized_options = b"\372B\007r\005\020\001\030\377\001" + _globals["_DEVICE"].fields_by_name["serial"]._loaded_options = None + _globals["_DEVICE"].fields_by_name[ + "serial" + ]._serialized_options = b"\372B\004r\002\0302" + _globals["_DEVICE"].fields_by_name["asset_tag"]._loaded_options = None + _globals["_DEVICE"].fields_by_name[ + "asset_tag" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_DEVICE"].fields_by_name["status"]._loaded_options = None + _globals["_DEVICE"].fields_by_name[ + "status" + ]._serialized_options = b"\372BHrFR\007offlineR\006activeR\007plannedR\006stagedR\006failedR\tinventoryR\017decommissioning" + _globals["_DEVICE"].fields_by_name["description"]._loaded_options = None + _globals["_DEVICE"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_INTERFACE"].fields_by_name["device"]._loaded_options = None + _globals["_INTERFACE"].fields_by_name[ + "device" + ]._serialized_options = b"\372B\005\242\001\002\010\001" + _globals["_INTERFACE"].fields_by_name["name"]._loaded_options = None + _globals["_INTERFACE"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030@" + _globals["_INTERFACE"].fields_by_name["label"]._loaded_options = None + _globals["_INTERFACE"].fields_by_name[ + "label" + ]._serialized_options = b"\372B\006r\004\020\001\030@" + _globals["_INTERFACE"].fields_by_name["type"]._loaded_options = None + _globals["_INTERFACE"].fields_by_name[ + "type" + ]._serialized_options = b"\372B\341\014r\336\014R\007virtualR\006bridgeR\003lagR\n100base-fxR\013100base-lfxR\n100base-txR\n100base-t1R\n1000base-tR\0171000base-x-gbicR\0161000base-x-sfpR\n2.5gbase-tR\0105gbase-tR\t10gbase-tR\01310gbase-cx4R\01610gbase-x-sfppR\r10gbase-x-xfpR\02010gbase-x-xenpakR\01410gbase-x-x2R\01725gbase-x-sfp28R\01750gbase-x-sfp56R\01740gbase-x-qsfppR\01750gbase-x-sfp28R\016100gbase-x-cfpR\017100gbase-x-cfp2R\017100gbase-x-cfp4R\016100gbase-x-cxpR\017100gbase-x-cpakR\017100gbase-x-dsfpR\020100gbase-x-sfpddR\021100gbase-x-qsfp28R\021100gbase-x-qsfpddR\017200gbase-x-cfp2R\021200gbase-x-qsfp56R\021200gbase-x-qsfpddR\017400gbase-x-cfp2R\022400gbase-x-qsfp112R\021400gbase-x-qsfpddR\017400gbase-x-osfpR\023400gbase-x-osfp-rhsR\017400gbase-x-cdfpR\017400gbase-x-cfp8R\021800gbase-x-qsfpddR\017800gbase-x-osfpR\0131000base-kxR\n10gbase-krR\01310gbase-kx4R\n25gbase-krR\01340gbase-kr4R\n50gbase-krR\014100gbase-kp4R\014100gbase-kr2R\014100gbase-kr4R\013ieee802.11aR\013ieee802.11gR\013ieee802.11nR\014ieee802.11acR\014ieee802.11adR\014ieee802.11axR\014ieee802.11ayR\014ieee802.15.1R\016other-wirelessR\003gsmR\004cdmaR\003lteR\tsonet-oc3R\nsonet-oc12R\nsonet-oc48R\013sonet-oc192R\013sonet-oc768R\014sonet-oc1920R\014sonet-oc3840R\0101gfc-sfpR\0102gfc-sfpR\0104gfc-sfpR\t8gfc-sfppR\n16gfc-sfppR\01332gfc-sfp28R\01364gfc-qsfppR\r128gfc-qsfp28R\016infiniband-sdrR\016infiniband-ddrR\016infiniband-qdrR\020infiniband-fdr10R\016infiniband-fdrR\016infiniband-edrR\016infiniband-hdrR\016infiniband-ndrR\016infiniband-xdrR\002t1R\002e1R\002t3R\002e3R\004xdslR\006docsisR\004gponR\006xg-ponR\007xgs-ponR\007ng-pon2R\004eponR\01010g-eponR\017cisco-stackwiseR\024cisco-stackwise-plusR\017cisco-flexstackR\024cisco-flexstack-plusR\022cisco-stackwise-80R\023cisco-stackwise-160R\023cisco-stackwise-320R\023cisco-stackwise-480R\022cisco-stackwise-1tR\013juniper-vcpR\023extreme-summitstackR\027extreme-summitstack-128R\027extreme-summitstack-256R\027extreme-summitstack-512R\005other" + _globals["_INTERFACE"].fields_by_name["mtu"]._loaded_options = None + _globals["_INTERFACE"].fields_by_name[ + "mtu" + ]._serialized_options = b"\372B\010\032\006\030\200\200\004(\001" + _globals["_INTERFACE"].fields_by_name["speed"]._loaded_options = None + _globals["_INTERFACE"].fields_by_name[ + "speed" + ]._serialized_options = b"\372B\004\032\002(\000" + _globals["_INTERFACE"].fields_by_name["description"]._loaded_options = None + _globals["_INTERFACE"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_INTERFACE"].fields_by_name["mode"]._loaded_options = None + _globals["_INTERFACE"].fields_by_name[ + "mode" + ]._serialized_options = b"\372B\036r\034R\006accessR\006taggedR\ntagged-all" + _globals["_CLUSTER"].fields_by_name["name"]._loaded_options = None + _globals["_CLUSTER"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_CLUSTER"].fields_by_name["status"]._loaded_options = None + _globals["_CLUSTER"].fields_by_name[ + "status" + ]._serialized_options = b"\372B=r;R\007offlineR\006activeR\007plannedR\006stagedR\006failedR\017decommissioning" + _globals["_CLUSTER"].fields_by_name["description"]._loaded_options = None + _globals["_CLUSTER"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_CLUSTERTYPE"].fields_by_name["name"]._loaded_options = None + _globals["_CLUSTERTYPE"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_CLUSTERTYPE"].fields_by_name["slug"]._loaded_options = None + _globals["_CLUSTERTYPE"].fields_by_name[ + "slug" + ]._serialized_options = b"\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$" + _globals["_CLUSTERTYPE"].fields_by_name["description"]._loaded_options = None + _globals["_CLUSTERTYPE"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_CLUSTERGROUP"].fields_by_name["name"]._loaded_options = None + _globals["_CLUSTERGROUP"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_CLUSTERGROUP"].fields_by_name["slug"]._loaded_options = None + _globals["_CLUSTERGROUP"].fields_by_name[ + "slug" + ]._serialized_options = b"\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$" + _globals["_CLUSTERGROUP"].fields_by_name["description"]._loaded_options = None + _globals["_CLUSTERGROUP"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_VIRTUALMACHINE"].fields_by_name["name"]._loaded_options = None + _globals["_VIRTUALMACHINE"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\004r\002\030@" + _globals["_VIRTUALMACHINE"].fields_by_name["status"]._loaded_options = None + _globals["_VIRTUALMACHINE"].fields_by_name[ + "status" + ]._serialized_options = b"\372B=r;R\007offlineR\006activeR\007plannedR\006stagedR\006failedR\017decommissioning" + _globals["_VIRTUALMACHINE"].fields_by_name["vcpus"]._loaded_options = None + _globals["_VIRTUALMACHINE"].fields_by_name[ + "vcpus" + ]._serialized_options = b"\372B\004\032\002(\000" + _globals["_VIRTUALMACHINE"].fields_by_name["memory"]._loaded_options = None + _globals["_VIRTUALMACHINE"].fields_by_name[ + "memory" + ]._serialized_options = b"\372B\004\032\002(\000" + _globals["_VIRTUALMACHINE"].fields_by_name["disk"]._loaded_options = None + _globals["_VIRTUALMACHINE"].fields_by_name[ + "disk" + ]._serialized_options = b"\372B\004\032\002(\000" + _globals["_VIRTUALMACHINE"].fields_by_name["description"]._loaded_options = None + _globals["_VIRTUALMACHINE"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_VMINTERFACE"].fields_by_name["virtual_machine"]._loaded_options = None + _globals["_VMINTERFACE"].fields_by_name[ + "virtual_machine" + ]._serialized_options = b"\372B\005\242\001\002\010\001" + _globals["_VMINTERFACE"].fields_by_name["name"]._loaded_options = None + _globals["_VMINTERFACE"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030@" + _globals["_VMINTERFACE"].fields_by_name["mtu"]._loaded_options = None + _globals["_VMINTERFACE"].fields_by_name[ + "mtu" + ]._serialized_options = b"\372B\010\032\006\030\200\200\004(\001" + _globals["_VMINTERFACE"].fields_by_name["description"]._loaded_options = None + _globals["_VMINTERFACE"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_VIRTUALDISK"].fields_by_name["virtual_machine"]._loaded_options = None + _globals["_VIRTUALDISK"].fields_by_name[ + "virtual_machine" + ]._serialized_options = b"\372B\005\242\001\002\010\001" + _globals["_VIRTUALDISK"].fields_by_name["name"]._loaded_options = None + _globals["_VIRTUALDISK"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_VIRTUALDISK"].fields_by_name["size"]._loaded_options = None + _globals["_VIRTUALDISK"].fields_by_name[ + "size" + ]._serialized_options = b"\372B\004\032\002(\000" + _globals["_VIRTUALDISK"].fields_by_name["description"]._loaded_options = None + _globals["_VIRTUALDISK"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_IPADDRESS"].fields_by_name["address"]._loaded_options = None + _globals["_IPADDRESS"].fields_by_name[ + "address" + ]._serialized_options = b"\372B\004r\002p\001" + _globals["_IPADDRESS"].fields_by_name["status"]._loaded_options = None + _globals["_IPADDRESS"].fields_by_name[ + "status" + ]._serialized_options = ( + b"\372B-r+R\006activeR\010reservedR\ndeprecatedR\004dhcpR\005slaac" + ) + _globals["_IPADDRESS"].fields_by_name["role"]._loaded_options = None + _globals["_IPADDRESS"].fields_by_name[ + "role" + ]._serialized_options = b"\372B=r;R\010loopbackR\tsecondaryR\007anycastR\003vipR\004vrrpR\004hsrpR\004glbpR\004carp" + _globals["_IPADDRESS"].fields_by_name["dns_name"]._loaded_options = None + _globals["_IPADDRESS"].fields_by_name[ + "dns_name" + ]._serialized_options = ( + b"\372B2r0\030\377\0012+^([0-9A-Za-z_-]+|\\*)(\\.[0-9A-Za-z_-]+)*\\.?$" + ) + _globals["_IPADDRESS"].fields_by_name["description"]._loaded_options = None + _globals["_IPADDRESS"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_DEVICETYPE"].fields_by_name["model"]._loaded_options = None + _globals["_DEVICETYPE"].fields_by_name[ + "model" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_DEVICETYPE"].fields_by_name["slug"]._loaded_options = None + _globals["_DEVICETYPE"].fields_by_name[ + "slug" + ]._serialized_options = b"\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$" + _globals["_DEVICETYPE"].fields_by_name["description"]._loaded_options = None + _globals["_DEVICETYPE"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_DEVICETYPE"].fields_by_name["part_number"]._loaded_options = None + _globals["_DEVICETYPE"].fields_by_name[ + "part_number" + ]._serialized_options = b"\372B\004r\002\0302" + _globals["_MANUFACTURER"].fields_by_name["name"]._loaded_options = None + _globals["_MANUFACTURER"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_MANUFACTURER"].fields_by_name["slug"]._loaded_options = None + _globals["_MANUFACTURER"].fields_by_name[ + "slug" + ]._serialized_options = b"\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$" + _globals["_MANUFACTURER"].fields_by_name["description"]._loaded_options = None + _globals["_MANUFACTURER"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_PLATFORM"].fields_by_name["name"]._loaded_options = None + _globals["_PLATFORM"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_PLATFORM"].fields_by_name["slug"]._loaded_options = None + _globals["_PLATFORM"].fields_by_name[ + "slug" + ]._serialized_options = b"\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$" + _globals["_PLATFORM"].fields_by_name["description"]._loaded_options = None + _globals["_PLATFORM"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_PREFIX"].fields_by_name["prefix"]._loaded_options = None + _globals["_PREFIX"].fields_by_name[ + "prefix" + ]._serialized_options = b"\372B\004r\002p\001" + _globals["_PREFIX"].fields_by_name["status"]._loaded_options = None + _globals["_PREFIX"].fields_by_name[ + "status" + ]._serialized_options = b"\372B+r)R\006activeR\tcontainerR\010reservedR\ndeprecated" + _globals["_PREFIX"].fields_by_name["description"]._loaded_options = None + _globals["_PREFIX"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_ROLE"].fields_by_name["name"]._loaded_options = None + _globals["_ROLE"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_ROLE"].fields_by_name["slug"]._loaded_options = None + _globals["_ROLE"].fields_by_name[ + "slug" + ]._serialized_options = b"\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$" + _globals["_ROLE"].fields_by_name["color"]._loaded_options = None + _globals["_ROLE"].fields_by_name[ + "color" + ]._serialized_options = b"\372B\025r\023\020\006\030\0062\r^[0-9a-f]{6}$" + _globals["_ROLE"].fields_by_name["description"]._loaded_options = None + _globals["_ROLE"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_SITE"].fields_by_name["name"]._loaded_options = None + _globals["_SITE"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_SITE"].fields_by_name["slug"]._loaded_options = None + _globals["_SITE"].fields_by_name[ + "slug" + ]._serialized_options = b"\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$" + _globals["_SITE"].fields_by_name["status"]._loaded_options = None + _globals["_SITE"].fields_by_name[ + "status" + ]._serialized_options = ( + b"\372B6r4R\007plannedR\007stagingR\006activeR\017decommissioningR\007retired" + ) + _globals["_SITE"].fields_by_name["facility"]._loaded_options = None + _globals["_SITE"].fields_by_name[ + "facility" + ]._serialized_options = b"\372B\004r\002\0302" + _globals["_SITE"].fields_by_name["description"]._loaded_options = None + _globals["_SITE"].fields_by_name[ + "description" + ]._serialized_options = b"\372B\005r\003\030\310\001" + _globals["_TAG"].fields_by_name["name"]._loaded_options = None + _globals["_TAG"].fields_by_name[ + "name" + ]._serialized_options = b"\372B\006r\004\020\001\030d" + _globals["_TAG"].fields_by_name["slug"]._loaded_options = None + _globals["_TAG"].fields_by_name[ + "slug" + ]._serialized_options = b"\372B\030r\026\020\001\030d2\020^[-a-zA-Z0-9_]+$" + _globals["_TAG"].fields_by_name["color"]._loaded_options = None + _globals["_TAG"].fields_by_name[ + "color" + ]._serialized_options = b"\372B\025r\023\020\006\030\0062\r^[0-9a-f]{6}$" + _globals["_ENTITY"].fields_by_name["timestamp"]._loaded_options = None + _globals["_ENTITY"].fields_by_name[ + "timestamp" + ]._serialized_options = b"\372B\007\262\001\004\010\0018\001" + _globals["_INGESTREQUEST"].fields_by_name["stream"]._loaded_options = None + _globals["_INGESTREQUEST"].fields_by_name[ + "stream" + ]._serialized_options = b"\372B\007r\005\020\001\030\377\001" + _globals["_INGESTREQUEST"].fields_by_name["entities"]._loaded_options = None + _globals["_INGESTREQUEST"].fields_by_name[ + "entities" + ]._serialized_options = b"\372B\010\222\001\005\010\001\020\350\007" + _globals["_INGESTREQUEST"].fields_by_name["id"]._loaded_options = None + _globals["_INGESTREQUEST"].fields_by_name[ + "id" + ]._serialized_options = b"\372B\005r\003\260\001\001" + _globals["_INGESTREQUEST"].fields_by_name[ + "producer_app_name" + ]._loaded_options = None + _globals["_INGESTREQUEST"].fields_by_name[ + "producer_app_name" + ]._serialized_options = b"\372B\007r\005\020\001\030\377\001" + _globals["_INGESTREQUEST"].fields_by_name[ + "producer_app_version" + ]._loaded_options = None + _globals["_INGESTREQUEST"].fields_by_name[ + "producer_app_version" + ]._serialized_options = b"\372B\007r\005\020\001\030\377\001" + _globals["_INGESTREQUEST"].fields_by_name["sdk_name"]._loaded_options = None + _globals["_INGESTREQUEST"].fields_by_name[ + "sdk_name" + ]._serialized_options = b"\372B\007r\005\020\001\030\377\001" + _globals["_INGESTREQUEST"].fields_by_name["sdk_version"]._loaded_options = None + _globals["_INGESTREQUEST"].fields_by_name[ + "sdk_version" + ]._serialized_options = b"\372B\031r\0272\025^(\\d)+\\.(\\d)+\\.(\\d)+$" + _globals["_DEVICE"]._serialized_start = 96 + _globals["_DEVICE"]._serialized_end = 836 + _globals["_INTERFACE"]._serialized_start = 839 + _globals["_INTERFACE"]._serialized_end = 3126 + _globals["_CLUSTER"]._serialized_start = 3129 + _globals["_CLUSTER"]._serialized_end = 3484 + _globals["_CLUSTERTYPE"]._serialized_start = 3487 + _globals["_CLUSTERTYPE"]._serialized_end = 3680 + _globals["_CLUSTERGROUP"]._serialized_start = 3683 + _globals["_CLUSTERGROUP"]._serialized_end = 3877 + _globals["_VIRTUALMACHINE"]._serialized_start = 3880 + _globals["_VIRTUALMACHINE"]._serialized_end = 4614 + _globals["_VMINTERFACE"]._serialized_start = 4617 + _globals["_VMINTERFACE"]._serialized_end = 4979 + _globals["_VIRTUALDISK"]._serialized_start = 4982 + _globals["_VIRTUALDISK"]._serialized_end = 5232 + _globals["_IPADDRESS"]._serialized_start = 5235 + _globals["_IPADDRESS"]._serialized_end = 5759 + _globals["_DEVICETYPE"]._serialized_start = 5762 + _globals["_DEVICETYPE"]._serialized_end = 6125 + _globals["_MANUFACTURER"]._serialized_start = 6128 + _globals["_MANUFACTURER"]._serialized_end = 6322 + _globals["_PLATFORM"]._serialized_start = 6325 + _globals["_PLATFORM"]._serialized_end = 6575 + _globals["_PREFIX"]._serialized_start = 6578 + _globals["_PREFIX"]._serialized_end = 6975 + _globals["_ROLE"]._serialized_start = 6978 + _globals["_ROLE"]._serialized_end = 7212 + _globals["_SITE"]._serialized_start = 7215 + _globals["_SITE"]._serialized_end = 7633 + _globals["_TAG"]._serialized_start = 7636 + _globals["_TAG"]._serialized_end = 7769 + _globals["_ENTITY"]._serialized_start = 7772 + _globals["_ENTITY"]._serialized_end = 8671 + _globals["_INGESTREQUEST"]._serialized_start = 8674 + _globals["_INGESTREQUEST"]._serialized_end = 9030 + _globals["_INGESTRESPONSE"]._serialized_start = 9032 + _globals["_INGESTRESPONSE"]._serialized_end = 9072 + _globals["_INGESTERSERVICE"]._serialized_start = 9074 + _globals["_INGESTERSERVICE"]._serialized_end = 9154 # @@protoc_insertion_point(module_scope) diff --git a/netboxlabs/diode/sdk/diode/v1/ingester_pb2.pyi b/netboxlabs/diode/sdk/diode/v1/ingester_pb2.pyi index 3d4ffe0..2eb9599 100644 --- a/netboxlabs/diode/sdk/diode/v1/ingester_pb2.pyi +++ b/netboxlabs/diode/sdk/diode/v1/ingester_pb2.pyi @@ -3,12 +3,33 @@ from netboxlabs.diode.sdk.validate import validate_pb2 as _validate_pb2 from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from typing import ( + ClassVar as _ClassVar, + Iterable as _Iterable, + Mapping as _Mapping, + Optional as _Optional, + Union as _Union, +) DESCRIPTOR: _descriptor.FileDescriptor class Device(_message.Message): - __slots__ = ("name", "device_fqdn", "device_type", "role", "platform", "serial", "site", "asset_tag", "status", "description", "comments", "tags", "primary_ip4", "primary_ip6") + __slots__ = ( + "name", + "device_fqdn", + "device_type", + "role", + "platform", + "serial", + "site", + "asset_tag", + "status", + "description", + "comments", + "tags", + "primary_ip4", + "primary_ip6", + ) NAME_FIELD_NUMBER: _ClassVar[int] DEVICE_FQDN_FIELD_NUMBER: _ClassVar[int] DEVICE_TYPE_FIELD_NUMBER: _ClassVar[int] @@ -37,10 +58,41 @@ class Device(_message.Message): tags: _containers.RepeatedCompositeFieldContainer[Tag] primary_ip4: IPAddress primary_ip6: IPAddress - def __init__(self, name: _Optional[str] = ..., device_fqdn: _Optional[str] = ..., device_type: _Optional[_Union[DeviceType, _Mapping]] = ..., role: _Optional[_Union[Role, _Mapping]] = ..., platform: _Optional[_Union[Platform, _Mapping]] = ..., serial: _Optional[str] = ..., site: _Optional[_Union[Site, _Mapping]] = ..., asset_tag: _Optional[str] = ..., status: _Optional[str] = ..., description: _Optional[str] = ..., comments: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., primary_ip4: _Optional[_Union[IPAddress, _Mapping]] = ..., primary_ip6: _Optional[_Union[IPAddress, _Mapping]] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + device_fqdn: _Optional[str] = ..., + device_type: _Optional[_Union[DeviceType, _Mapping]] = ..., + role: _Optional[_Union[Role, _Mapping]] = ..., + platform: _Optional[_Union[Platform, _Mapping]] = ..., + serial: _Optional[str] = ..., + site: _Optional[_Union[Site, _Mapping]] = ..., + asset_tag: _Optional[str] = ..., + status: _Optional[str] = ..., + description: _Optional[str] = ..., + comments: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + primary_ip4: _Optional[_Union[IPAddress, _Mapping]] = ..., + primary_ip6: _Optional[_Union[IPAddress, _Mapping]] = ..., + ) -> None: ... class Interface(_message.Message): - __slots__ = ("device", "name", "label", "type", "enabled", "mtu", "mac_address", "speed", "wwn", "mgmt_only", "description", "mark_connected", "mode", "tags") + __slots__ = ( + "device", + "name", + "label", + "type", + "enabled", + "mtu", + "mac_address", + "speed", + "wwn", + "mgmt_only", + "description", + "mark_connected", + "mode", + "tags", + ) DEVICE_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] LABEL_FIELD_NUMBER: _ClassVar[int] @@ -69,7 +121,23 @@ class Interface(_message.Message): mark_connected: bool mode: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ..., name: _Optional[str] = ..., label: _Optional[str] = ..., type: _Optional[str] = ..., enabled: bool = ..., mtu: _Optional[int] = ..., mac_address: _Optional[str] = ..., speed: _Optional[int] = ..., wwn: _Optional[str] = ..., mgmt_only: bool = ..., description: _Optional[str] = ..., mark_connected: bool = ..., mode: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + device: _Optional[_Union[Device, _Mapping]] = ..., + name: _Optional[str] = ..., + label: _Optional[str] = ..., + type: _Optional[str] = ..., + enabled: bool = ..., + mtu: _Optional[int] = ..., + mac_address: _Optional[str] = ..., + speed: _Optional[int] = ..., + wwn: _Optional[str] = ..., + mgmt_only: bool = ..., + description: _Optional[str] = ..., + mark_connected: bool = ..., + mode: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class Cluster(_message.Message): __slots__ = ("name", "type", "group", "site", "status", "description", "tags") @@ -87,7 +155,16 @@ class Cluster(_message.Message): status: str description: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, name: _Optional[str] = ..., type: _Optional[_Union[ClusterType, _Mapping]] = ..., group: _Optional[_Union[ClusterGroup, _Mapping]] = ..., site: _Optional[_Union[Site, _Mapping]] = ..., status: _Optional[str] = ..., description: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + type: _Optional[_Union[ClusterType, _Mapping]] = ..., + group: _Optional[_Union[ClusterGroup, _Mapping]] = ..., + site: _Optional[_Union[Site, _Mapping]] = ..., + status: _Optional[str] = ..., + description: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class ClusterType(_message.Message): __slots__ = ("name", "slug", "description", "tags") @@ -99,7 +176,13 @@ class ClusterType(_message.Message): slug: str description: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, name: _Optional[str] = ..., slug: _Optional[str] = ..., description: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + slug: _Optional[str] = ..., + description: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class ClusterGroup(_message.Message): __slots__ = ("name", "slug", "description", "tags") @@ -111,10 +194,32 @@ class ClusterGroup(_message.Message): slug: str description: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, name: _Optional[str] = ..., slug: _Optional[str] = ..., description: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + slug: _Optional[str] = ..., + description: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class VirtualMachine(_message.Message): - __slots__ = ("name", "status", "site", "cluster", "role", "device", "platform", "primary_ip4", "primary_ip6", "vcpus", "memory", "disk", "description", "comments", "tags") + __slots__ = ( + "name", + "status", + "site", + "cluster", + "role", + "device", + "platform", + "primary_ip4", + "primary_ip6", + "vcpus", + "memory", + "disk", + "description", + "comments", + "tags", + ) NAME_FIELD_NUMBER: _ClassVar[int] STATUS_FIELD_NUMBER: _ClassVar[int] SITE_FIELD_NUMBER: _ClassVar[int] @@ -145,10 +250,35 @@ class VirtualMachine(_message.Message): description: str comments: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, name: _Optional[str] = ..., status: _Optional[str] = ..., site: _Optional[_Union[Site, _Mapping]] = ..., cluster: _Optional[_Union[Cluster, _Mapping]] = ..., role: _Optional[_Union[Role, _Mapping]] = ..., device: _Optional[_Union[Device, _Mapping]] = ..., platform: _Optional[_Union[Platform, _Mapping]] = ..., primary_ip4: _Optional[_Union[IPAddress, _Mapping]] = ..., primary_ip6: _Optional[_Union[IPAddress, _Mapping]] = ..., vcpus: _Optional[int] = ..., memory: _Optional[int] = ..., disk: _Optional[int] = ..., description: _Optional[str] = ..., comments: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + status: _Optional[str] = ..., + site: _Optional[_Union[Site, _Mapping]] = ..., + cluster: _Optional[_Union[Cluster, _Mapping]] = ..., + role: _Optional[_Union[Role, _Mapping]] = ..., + device: _Optional[_Union[Device, _Mapping]] = ..., + platform: _Optional[_Union[Platform, _Mapping]] = ..., + primary_ip4: _Optional[_Union[IPAddress, _Mapping]] = ..., + primary_ip6: _Optional[_Union[IPAddress, _Mapping]] = ..., + vcpus: _Optional[int] = ..., + memory: _Optional[int] = ..., + disk: _Optional[int] = ..., + description: _Optional[str] = ..., + comments: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class VMInterface(_message.Message): - __slots__ = ("virtual_machine", "name", "enabled", "mtu", "mac_address", "description", "tags") + __slots__ = ( + "virtual_machine", + "name", + "enabled", + "mtu", + "mac_address", + "description", + "tags", + ) VIRTUAL_MACHINE_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] ENABLED_FIELD_NUMBER: _ClassVar[int] @@ -163,7 +293,16 @@ class VMInterface(_message.Message): mac_address: str description: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, virtual_machine: _Optional[_Union[VirtualMachine, _Mapping]] = ..., name: _Optional[str] = ..., enabled: bool = ..., mtu: _Optional[int] = ..., mac_address: _Optional[str] = ..., description: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + virtual_machine: _Optional[_Union[VirtualMachine, _Mapping]] = ..., + name: _Optional[str] = ..., + enabled: bool = ..., + mtu: _Optional[int] = ..., + mac_address: _Optional[str] = ..., + description: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class VirtualDisk(_message.Message): __slots__ = ("virtual_machine", "name", "size", "description", "tags") @@ -177,10 +316,26 @@ class VirtualDisk(_message.Message): size: int description: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, virtual_machine: _Optional[_Union[VirtualMachine, _Mapping]] = ..., name: _Optional[str] = ..., size: _Optional[int] = ..., description: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + virtual_machine: _Optional[_Union[VirtualMachine, _Mapping]] = ..., + name: _Optional[str] = ..., + size: _Optional[int] = ..., + description: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class IPAddress(_message.Message): - __slots__ = ("address", "interface", "status", "role", "dns_name", "description", "comments", "tags") + __slots__ = ( + "address", + "interface", + "status", + "role", + "dns_name", + "description", + "comments", + "tags", + ) ADDRESS_FIELD_NUMBER: _ClassVar[int] INTERFACE_FIELD_NUMBER: _ClassVar[int] STATUS_FIELD_NUMBER: _ClassVar[int] @@ -197,10 +352,28 @@ class IPAddress(_message.Message): description: str comments: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, address: _Optional[str] = ..., interface: _Optional[_Union[Interface, _Mapping]] = ..., status: _Optional[str] = ..., role: _Optional[str] = ..., dns_name: _Optional[str] = ..., description: _Optional[str] = ..., comments: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + address: _Optional[str] = ..., + interface: _Optional[_Union[Interface, _Mapping]] = ..., + status: _Optional[str] = ..., + role: _Optional[str] = ..., + dns_name: _Optional[str] = ..., + description: _Optional[str] = ..., + comments: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class DeviceType(_message.Message): - __slots__ = ("model", "slug", "manufacturer", "description", "comments", "part_number", "tags") + __slots__ = ( + "model", + "slug", + "manufacturer", + "description", + "comments", + "part_number", + "tags", + ) MODEL_FIELD_NUMBER: _ClassVar[int] SLUG_FIELD_NUMBER: _ClassVar[int] MANUFACTURER_FIELD_NUMBER: _ClassVar[int] @@ -215,7 +388,16 @@ class DeviceType(_message.Message): comments: str part_number: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, model: _Optional[str] = ..., slug: _Optional[str] = ..., manufacturer: _Optional[_Union[Manufacturer, _Mapping]] = ..., description: _Optional[str] = ..., comments: _Optional[str] = ..., part_number: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + model: _Optional[str] = ..., + slug: _Optional[str] = ..., + manufacturer: _Optional[_Union[Manufacturer, _Mapping]] = ..., + description: _Optional[str] = ..., + comments: _Optional[str] = ..., + part_number: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class Manufacturer(_message.Message): __slots__ = ("name", "slug", "description", "tags") @@ -227,7 +409,13 @@ class Manufacturer(_message.Message): slug: str description: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, name: _Optional[str] = ..., slug: _Optional[str] = ..., description: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + slug: _Optional[str] = ..., + description: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class Platform(_message.Message): __slots__ = ("name", "slug", "manufacturer", "description", "tags") @@ -241,10 +429,26 @@ class Platform(_message.Message): manufacturer: Manufacturer description: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, name: _Optional[str] = ..., slug: _Optional[str] = ..., manufacturer: _Optional[_Union[Manufacturer, _Mapping]] = ..., description: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + slug: _Optional[str] = ..., + manufacturer: _Optional[_Union[Manufacturer, _Mapping]] = ..., + description: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class Prefix(_message.Message): - __slots__ = ("prefix", "site", "status", "is_pool", "mark_utilized", "description", "comments", "tags") + __slots__ = ( + "prefix", + "site", + "status", + "is_pool", + "mark_utilized", + "description", + "comments", + "tags", + ) PREFIX_FIELD_NUMBER: _ClassVar[int] SITE_FIELD_NUMBER: _ClassVar[int] STATUS_FIELD_NUMBER: _ClassVar[int] @@ -261,7 +465,17 @@ class Prefix(_message.Message): description: str comments: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, prefix: _Optional[str] = ..., site: _Optional[_Union[Site, _Mapping]] = ..., status: _Optional[str] = ..., is_pool: bool = ..., mark_utilized: bool = ..., description: _Optional[str] = ..., comments: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + prefix: _Optional[str] = ..., + site: _Optional[_Union[Site, _Mapping]] = ..., + status: _Optional[str] = ..., + is_pool: bool = ..., + mark_utilized: bool = ..., + description: _Optional[str] = ..., + comments: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class Role(_message.Message): __slots__ = ("name", "slug", "color", "description", "tags") @@ -275,10 +489,26 @@ class Role(_message.Message): color: str description: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, name: _Optional[str] = ..., slug: _Optional[str] = ..., color: _Optional[str] = ..., description: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + slug: _Optional[str] = ..., + color: _Optional[str] = ..., + description: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class Site(_message.Message): - __slots__ = ("name", "slug", "status", "facility", "time_zone", "description", "comments", "tags") + __slots__ = ( + "name", + "slug", + "status", + "facility", + "time_zone", + "description", + "comments", + "tags", + ) NAME_FIELD_NUMBER: _ClassVar[int] SLUG_FIELD_NUMBER: _ClassVar[int] STATUS_FIELD_NUMBER: _ClassVar[int] @@ -295,7 +525,17 @@ class Site(_message.Message): description: str comments: str tags: _containers.RepeatedCompositeFieldContainer[Tag] - def __init__(self, name: _Optional[str] = ..., slug: _Optional[str] = ..., status: _Optional[str] = ..., facility: _Optional[str] = ..., time_zone: _Optional[str] = ..., description: _Optional[str] = ..., comments: _Optional[str] = ..., tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + slug: _Optional[str] = ..., + status: _Optional[str] = ..., + facility: _Optional[str] = ..., + time_zone: _Optional[str] = ..., + description: _Optional[str] = ..., + comments: _Optional[str] = ..., + tags: _Optional[_Iterable[_Union[Tag, _Mapping]]] = ..., + ) -> None: ... class Tag(_message.Message): __slots__ = ("name", "slug", "color") @@ -305,10 +545,32 @@ class Tag(_message.Message): name: str slug: str color: str - def __init__(self, name: _Optional[str] = ..., slug: _Optional[str] = ..., color: _Optional[str] = ...) -> None: ... + def __init__( + self, + name: _Optional[str] = ..., + slug: _Optional[str] = ..., + color: _Optional[str] = ..., + ) -> None: ... class Entity(_message.Message): - __slots__ = ("site", "platform", "manufacturer", "device", "device_role", "device_type", "interface", "ip_address", "prefix", "cluster_group", "cluster_type", "cluster", "virtual_machine", "vminterface", "virtual_disk", "timestamp") + __slots__ = ( + "site", + "platform", + "manufacturer", + "device", + "device_role", + "device_type", + "interface", + "ip_address", + "prefix", + "cluster_group", + "cluster_type", + "cluster", + "virtual_machine", + "vminterface", + "virtual_disk", + "timestamp", + ) SITE_FIELD_NUMBER: _ClassVar[int] PLATFORM_FIELD_NUMBER: _ClassVar[int] MANUFACTURER_FIELD_NUMBER: _ClassVar[int] @@ -341,10 +603,36 @@ class Entity(_message.Message): vminterface: VMInterface virtual_disk: VirtualDisk timestamp: _timestamp_pb2.Timestamp - def __init__(self, site: _Optional[_Union[Site, _Mapping]] = ..., platform: _Optional[_Union[Platform, _Mapping]] = ..., manufacturer: _Optional[_Union[Manufacturer, _Mapping]] = ..., device: _Optional[_Union[Device, _Mapping]] = ..., device_role: _Optional[_Union[Role, _Mapping]] = ..., device_type: _Optional[_Union[DeviceType, _Mapping]] = ..., interface: _Optional[_Union[Interface, _Mapping]] = ..., ip_address: _Optional[_Union[IPAddress, _Mapping]] = ..., prefix: _Optional[_Union[Prefix, _Mapping]] = ..., cluster_group: _Optional[_Union[ClusterGroup, _Mapping]] = ..., cluster_type: _Optional[_Union[ClusterType, _Mapping]] = ..., cluster: _Optional[_Union[Cluster, _Mapping]] = ..., virtual_machine: _Optional[_Union[VirtualMachine, _Mapping]] = ..., vminterface: _Optional[_Union[VMInterface, _Mapping]] = ..., virtual_disk: _Optional[_Union[VirtualDisk, _Mapping]] = ..., timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__( + self, + site: _Optional[_Union[Site, _Mapping]] = ..., + platform: _Optional[_Union[Platform, _Mapping]] = ..., + manufacturer: _Optional[_Union[Manufacturer, _Mapping]] = ..., + device: _Optional[_Union[Device, _Mapping]] = ..., + device_role: _Optional[_Union[Role, _Mapping]] = ..., + device_type: _Optional[_Union[DeviceType, _Mapping]] = ..., + interface: _Optional[_Union[Interface, _Mapping]] = ..., + ip_address: _Optional[_Union[IPAddress, _Mapping]] = ..., + prefix: _Optional[_Union[Prefix, _Mapping]] = ..., + cluster_group: _Optional[_Union[ClusterGroup, _Mapping]] = ..., + cluster_type: _Optional[_Union[ClusterType, _Mapping]] = ..., + cluster: _Optional[_Union[Cluster, _Mapping]] = ..., + virtual_machine: _Optional[_Union[VirtualMachine, _Mapping]] = ..., + vminterface: _Optional[_Union[VMInterface, _Mapping]] = ..., + virtual_disk: _Optional[_Union[VirtualDisk, _Mapping]] = ..., + timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., + ) -> None: ... class IngestRequest(_message.Message): - __slots__ = ("stream", "entities", "id", "producer_app_name", "producer_app_version", "sdk_name", "sdk_version") + __slots__ = ( + "stream", + "entities", + "id", + "producer_app_name", + "producer_app_version", + "sdk_name", + "sdk_version", + ) STREAM_FIELD_NUMBER: _ClassVar[int] ENTITIES_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int] @@ -359,7 +647,16 @@ class IngestRequest(_message.Message): producer_app_version: str sdk_name: str sdk_version: str - def __init__(self, stream: _Optional[str] = ..., entities: _Optional[_Iterable[_Union[Entity, _Mapping]]] = ..., id: _Optional[str] = ..., producer_app_name: _Optional[str] = ..., producer_app_version: _Optional[str] = ..., sdk_name: _Optional[str] = ..., sdk_version: _Optional[str] = ...) -> None: ... + def __init__( + self, + stream: _Optional[str] = ..., + entities: _Optional[_Iterable[_Union[Entity, _Mapping]]] = ..., + id: _Optional[str] = ..., + producer_app_name: _Optional[str] = ..., + producer_app_version: _Optional[str] = ..., + sdk_name: _Optional[str] = ..., + sdk_version: _Optional[str] = ..., + ) -> None: ... class IngestResponse(_message.Message): __slots__ = ("errors",) diff --git a/netboxlabs/diode/sdk/diode/v1/ingester_pb2_grpc.py b/netboxlabs/diode/sdk/diode/v1/ingester_pb2_grpc.py index 8fb6144..43cb7a5 100644 --- a/netboxlabs/diode/sdk/diode/v1/ingester_pb2_grpc.py +++ b/netboxlabs/diode/sdk/diode/v1/ingester_pb2_grpc.py @@ -6,8 +6,7 @@ class IngesterServiceStub(object): - """Ingestion API - """ + """Ingestion API""" def __init__(self, channel): """Constructor. @@ -16,55 +15,65 @@ def __init__(self, channel): channel: A grpc.Channel. """ self.Ingest = channel.unary_unary( - '/diode.v1.IngesterService/Ingest', - request_serializer=diode_dot_v1_dot_ingester__pb2.IngestRequest.SerializeToString, - response_deserializer=diode_dot_v1_dot_ingester__pb2.IngestResponse.FromString, - ) + "/diode.v1.IngesterService/Ingest", + request_serializer=diode_dot_v1_dot_ingester__pb2.IngestRequest.SerializeToString, + response_deserializer=diode_dot_v1_dot_ingester__pb2.IngestResponse.FromString, + ) class IngesterServiceServicer(object): - """Ingestion API - """ + """Ingestion API""" def Ingest(self, request, context): - """Ingests data into the system - """ + """Ingests data into the system""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") def add_IngesterServiceServicer_to_server(servicer, server): rpc_method_handlers = { - 'Ingest': grpc.unary_unary_rpc_method_handler( - servicer.Ingest, - request_deserializer=diode_dot_v1_dot_ingester__pb2.IngestRequest.FromString, - response_serializer=diode_dot_v1_dot_ingester__pb2.IngestResponse.SerializeToString, - ), + "Ingest": grpc.unary_unary_rpc_method_handler( + servicer.Ingest, + request_deserializer=diode_dot_v1_dot_ingester__pb2.IngestRequest.FromString, + response_serializer=diode_dot_v1_dot_ingester__pb2.IngestResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( - 'diode.v1.IngesterService', rpc_method_handlers) + "diode.v1.IngesterService", rpc_method_handlers + ) server.add_generic_rpc_handlers((generic_handler,)) - # This class is part of an EXPERIMENTAL API. +# This class is part of an EXPERIMENTAL API. class IngesterService(object): - """Ingestion API - """ + """Ingestion API""" @staticmethod - def Ingest(request, + def Ingest( + request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None, + ): + return grpc.experimental.unary_unary( + request, target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/diode.v1.IngesterService/Ingest', + "/diode.v1.IngesterService/Ingest", diode_dot_v1_dot_ingester__pb2.IngestRequest.SerializeToString, diode_dot_v1_dot_ingester__pb2.IngestResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + ) diff --git a/netboxlabs/diode/sdk/ingester.py b/netboxlabs/diode/sdk/ingester.py index a2b5318..e1839f3 100644 --- a/netboxlabs/diode/sdk/ingester.py +++ b/netboxlabs/diode/sdk/ingester.py @@ -578,6 +578,7 @@ def __new__( return VirtualMachinePb( name=name, status=status, + cluster=cluster, site=site, role=role, device=device, @@ -697,9 +698,7 @@ def __new__( virtual_disk = convert_to_protobuf( virtual_disk, VirtualDiskPb, name=virtual_disk ) - vminterface = convert_to_protobuf( - vminterface, VMInterfacePb, name=vminterface - ) + vminterface = convert_to_protobuf(vminterface, VMInterfacePb, name=vminterface) virtual_machine = convert_to_protobuf( virtual_machine, VirtualMachinePb, name=virtual_machine ) diff --git a/netboxlabs/diode/sdk/validate/validate_pb2.py b/netboxlabs/diode/sdk/validate/validate_pb2.py index cb59def..4ebbeaa 100644 --- a/netboxlabs/diode/sdk/validate/validate_pb2.py +++ b/netboxlabs/diode/sdk/validate/validate_pb2.py @@ -7,6 +7,7 @@ from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,60 +18,64 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17validate/validate.proto\x12\x08validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc8\x08\n\nFieldRules\x12\x30\n\x07message\x18\x11 \x01(\x0b\x32\x16.validate.MessageRulesR\x07message\x12,\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x14.validate.FloatRulesH\x00R\x05\x66loat\x12/\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x15.validate.DoubleRulesH\x00R\x06\x64ouble\x12,\n\x05int32\x18\x03 \x01(\x0b\x32\x14.validate.Int32RulesH\x00R\x05int32\x12,\n\x05int64\x18\x04 \x01(\x0b\x32\x14.validate.Int64RulesH\x00R\x05int64\x12/\n\x06uint32\x18\x05 \x01(\x0b\x32\x15.validate.UInt32RulesH\x00R\x06uint32\x12/\n\x06uint64\x18\x06 \x01(\x0b\x32\x15.validate.UInt64RulesH\x00R\x06uint64\x12/\n\x06sint32\x18\x07 \x01(\x0b\x32\x15.validate.SInt32RulesH\x00R\x06sint32\x12/\n\x06sint64\x18\x08 \x01(\x0b\x32\x15.validate.SInt64RulesH\x00R\x06sint64\x12\x32\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x16.validate.Fixed32RulesH\x00R\x07\x66ixed32\x12\x32\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x16.validate.Fixed64RulesH\x00R\x07\x66ixed64\x12\x35\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x17.validate.SFixed32RulesH\x00R\x08sfixed32\x12\x35\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x17.validate.SFixed64RulesH\x00R\x08sfixed64\x12)\n\x04\x62ool\x18\r \x01(\x0b\x32\x13.validate.BoolRulesH\x00R\x04\x62ool\x12/\n\x06string\x18\x0e \x01(\x0b\x32\x15.validate.StringRulesH\x00R\x06string\x12,\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x14.validate.BytesRulesH\x00R\x05\x62ytes\x12)\n\x04\x65num\x18\x10 \x01(\x0b\x32\x13.validate.EnumRulesH\x00R\x04\x65num\x12\x35\n\x08repeated\x18\x12 \x01(\x0b\x32\x17.validate.RepeatedRulesH\x00R\x08repeated\x12&\n\x03map\x18\x13 \x01(\x0b\x32\x12.validate.MapRulesH\x00R\x03map\x12&\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x12.validate.AnyRulesH\x00R\x03\x61ny\x12\x35\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x17.validate.DurationRulesH\x00R\x08\x64uration\x12\x38\n\ttimestamp\x18\x16 \x01(\x0b\x32\x18.validate.TimestampRulesH\x00R\ttimestampB\x06\n\x04type\"\xb0\x01\n\nFloatRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x02R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x02R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x02R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x02R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x02R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x02R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x02R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb1\x01\n\x0b\x44oubleRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x01R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x01R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x01R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x01R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x01R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x01R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x01R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb0\x01\n\nInt32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x05R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x05R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x05R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x05R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x05R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x05R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x05R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb0\x01\n\nInt64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x03R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x03R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x03R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x03R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x03R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x03R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x03R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb1\x01\n\x0bUInt32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\rR\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\rR\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\rR\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\rR\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\rR\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\rR\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\rR\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb1\x01\n\x0bUInt64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x04R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x04R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x04R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x04R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x04R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x04R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x04R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb1\x01\n\x0bSInt32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x11R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x11R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x11R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x11R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x11R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x11R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x11R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb1\x01\n\x0bSInt64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x12R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x12R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x12R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x12R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x12R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x12R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x12R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb2\x01\n\x0c\x46ixed32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x07R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x07R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x07R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x07R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x07R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x07R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x07R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb2\x01\n\x0c\x46ixed64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x06R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x06R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x06R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x06R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x06R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x06R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x06R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb3\x01\n\rSFixed32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x0fR\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x0fR\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x0fR\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x0fR\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x0fR\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x0fR\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x0fR\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"\xb3\x01\n\rSFixed64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x10R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x10R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x10R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x10R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x10R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x10R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x10R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty\"!\n\tBoolRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x08R\x05\x63onst\"\xd4\x05\n\x0bStringRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\tR\x05\x63onst\x12\x10\n\x03len\x18\x13 \x01(\x04R\x03len\x12\x17\n\x07min_len\x18\x02 \x01(\x04R\x06minLen\x12\x17\n\x07max_len\x18\x03 \x01(\x04R\x06maxLen\x12\x1b\n\tlen_bytes\x18\x14 \x01(\x04R\x08lenBytes\x12\x1b\n\tmin_bytes\x18\x04 \x01(\x04R\x08minBytes\x12\x1b\n\tmax_bytes\x18\x05 \x01(\x04R\x08maxBytes\x12\x18\n\x07pattern\x18\x06 \x01(\tR\x07pattern\x12\x16\n\x06prefix\x18\x07 \x01(\tR\x06prefix\x12\x16\n\x06suffix\x18\x08 \x01(\tR\x06suffix\x12\x1a\n\x08\x63ontains\x18\t \x01(\tR\x08\x63ontains\x12!\n\x0cnot_contains\x18\x17 \x01(\tR\x0bnotContains\x12\x0e\n\x02in\x18\n \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x0b \x03(\tR\x05notIn\x12\x16\n\x05\x65mail\x18\x0c \x01(\x08H\x00R\x05\x65mail\x12\x1c\n\x08hostname\x18\r \x01(\x08H\x00R\x08hostname\x12\x10\n\x02ip\x18\x0e \x01(\x08H\x00R\x02ip\x12\x14\n\x04ipv4\x18\x0f \x01(\x08H\x00R\x04ipv4\x12\x14\n\x04ipv6\x18\x10 \x01(\x08H\x00R\x04ipv6\x12\x12\n\x03uri\x18\x11 \x01(\x08H\x00R\x03uri\x12\x19\n\x07uri_ref\x18\x12 \x01(\x08H\x00R\x06uriRef\x12\x1a\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08H\x00R\x07\x61\x64\x64ress\x12\x14\n\x04uuid\x18\x16 \x01(\x08H\x00R\x04uuid\x12@\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\x14.validate.KnownRegexH\x00R\x0ewellKnownRegex\x12\x1c\n\x06strict\x18\x19 \x01(\x08:\x04trueR\x06strict\x12!\n\x0cignore_empty\x18\x1a \x01(\x08R\x0bignoreEmptyB\x0c\n\nwell_known\"\xe2\x02\n\nBytesRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x0cR\x05\x63onst\x12\x10\n\x03len\x18\r \x01(\x04R\x03len\x12\x17\n\x07min_len\x18\x02 \x01(\x04R\x06minLen\x12\x17\n\x07max_len\x18\x03 \x01(\x04R\x06maxLen\x12\x18\n\x07pattern\x18\x04 \x01(\tR\x07pattern\x12\x16\n\x06prefix\x18\x05 \x01(\x0cR\x06prefix\x12\x16\n\x06suffix\x18\x06 \x01(\x0cR\x06suffix\x12\x1a\n\x08\x63ontains\x18\x07 \x01(\x0cR\x08\x63ontains\x12\x0e\n\x02in\x18\x08 \x03(\x0cR\x02in\x12\x15\n\x06not_in\x18\t \x03(\x0cR\x05notIn\x12\x10\n\x02ip\x18\n \x01(\x08H\x00R\x02ip\x12\x14\n\x04ipv4\x18\x0b \x01(\x08H\x00R\x04ipv4\x12\x14\n\x04ipv6\x18\x0c \x01(\x08H\x00R\x04ipv6\x12!\n\x0cignore_empty\x18\x0e \x01(\x08R\x0bignoreEmptyB\x0c\n\nwell_known\"k\n\tEnumRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x05R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12\x0e\n\x02in\x18\x03 \x03(\x05R\x02in\x12\x15\n\x06not_in\x18\x04 \x03(\x05R\x05notIn\">\n\x0cMessageRules\x12\x12\n\x04skip\x18\x01 \x01(\x08R\x04skip\x12\x1a\n\x08required\x18\x02 \x01(\x08R\x08required\"\xb0\x01\n\rRepeatedRules\x12\x1b\n\tmin_items\x18\x01 \x01(\x04R\x08minItems\x12\x1b\n\tmax_items\x18\x02 \x01(\x04R\x08maxItems\x12\x16\n\x06unique\x18\x03 \x01(\x08R\x06unique\x12*\n\x05items\x18\x04 \x01(\x0b\x32\x14.validate.FieldRulesR\x05items\x12!\n\x0cignore_empty\x18\x05 \x01(\x08R\x0bignoreEmpty\"\xdc\x01\n\x08MapRules\x12\x1b\n\tmin_pairs\x18\x01 \x01(\x04R\x08minPairs\x12\x1b\n\tmax_pairs\x18\x02 \x01(\x04R\x08maxPairs\x12\x1b\n\tno_sparse\x18\x03 \x01(\x08R\x08noSparse\x12(\n\x04keys\x18\x04 \x01(\x0b\x32\x14.validate.FieldRulesR\x04keys\x12,\n\x06values\x18\x05 \x01(\x0b\x32\x14.validate.FieldRulesR\x06values\x12!\n\x0cignore_empty\x18\x06 \x01(\x08R\x0bignoreEmpty\"M\n\x08\x41nyRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xe9\x02\n\rDurationRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\x12/\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x05\x63onst\x12)\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x02lt\x12+\n\x03lte\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\x03lte\x12)\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x02gt\x12+\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x03gte\x12)\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationR\x02in\x12\x30\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.DurationR\x05notIn\"\xf3\x02\n\x0eTimestampRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\x12\x30\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x05\x63onst\x12*\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x02lt\x12,\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x03lte\x12*\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x02gt\x12,\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x03gte\x12\x15\n\x06lt_now\x18\x07 \x01(\x08R\x05ltNow\x12\x15\n\x06gt_now\x18\x08 \x01(\x08R\x05gtNow\x12\x31\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationR\x06within*F\n\nKnownRegex\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x14\n\x10HTTP_HEADER_NAME\x10\x01\x12\x15\n\x11HTTP_HEADER_VALUE\x10\x02:<\n\x08\x64isabled\x12\x1f.google.protobuf.MessageOptions\x18\xaf\x08 \x01(\x08R\x08\x64isabled::\n\x07ignored\x12\x1f.google.protobuf.MessageOptions\x18\xb0\x08 \x01(\x08R\x07ignored::\n\x08required\x12\x1d.google.protobuf.OneofOptions\x18\xaf\x08 \x01(\x08R\x08required:J\n\x05rules\x12\x1d.google.protobuf.FieldOptions\x18\xaf\x08 \x01(\x0b\x32\x14.validate.FieldRulesR\x05rulesBP\n\x1aio.envoyproxy.pgv.validateZ2github.com/envoyproxy/protoc-gen-validate/validate') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x17validate/validate.proto\x12\x08validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xc8\x08\n\nFieldRules\x12\x30\n\x07message\x18\x11 \x01(\x0b\x32\x16.validate.MessageRulesR\x07message\x12,\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x14.validate.FloatRulesH\x00R\x05\x66loat\x12/\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x15.validate.DoubleRulesH\x00R\x06\x64ouble\x12,\n\x05int32\x18\x03 \x01(\x0b\x32\x14.validate.Int32RulesH\x00R\x05int32\x12,\n\x05int64\x18\x04 \x01(\x0b\x32\x14.validate.Int64RulesH\x00R\x05int64\x12/\n\x06uint32\x18\x05 \x01(\x0b\x32\x15.validate.UInt32RulesH\x00R\x06uint32\x12/\n\x06uint64\x18\x06 \x01(\x0b\x32\x15.validate.UInt64RulesH\x00R\x06uint64\x12/\n\x06sint32\x18\x07 \x01(\x0b\x32\x15.validate.SInt32RulesH\x00R\x06sint32\x12/\n\x06sint64\x18\x08 \x01(\x0b\x32\x15.validate.SInt64RulesH\x00R\x06sint64\x12\x32\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x16.validate.Fixed32RulesH\x00R\x07\x66ixed32\x12\x32\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x16.validate.Fixed64RulesH\x00R\x07\x66ixed64\x12\x35\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x17.validate.SFixed32RulesH\x00R\x08sfixed32\x12\x35\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x17.validate.SFixed64RulesH\x00R\x08sfixed64\x12)\n\x04\x62ool\x18\r \x01(\x0b\x32\x13.validate.BoolRulesH\x00R\x04\x62ool\x12/\n\x06string\x18\x0e \x01(\x0b\x32\x15.validate.StringRulesH\x00R\x06string\x12,\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x14.validate.BytesRulesH\x00R\x05\x62ytes\x12)\n\x04\x65num\x18\x10 \x01(\x0b\x32\x13.validate.EnumRulesH\x00R\x04\x65num\x12\x35\n\x08repeated\x18\x12 \x01(\x0b\x32\x17.validate.RepeatedRulesH\x00R\x08repeated\x12&\n\x03map\x18\x13 \x01(\x0b\x32\x12.validate.MapRulesH\x00R\x03map\x12&\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x12.validate.AnyRulesH\x00R\x03\x61ny\x12\x35\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x17.validate.DurationRulesH\x00R\x08\x64uration\x12\x38\n\ttimestamp\x18\x16 \x01(\x0b\x32\x18.validate.TimestampRulesH\x00R\ttimestampB\x06\n\x04type"\xb0\x01\n\nFloatRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x02R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x02R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x02R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x02R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x02R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x02R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x02R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb1\x01\n\x0b\x44oubleRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x01R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x01R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x01R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x01R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x01R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x01R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x01R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb0\x01\n\nInt32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x05R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x05R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x05R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x05R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x05R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x05R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x05R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb0\x01\n\nInt64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x03R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x03R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x03R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x03R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x03R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x03R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x03R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb1\x01\n\x0bUInt32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\rR\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\rR\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\rR\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\rR\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\rR\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\rR\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\rR\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb1\x01\n\x0bUInt64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x04R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x04R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x04R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x04R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x04R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x04R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x04R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb1\x01\n\x0bSInt32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x11R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x11R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x11R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x11R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x11R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x11R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x11R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb1\x01\n\x0bSInt64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x12R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x12R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x12R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x12R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x12R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x12R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x12R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb2\x01\n\x0c\x46ixed32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x07R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x07R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x07R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x07R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x07R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x07R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x07R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb2\x01\n\x0c\x46ixed64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x06R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x06R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x06R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x06R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x06R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x06R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x06R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb3\x01\n\rSFixed32Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x0fR\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x0fR\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x0fR\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x0fR\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x0fR\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x0fR\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x0fR\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"\xb3\x01\n\rSFixed64Rules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x10R\x05\x63onst\x12\x0e\n\x02lt\x18\x02 \x01(\x10R\x02lt\x12\x10\n\x03lte\x18\x03 \x01(\x10R\x03lte\x12\x0e\n\x02gt\x18\x04 \x01(\x10R\x02gt\x12\x10\n\x03gte\x18\x05 \x01(\x10R\x03gte\x12\x0e\n\x02in\x18\x06 \x03(\x10R\x02in\x12\x15\n\x06not_in\x18\x07 \x03(\x10R\x05notIn\x12!\n\x0cignore_empty\x18\x08 \x01(\x08R\x0bignoreEmpty"!\n\tBoolRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x08R\x05\x63onst"\xd4\x05\n\x0bStringRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\tR\x05\x63onst\x12\x10\n\x03len\x18\x13 \x01(\x04R\x03len\x12\x17\n\x07min_len\x18\x02 \x01(\x04R\x06minLen\x12\x17\n\x07max_len\x18\x03 \x01(\x04R\x06maxLen\x12\x1b\n\tlen_bytes\x18\x14 \x01(\x04R\x08lenBytes\x12\x1b\n\tmin_bytes\x18\x04 \x01(\x04R\x08minBytes\x12\x1b\n\tmax_bytes\x18\x05 \x01(\x04R\x08maxBytes\x12\x18\n\x07pattern\x18\x06 \x01(\tR\x07pattern\x12\x16\n\x06prefix\x18\x07 \x01(\tR\x06prefix\x12\x16\n\x06suffix\x18\x08 \x01(\tR\x06suffix\x12\x1a\n\x08\x63ontains\x18\t \x01(\tR\x08\x63ontains\x12!\n\x0cnot_contains\x18\x17 \x01(\tR\x0bnotContains\x12\x0e\n\x02in\x18\n \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x0b \x03(\tR\x05notIn\x12\x16\n\x05\x65mail\x18\x0c \x01(\x08H\x00R\x05\x65mail\x12\x1c\n\x08hostname\x18\r \x01(\x08H\x00R\x08hostname\x12\x10\n\x02ip\x18\x0e \x01(\x08H\x00R\x02ip\x12\x14\n\x04ipv4\x18\x0f \x01(\x08H\x00R\x04ipv4\x12\x14\n\x04ipv6\x18\x10 \x01(\x08H\x00R\x04ipv6\x12\x12\n\x03uri\x18\x11 \x01(\x08H\x00R\x03uri\x12\x19\n\x07uri_ref\x18\x12 \x01(\x08H\x00R\x06uriRef\x12\x1a\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08H\x00R\x07\x61\x64\x64ress\x12\x14\n\x04uuid\x18\x16 \x01(\x08H\x00R\x04uuid\x12@\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\x14.validate.KnownRegexH\x00R\x0ewellKnownRegex\x12\x1c\n\x06strict\x18\x19 \x01(\x08:\x04trueR\x06strict\x12!\n\x0cignore_empty\x18\x1a \x01(\x08R\x0bignoreEmptyB\x0c\n\nwell_known"\xe2\x02\n\nBytesRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x0cR\x05\x63onst\x12\x10\n\x03len\x18\r \x01(\x04R\x03len\x12\x17\n\x07min_len\x18\x02 \x01(\x04R\x06minLen\x12\x17\n\x07max_len\x18\x03 \x01(\x04R\x06maxLen\x12\x18\n\x07pattern\x18\x04 \x01(\tR\x07pattern\x12\x16\n\x06prefix\x18\x05 \x01(\x0cR\x06prefix\x12\x16\n\x06suffix\x18\x06 \x01(\x0cR\x06suffix\x12\x1a\n\x08\x63ontains\x18\x07 \x01(\x0cR\x08\x63ontains\x12\x0e\n\x02in\x18\x08 \x03(\x0cR\x02in\x12\x15\n\x06not_in\x18\t \x03(\x0cR\x05notIn\x12\x10\n\x02ip\x18\n \x01(\x08H\x00R\x02ip\x12\x14\n\x04ipv4\x18\x0b \x01(\x08H\x00R\x04ipv4\x12\x14\n\x04ipv6\x18\x0c \x01(\x08H\x00R\x04ipv6\x12!\n\x0cignore_empty\x18\x0e \x01(\x08R\x0bignoreEmptyB\x0c\n\nwell_known"k\n\tEnumRules\x12\x14\n\x05\x63onst\x18\x01 \x01(\x05R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12\x0e\n\x02in\x18\x03 \x03(\x05R\x02in\x12\x15\n\x06not_in\x18\x04 \x03(\x05R\x05notIn">\n\x0cMessageRules\x12\x12\n\x04skip\x18\x01 \x01(\x08R\x04skip\x12\x1a\n\x08required\x18\x02 \x01(\x08R\x08required"\xb0\x01\n\rRepeatedRules\x12\x1b\n\tmin_items\x18\x01 \x01(\x04R\x08minItems\x12\x1b\n\tmax_items\x18\x02 \x01(\x04R\x08maxItems\x12\x16\n\x06unique\x18\x03 \x01(\x08R\x06unique\x12*\n\x05items\x18\x04 \x01(\x0b\x32\x14.validate.FieldRulesR\x05items\x12!\n\x0cignore_empty\x18\x05 \x01(\x08R\x0bignoreEmpty"\xdc\x01\n\x08MapRules\x12\x1b\n\tmin_pairs\x18\x01 \x01(\x04R\x08minPairs\x12\x1b\n\tmax_pairs\x18\x02 \x01(\x04R\x08maxPairs\x12\x1b\n\tno_sparse\x18\x03 \x01(\x08R\x08noSparse\x12(\n\x04keys\x18\x04 \x01(\x0b\x32\x14.validate.FieldRulesR\x04keys\x12,\n\x06values\x18\x05 \x01(\x0b\x32\x14.validate.FieldRulesR\x06values\x12!\n\x0cignore_empty\x18\x06 \x01(\x08R\x0bignoreEmpty"M\n\x08\x41nyRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn"\xe9\x02\n\rDurationRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\x12/\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x05\x63onst\x12)\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x02lt\x12+\n\x03lte\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\x03lte\x12)\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x02gt\x12+\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x03gte\x12)\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationR\x02in\x12\x30\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.DurationR\x05notIn"\xf3\x02\n\x0eTimestampRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\x12\x30\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x05\x63onst\x12*\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x02lt\x12,\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x03lte\x12*\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x02gt\x12,\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x03gte\x12\x15\n\x06lt_now\x18\x07 \x01(\x08R\x05ltNow\x12\x15\n\x06gt_now\x18\x08 \x01(\x08R\x05gtNow\x12\x31\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationR\x06within*F\n\nKnownRegex\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x14\n\x10HTTP_HEADER_NAME\x10\x01\x12\x15\n\x11HTTP_HEADER_VALUE\x10\x02:<\n\x08\x64isabled\x12\x1f.google.protobuf.MessageOptions\x18\xaf\x08 \x01(\x08R\x08\x64isabled::\n\x07ignored\x12\x1f.google.protobuf.MessageOptions\x18\xb0\x08 \x01(\x08R\x07ignored::\n\x08required\x12\x1d.google.protobuf.OneofOptions\x18\xaf\x08 \x01(\x08R\x08required:J\n\x05rules\x12\x1d.google.protobuf.FieldOptions\x18\xaf\x08 \x01(\x0b\x32\x14.validate.FieldRulesR\x05rulesBP\n\x1aio.envoyproxy.pgv.validateZ2github.com/envoyproxy/protoc-gen-validate/validate' +) _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'validate.validate_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "validate.validate_pb2", _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\032io.envoyproxy.pgv.validateZ2github.com/envoyproxy/protoc-gen-validate/validate' - _globals['_KNOWNREGEX']._serialized_start=5909 - _globals['_KNOWNREGEX']._serialized_end=5979 - _globals['_FIELDRULES']._serialized_start=137 - _globals['_FIELDRULES']._serialized_end=1233 - _globals['_FLOATRULES']._serialized_start=1236 - _globals['_FLOATRULES']._serialized_end=1412 - _globals['_DOUBLERULES']._serialized_start=1415 - _globals['_DOUBLERULES']._serialized_end=1592 - _globals['_INT32RULES']._serialized_start=1595 - _globals['_INT32RULES']._serialized_end=1771 - _globals['_INT64RULES']._serialized_start=1774 - _globals['_INT64RULES']._serialized_end=1950 - _globals['_UINT32RULES']._serialized_start=1953 - _globals['_UINT32RULES']._serialized_end=2130 - _globals['_UINT64RULES']._serialized_start=2133 - _globals['_UINT64RULES']._serialized_end=2310 - _globals['_SINT32RULES']._serialized_start=2313 - _globals['_SINT32RULES']._serialized_end=2490 - _globals['_SINT64RULES']._serialized_start=2493 - _globals['_SINT64RULES']._serialized_end=2670 - _globals['_FIXED32RULES']._serialized_start=2673 - _globals['_FIXED32RULES']._serialized_end=2851 - _globals['_FIXED64RULES']._serialized_start=2854 - _globals['_FIXED64RULES']._serialized_end=3032 - _globals['_SFIXED32RULES']._serialized_start=3035 - _globals['_SFIXED32RULES']._serialized_end=3214 - _globals['_SFIXED64RULES']._serialized_start=3217 - _globals['_SFIXED64RULES']._serialized_end=3396 - _globals['_BOOLRULES']._serialized_start=3398 - _globals['_BOOLRULES']._serialized_end=3431 - _globals['_STRINGRULES']._serialized_start=3434 - _globals['_STRINGRULES']._serialized_end=4158 - _globals['_BYTESRULES']._serialized_start=4161 - _globals['_BYTESRULES']._serialized_end=4515 - _globals['_ENUMRULES']._serialized_start=4517 - _globals['_ENUMRULES']._serialized_end=4624 - _globals['_MESSAGERULES']._serialized_start=4626 - _globals['_MESSAGERULES']._serialized_end=4688 - _globals['_REPEATEDRULES']._serialized_start=4691 - _globals['_REPEATEDRULES']._serialized_end=4867 - _globals['_MAPRULES']._serialized_start=4870 - _globals['_MAPRULES']._serialized_end=5090 - _globals['_ANYRULES']._serialized_start=5092 - _globals['_ANYRULES']._serialized_end=5169 - _globals['_DURATIONRULES']._serialized_start=5172 - _globals['_DURATIONRULES']._serialized_end=5533 - _globals['_TIMESTAMPRULES']._serialized_start=5536 - _globals['_TIMESTAMPRULES']._serialized_end=5907 + _globals["DESCRIPTOR"]._loaded_options = None + _globals["DESCRIPTOR"]._serialized_options = ( + b"\n\032io.envoyproxy.pgv.validateZ2github.com/envoyproxy/protoc-gen-validate/validate" + ) + _globals["_KNOWNREGEX"]._serialized_start = 5909 + _globals["_KNOWNREGEX"]._serialized_end = 5979 + _globals["_FIELDRULES"]._serialized_start = 137 + _globals["_FIELDRULES"]._serialized_end = 1233 + _globals["_FLOATRULES"]._serialized_start = 1236 + _globals["_FLOATRULES"]._serialized_end = 1412 + _globals["_DOUBLERULES"]._serialized_start = 1415 + _globals["_DOUBLERULES"]._serialized_end = 1592 + _globals["_INT32RULES"]._serialized_start = 1595 + _globals["_INT32RULES"]._serialized_end = 1771 + _globals["_INT64RULES"]._serialized_start = 1774 + _globals["_INT64RULES"]._serialized_end = 1950 + _globals["_UINT32RULES"]._serialized_start = 1953 + _globals["_UINT32RULES"]._serialized_end = 2130 + _globals["_UINT64RULES"]._serialized_start = 2133 + _globals["_UINT64RULES"]._serialized_end = 2310 + _globals["_SINT32RULES"]._serialized_start = 2313 + _globals["_SINT32RULES"]._serialized_end = 2490 + _globals["_SINT64RULES"]._serialized_start = 2493 + _globals["_SINT64RULES"]._serialized_end = 2670 + _globals["_FIXED32RULES"]._serialized_start = 2673 + _globals["_FIXED32RULES"]._serialized_end = 2851 + _globals["_FIXED64RULES"]._serialized_start = 2854 + _globals["_FIXED64RULES"]._serialized_end = 3032 + _globals["_SFIXED32RULES"]._serialized_start = 3035 + _globals["_SFIXED32RULES"]._serialized_end = 3214 + _globals["_SFIXED64RULES"]._serialized_start = 3217 + _globals["_SFIXED64RULES"]._serialized_end = 3396 + _globals["_BOOLRULES"]._serialized_start = 3398 + _globals["_BOOLRULES"]._serialized_end = 3431 + _globals["_STRINGRULES"]._serialized_start = 3434 + _globals["_STRINGRULES"]._serialized_end = 4158 + _globals["_BYTESRULES"]._serialized_start = 4161 + _globals["_BYTESRULES"]._serialized_end = 4515 + _globals["_ENUMRULES"]._serialized_start = 4517 + _globals["_ENUMRULES"]._serialized_end = 4624 + _globals["_MESSAGERULES"]._serialized_start = 4626 + _globals["_MESSAGERULES"]._serialized_end = 4688 + _globals["_REPEATEDRULES"]._serialized_start = 4691 + _globals["_REPEATEDRULES"]._serialized_end = 4867 + _globals["_MAPRULES"]._serialized_start = 4870 + _globals["_MAPRULES"]._serialized_end = 5090 + _globals["_ANYRULES"]._serialized_start = 5092 + _globals["_ANYRULES"]._serialized_end = 5169 + _globals["_DURATIONRULES"]._serialized_start = 5172 + _globals["_DURATIONRULES"]._serialized_end = 5533 + _globals["_TIMESTAMPRULES"]._serialized_start = 5536 + _globals["_TIMESTAMPRULES"]._serialized_end = 5907 # @@protoc_insertion_point(module_scope) diff --git a/netboxlabs/diode/sdk/validate/validate_pb2.pyi b/netboxlabs/diode/sdk/validate/validate_pb2.pyi index 2286693..97b8fd1 100644 --- a/netboxlabs/diode/sdk/validate/validate_pb2.pyi +++ b/netboxlabs/diode/sdk/validate/validate_pb2.pyi @@ -5,7 +5,13 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from typing import ( + ClassVar as _ClassVar, + Iterable as _Iterable, + Mapping as _Mapping, + Optional as _Optional, + Union as _Union, +) DESCRIPTOR: _descriptor.FileDescriptor @@ -14,6 +20,7 @@ class KnownRegex(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): UNKNOWN: _ClassVar[KnownRegex] HTTP_HEADER_NAME: _ClassVar[KnownRegex] HTTP_HEADER_VALUE: _ClassVar[KnownRegex] + UNKNOWN: KnownRegex HTTP_HEADER_NAME: KnownRegex HTTP_HEADER_VALUE: KnownRegex @@ -27,7 +34,30 @@ RULES_FIELD_NUMBER: _ClassVar[int] rules: _descriptor.FieldDescriptor class FieldRules(_message.Message): - __slots__ = ("message", "float", "double", "int32", "int64", "uint32", "uint64", "sint32", "sint64", "fixed32", "fixed64", "sfixed32", "sfixed64", "bool", "string", "bytes", "enum", "repeated", "map", "any", "duration", "timestamp") + __slots__ = ( + "message", + "float", + "double", + "int32", + "int64", + "uint32", + "uint64", + "sint32", + "sint64", + "fixed32", + "fixed64", + "sfixed32", + "sfixed64", + "bool", + "string", + "bytes", + "enum", + "repeated", + "map", + "any", + "duration", + "timestamp", + ) MESSAGE_FIELD_NUMBER: _ClassVar[int] FLOAT_FIELD_NUMBER: _ClassVar[int] DOUBLE_FIELD_NUMBER: _ClassVar[int] @@ -72,7 +102,31 @@ class FieldRules(_message.Message): any: AnyRules duration: DurationRules timestamp: TimestampRules - def __init__(self, message: _Optional[_Union[MessageRules, _Mapping]] = ..., float: _Optional[_Union[FloatRules, _Mapping]] = ..., double: _Optional[_Union[DoubleRules, _Mapping]] = ..., int32: _Optional[_Union[Int32Rules, _Mapping]] = ..., int64: _Optional[_Union[Int64Rules, _Mapping]] = ..., uint32: _Optional[_Union[UInt32Rules, _Mapping]] = ..., uint64: _Optional[_Union[UInt64Rules, _Mapping]] = ..., sint32: _Optional[_Union[SInt32Rules, _Mapping]] = ..., sint64: _Optional[_Union[SInt64Rules, _Mapping]] = ..., fixed32: _Optional[_Union[Fixed32Rules, _Mapping]] = ..., fixed64: _Optional[_Union[Fixed64Rules, _Mapping]] = ..., sfixed32: _Optional[_Union[SFixed32Rules, _Mapping]] = ..., sfixed64: _Optional[_Union[SFixed64Rules, _Mapping]] = ..., bool: _Optional[_Union[BoolRules, _Mapping]] = ..., string: _Optional[_Union[StringRules, _Mapping]] = ..., bytes: _Optional[_Union[BytesRules, _Mapping]] = ..., enum: _Optional[_Union[EnumRules, _Mapping]] = ..., repeated: _Optional[_Union[RepeatedRules, _Mapping]] = ..., map: _Optional[_Union[MapRules, _Mapping]] = ..., any: _Optional[_Union[AnyRules, _Mapping]] = ..., duration: _Optional[_Union[DurationRules, _Mapping]] = ..., timestamp: _Optional[_Union[TimestampRules, _Mapping]] = ...) -> None: ... + def __init__( + self, + message: _Optional[_Union[MessageRules, _Mapping]] = ..., + float: _Optional[_Union[FloatRules, _Mapping]] = ..., + double: _Optional[_Union[DoubleRules, _Mapping]] = ..., + int32: _Optional[_Union[Int32Rules, _Mapping]] = ..., + int64: _Optional[_Union[Int64Rules, _Mapping]] = ..., + uint32: _Optional[_Union[UInt32Rules, _Mapping]] = ..., + uint64: _Optional[_Union[UInt64Rules, _Mapping]] = ..., + sint32: _Optional[_Union[SInt32Rules, _Mapping]] = ..., + sint64: _Optional[_Union[SInt64Rules, _Mapping]] = ..., + fixed32: _Optional[_Union[Fixed32Rules, _Mapping]] = ..., + fixed64: _Optional[_Union[Fixed64Rules, _Mapping]] = ..., + sfixed32: _Optional[_Union[SFixed32Rules, _Mapping]] = ..., + sfixed64: _Optional[_Union[SFixed64Rules, _Mapping]] = ..., + bool: _Optional[_Union[BoolRules, _Mapping]] = ..., + string: _Optional[_Union[StringRules, _Mapping]] = ..., + bytes: _Optional[_Union[BytesRules, _Mapping]] = ..., + enum: _Optional[_Union[EnumRules, _Mapping]] = ..., + repeated: _Optional[_Union[RepeatedRules, _Mapping]] = ..., + map: _Optional[_Union[MapRules, _Mapping]] = ..., + any: _Optional[_Union[AnyRules, _Mapping]] = ..., + duration: _Optional[_Union[DurationRules, _Mapping]] = ..., + timestamp: _Optional[_Union[TimestampRules, _Mapping]] = ..., + ) -> None: ... class FloatRules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -91,7 +145,17 @@ class FloatRules(_message.Message): gte: float not_in: _containers.RepeatedScalarFieldContainer[float] ignore_empty: bool - def __init__(self, const: _Optional[float] = ..., lt: _Optional[float] = ..., lte: _Optional[float] = ..., gt: _Optional[float] = ..., gte: _Optional[float] = ..., not_in: _Optional[_Iterable[float]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[float] = ..., + lt: _Optional[float] = ..., + lte: _Optional[float] = ..., + gt: _Optional[float] = ..., + gte: _Optional[float] = ..., + not_in: _Optional[_Iterable[float]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class DoubleRules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -110,7 +174,17 @@ class DoubleRules(_message.Message): gte: float not_in: _containers.RepeatedScalarFieldContainer[float] ignore_empty: bool - def __init__(self, const: _Optional[float] = ..., lt: _Optional[float] = ..., lte: _Optional[float] = ..., gt: _Optional[float] = ..., gte: _Optional[float] = ..., not_in: _Optional[_Iterable[float]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[float] = ..., + lt: _Optional[float] = ..., + lte: _Optional[float] = ..., + gt: _Optional[float] = ..., + gte: _Optional[float] = ..., + not_in: _Optional[_Iterable[float]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class Int32Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -129,7 +203,17 @@ class Int32Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class Int64Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -148,7 +232,17 @@ class Int64Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class UInt32Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -167,7 +261,17 @@ class UInt32Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class UInt64Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -186,7 +290,17 @@ class UInt64Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class SInt32Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -205,7 +319,17 @@ class SInt32Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class SInt64Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -224,7 +348,17 @@ class SInt64Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class Fixed32Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -243,7 +377,17 @@ class Fixed32Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class Fixed64Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -262,7 +406,17 @@ class Fixed64Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class SFixed32Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -281,7 +435,17 @@ class SFixed32Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class SFixed64Rules(_message.Message): __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty") @@ -300,7 +464,17 @@ class SFixed64Rules(_message.Message): gte: int not_in: _containers.RepeatedScalarFieldContainer[int] ignore_empty: bool - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + lt: _Optional[int] = ..., + lte: _Optional[int] = ..., + gt: _Optional[int] = ..., + gte: _Optional[int] = ..., + not_in: _Optional[_Iterable[int]] = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class BoolRules(_message.Message): __slots__ = ("const",) @@ -309,7 +483,33 @@ class BoolRules(_message.Message): def __init__(self, const: bool = ...) -> None: ... class StringRules(_message.Message): - __slots__ = ("const", "len", "min_len", "max_len", "len_bytes", "min_bytes", "max_bytes", "pattern", "prefix", "suffix", "contains", "not_contains", "not_in", "email", "hostname", "ip", "ipv4", "ipv6", "uri", "uri_ref", "address", "uuid", "well_known_regex", "strict", "ignore_empty") + __slots__ = ( + "const", + "len", + "min_len", + "max_len", + "len_bytes", + "min_bytes", + "max_bytes", + "pattern", + "prefix", + "suffix", + "contains", + "not_contains", + "not_in", + "email", + "hostname", + "ip", + "ipv4", + "ipv6", + "uri", + "uri_ref", + "address", + "uuid", + "well_known_regex", + "strict", + "ignore_empty", + ) CONST_FIELD_NUMBER: _ClassVar[int] LEN_FIELD_NUMBER: _ClassVar[int] MIN_LEN_FIELD_NUMBER: _ClassVar[int] @@ -361,10 +561,52 @@ class StringRules(_message.Message): well_known_regex: KnownRegex strict: bool ignore_empty: bool - def __init__(self, const: _Optional[str] = ..., len: _Optional[int] = ..., min_len: _Optional[int] = ..., max_len: _Optional[int] = ..., len_bytes: _Optional[int] = ..., min_bytes: _Optional[int] = ..., max_bytes: _Optional[int] = ..., pattern: _Optional[str] = ..., prefix: _Optional[str] = ..., suffix: _Optional[str] = ..., contains: _Optional[str] = ..., not_contains: _Optional[str] = ..., not_in: _Optional[_Iterable[str]] = ..., email: bool = ..., hostname: bool = ..., ip: bool = ..., ipv4: bool = ..., ipv6: bool = ..., uri: bool = ..., uri_ref: bool = ..., address: bool = ..., uuid: bool = ..., well_known_regex: _Optional[_Union[KnownRegex, str]] = ..., strict: bool = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[str] = ..., + len: _Optional[int] = ..., + min_len: _Optional[int] = ..., + max_len: _Optional[int] = ..., + len_bytes: _Optional[int] = ..., + min_bytes: _Optional[int] = ..., + max_bytes: _Optional[int] = ..., + pattern: _Optional[str] = ..., + prefix: _Optional[str] = ..., + suffix: _Optional[str] = ..., + contains: _Optional[str] = ..., + not_contains: _Optional[str] = ..., + not_in: _Optional[_Iterable[str]] = ..., + email: bool = ..., + hostname: bool = ..., + ip: bool = ..., + ipv4: bool = ..., + ipv6: bool = ..., + uri: bool = ..., + uri_ref: bool = ..., + address: bool = ..., + uuid: bool = ..., + well_known_regex: _Optional[_Union[KnownRegex, str]] = ..., + strict: bool = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class BytesRules(_message.Message): - __slots__ = ("const", "len", "min_len", "max_len", "pattern", "prefix", "suffix", "contains", "not_in", "ip", "ipv4", "ipv6", "ignore_empty") + __slots__ = ( + "const", + "len", + "min_len", + "max_len", + "pattern", + "prefix", + "suffix", + "contains", + "not_in", + "ip", + "ipv4", + "ipv6", + "ignore_empty", + ) CONST_FIELD_NUMBER: _ClassVar[int] LEN_FIELD_NUMBER: _ClassVar[int] MIN_LEN_FIELD_NUMBER: _ClassVar[int] @@ -392,7 +634,23 @@ class BytesRules(_message.Message): ipv4: bool ipv6: bool ignore_empty: bool - def __init__(self, const: _Optional[bytes] = ..., len: _Optional[int] = ..., min_len: _Optional[int] = ..., max_len: _Optional[int] = ..., pattern: _Optional[str] = ..., prefix: _Optional[bytes] = ..., suffix: _Optional[bytes] = ..., contains: _Optional[bytes] = ..., not_in: _Optional[_Iterable[bytes]] = ..., ip: bool = ..., ipv4: bool = ..., ipv6: bool = ..., ignore_empty: bool = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[bytes] = ..., + len: _Optional[int] = ..., + min_len: _Optional[int] = ..., + max_len: _Optional[int] = ..., + pattern: _Optional[str] = ..., + prefix: _Optional[bytes] = ..., + suffix: _Optional[bytes] = ..., + contains: _Optional[bytes] = ..., + not_in: _Optional[_Iterable[bytes]] = ..., + ip: bool = ..., + ipv4: bool = ..., + ipv6: bool = ..., + ignore_empty: bool = ..., + **kwargs, + ) -> None: ... class EnumRules(_message.Message): __slots__ = ("const", "defined_only", "not_in") @@ -403,7 +661,13 @@ class EnumRules(_message.Message): const: int defined_only: bool not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., defined_only: bool = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + def __init__( + self, + const: _Optional[int] = ..., + defined_only: bool = ..., + not_in: _Optional[_Iterable[int]] = ..., + **kwargs, + ) -> None: ... class MessageRules(_message.Message): __slots__ = ("skip", "required") @@ -425,10 +689,24 @@ class RepeatedRules(_message.Message): unique: bool items: FieldRules ignore_empty: bool - def __init__(self, min_items: _Optional[int] = ..., max_items: _Optional[int] = ..., unique: bool = ..., items: _Optional[_Union[FieldRules, _Mapping]] = ..., ignore_empty: bool = ...) -> None: ... + def __init__( + self, + min_items: _Optional[int] = ..., + max_items: _Optional[int] = ..., + unique: bool = ..., + items: _Optional[_Union[FieldRules, _Mapping]] = ..., + ignore_empty: bool = ..., + ) -> None: ... class MapRules(_message.Message): - __slots__ = ("min_pairs", "max_pairs", "no_sparse", "keys", "values", "ignore_empty") + __slots__ = ( + "min_pairs", + "max_pairs", + "no_sparse", + "keys", + "values", + "ignore_empty", + ) MIN_PAIRS_FIELD_NUMBER: _ClassVar[int] MAX_PAIRS_FIELD_NUMBER: _ClassVar[int] NO_SPARSE_FIELD_NUMBER: _ClassVar[int] @@ -441,7 +719,15 @@ class MapRules(_message.Message): keys: FieldRules values: FieldRules ignore_empty: bool - def __init__(self, min_pairs: _Optional[int] = ..., max_pairs: _Optional[int] = ..., no_sparse: bool = ..., keys: _Optional[_Union[FieldRules, _Mapping]] = ..., values: _Optional[_Union[FieldRules, _Mapping]] = ..., ignore_empty: bool = ...) -> None: ... + def __init__( + self, + min_pairs: _Optional[int] = ..., + max_pairs: _Optional[int] = ..., + no_sparse: bool = ..., + keys: _Optional[_Union[FieldRules, _Mapping]] = ..., + values: _Optional[_Union[FieldRules, _Mapping]] = ..., + ignore_empty: bool = ..., + ) -> None: ... class AnyRules(_message.Message): __slots__ = ("required", "not_in") @@ -450,7 +736,9 @@ class AnyRules(_message.Message): NOT_IN_FIELD_NUMBER: _ClassVar[int] required: bool not_in: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, required: bool = ..., not_in: _Optional[_Iterable[str]] = ..., **kwargs) -> None: ... + def __init__( + self, required: bool = ..., not_in: _Optional[_Iterable[str]] = ..., **kwargs + ) -> None: ... class DurationRules(_message.Message): __slots__ = ("required", "const", "lt", "lte", "gt", "gte", "not_in") @@ -469,10 +757,30 @@ class DurationRules(_message.Message): gt: _duration_pb2.Duration gte: _duration_pb2.Duration not_in: _containers.RepeatedCompositeFieldContainer[_duration_pb2.Duration] - def __init__(self, required: bool = ..., const: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., lt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., lte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., gt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., gte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., not_in: _Optional[_Iterable[_Union[_duration_pb2.Duration, _Mapping]]] = ..., **kwargs) -> None: ... + def __init__( + self, + required: bool = ..., + const: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., + lt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., + lte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., + gt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., + gte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., + not_in: _Optional[_Iterable[_Union[_duration_pb2.Duration, _Mapping]]] = ..., + **kwargs, + ) -> None: ... class TimestampRules(_message.Message): - __slots__ = ("required", "const", "lt", "lte", "gt", "gte", "lt_now", "gt_now", "within") + __slots__ = ( + "required", + "const", + "lt", + "lte", + "gt", + "gte", + "lt_now", + "gt_now", + "within", + ) REQUIRED_FIELD_NUMBER: _ClassVar[int] CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] @@ -491,4 +799,15 @@ class TimestampRules(_message.Message): lt_now: bool gt_now: bool within: _duration_pb2.Duration - def __init__(self, required: bool = ..., const: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., gt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., gte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lt_now: bool = ..., gt_now: bool = ..., within: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + def __init__( + self, + required: bool = ..., + const: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., + lt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., + lte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., + gt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., + gte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., + lt_now: bool = ..., + gt_now: bool = ..., + within: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., + ) -> None: ... diff --git a/netboxlabs/diode/sdk/validate/validate_pb2_grpc.py b/netboxlabs/diode/sdk/validate/validate_pb2_grpc.py index 2daafff..8a93939 100644 --- a/netboxlabs/diode/sdk/validate/validate_pb2_grpc.py +++ b/netboxlabs/diode/sdk/validate/validate_pb2_grpc.py @@ -1,4 +1,3 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc -