diff --git a/doc/index.html b/doc/index.html index 4f37d19b..998fb464 100644 --- a/doc/index.html +++ b/doc/index.html @@ -248,6 +248,10 @@

Table of Contents

XFile-level Extensions +
  • + XFile-level Extensions +
  • + @@ -2171,6 +2175,10 @@

    Table of Contents

    MTenantMember +
  • + MTenantQuery +
  • +
  • MTenantServiceCreateRequest
  • @@ -2848,6 +2856,14 @@

    File-level Extensio

    IsPrefix validates if the given string is a valid prefix

    + + is_tenant_login + bool + .buf.validate.StringRules + 80048962 +

    IsTenantLogin returns true if name field satisfies our requirements

    + + is_uri bool @@ -18163,6 +18179,51 @@

    TenantMember

    +

    TenantQuery

    +

    TenantQuery is used to search tenants

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    loginstringoptional

    Id filters tenants by login

    namestringoptional

    Name filters tenants by name

    labelsLabelsoptional

    Labels lists only projects containing the given labels

    pagingPaging

    Paging details for the list request

    + + + + +

    TenantServiceCreateRequest

    TenantServiceCreateRequest is the request payload of the tenant create request

    @@ -18630,24 +18691,10 @@

    TenantServiceListRequest

    - id - string - optional -

    Id filters tenants by id

    - - - - name - string - optional -

    Name filters tenants by name

    - - - - labels - Labels - optional -

    Labels lists only projects containing the given labels

    + query + TenantQuery + +

    Query for tenants

    @@ -19075,24 +19122,10 @@

    TenantServiceListRequest - login - string - optional -

    Login filters tenants by this login

    - - - - name - string - optional -

    Name filters tenants by this name

    - - - - paging - metalstack.api.v2.Paging + query + metalstack.api.v2.TenantQuery -

    Paging details for the list request

    +

    Query for tenants

    diff --git a/go/metalstack/admin/v2/tenant.pb.go b/go/metalstack/admin/v2/tenant.pb.go index 565fe5c1..dd590fbe 100644 --- a/go/metalstack/admin/v2/tenant.pb.go +++ b/go/metalstack/admin/v2/tenant.pb.go @@ -154,12 +154,8 @@ func (x *TenantServiceCreateResponse) GetTenant() *v2.Tenant { // TenantServiceListRequest is the request payload for listing tenants. type TenantServiceListRequest struct { state protoimpl.MessageState `protogen:"open.v1"` - // Login filters tenants by this login - Login *string `protobuf:"bytes,1,opt,name=login,proto3,oneof" json:"login,omitempty"` - // Name filters tenants by this name - Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` - // Paging details for the list request - Paging *v2.Paging `protobuf:"bytes,3,opt,name=paging,proto3" json:"paging,omitempty"` + // Query for tenants + Query *v2.TenantQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -194,23 +190,9 @@ func (*TenantServiceListRequest) Descriptor() ([]byte, []int) { return file_metalstack_admin_v2_tenant_proto_rawDescGZIP(), []int{2} } -func (x *TenantServiceListRequest) GetLogin() string { - if x != nil && x.Login != nil { - return *x.Login - } - return "" -} - -func (x *TenantServiceListRequest) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *TenantServiceListRequest) GetPaging() *v2.Paging { +func (x *TenantServiceListRequest) GetQuery() *v2.TenantQuery { if x != nil { - return x.Paging + return x.Query } return nil } @@ -274,25 +256,21 @@ var File_metalstack_admin_v2_tenant_proto protoreflect.FileDescriptor const file_metalstack_admin_v2_tenant_proto_rawDesc = "" + "\n" + - " metalstack/admin/v2/tenant.proto\x12\x13metalstack.admin.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\x95\x02\n" + + " metalstack/admin/v2/tenant.proto\x12\x13metalstack.admin.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\xa2\x02\n" + "\x1aTenantServiceCreateRequest\x12\x1f\n" + "\x04name\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x122\n" + "\vdescription\x18\x02 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01H\x00R\vdescription\x88\x01\x01\x12\"\n" + - "\x05email\x18\x03 \x01(\tB\a\xbaH\x04r\x02`\x01H\x01R\x05email\x88\x01\x01\x12\"\n" + + "\x05email\x18\x03 \x01(\tB\a\xbaH\x04r\x02`\x01H\x01R\x05email\x88\x01\x01\x12/\n" + "\n" + - "avatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x121\n" + + "avatar_url\x18\x04 \x01(\tB\v\xbaH\br\x06೮\xb1\x02\x01H\x02R\tavatarUrl\x88\x01\x01\x121\n" + "\x06labels\x18\x05 \x01(\v2\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n" + "\f_descriptionB\b\n" + "\x06_emailB\r\n" + "\v_avatar_url\"P\n" + "\x1bTenantServiceCreateResponse\x121\n" + - "\x06tenant\x18\x01 \x01(\v2\x19.metalstack.api.v2.TenantR\x06tenant\"\xa1\x01\n" + - "\x18TenantServiceListRequest\x12\x19\n" + - "\x05login\x18\x01 \x01(\tH\x00R\x05login\x88\x01\x01\x12$\n" + - "\x04name\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x121\n" + - "\x06paging\x18\x03 \x01(\v2\x19.metalstack.api.v2.PagingR\x06pagingB\b\n" + - "\x06_loginB\a\n" + - "\x05_name\"\x80\x01\n" + + "\x06tenant\x18\x01 \x01(\v2\x19.metalstack.api.v2.TenantR\x06tenant\"P\n" + + "\x18TenantServiceListRequest\x124\n" + + "\x05query\x18\x01 \x01(\v2\x1e.metalstack.api.v2.TenantQueryR\x05query\"\x80\x01\n" + "\x19TenantServiceListResponse\x123\n" + "\atenants\x18\x01 \x03(\v2\x19.metalstack.api.v2.TenantR\atenants\x12 \n" + "\tnext_page\x18\x02 \x01(\x04H\x00R\bnextPage\x88\x01\x01B\f\n" + @@ -324,12 +302,12 @@ var file_metalstack_admin_v2_tenant_proto_goTypes = []any{ (*TenantServiceListResponse)(nil), // 3: metalstack.admin.v2.TenantServiceListResponse (*v2.Labels)(nil), // 4: metalstack.api.v2.Labels (*v2.Tenant)(nil), // 5: metalstack.api.v2.Tenant - (*v2.Paging)(nil), // 6: metalstack.api.v2.Paging + (*v2.TenantQuery)(nil), // 6: metalstack.api.v2.TenantQuery } var file_metalstack_admin_v2_tenant_proto_depIdxs = []int32{ 4, // 0: metalstack.admin.v2.TenantServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels 5, // 1: metalstack.admin.v2.TenantServiceCreateResponse.tenant:type_name -> metalstack.api.v2.Tenant - 6, // 2: metalstack.admin.v2.TenantServiceListRequest.paging:type_name -> metalstack.api.v2.Paging + 6, // 2: metalstack.admin.v2.TenantServiceListRequest.query:type_name -> metalstack.api.v2.TenantQuery 5, // 3: metalstack.admin.v2.TenantServiceListResponse.tenants:type_name -> metalstack.api.v2.Tenant 0, // 4: metalstack.admin.v2.TenantService.Create:input_type -> metalstack.admin.v2.TenantServiceCreateRequest 2, // 5: metalstack.admin.v2.TenantService.List:input_type -> metalstack.admin.v2.TenantServiceListRequest @@ -348,7 +326,6 @@ func file_metalstack_admin_v2_tenant_proto_init() { return } file_metalstack_admin_v2_tenant_proto_msgTypes[0].OneofWrappers = []any{} - file_metalstack_admin_v2_tenant_proto_msgTypes[2].OneofWrappers = []any{} file_metalstack_admin_v2_tenant_proto_msgTypes[3].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ diff --git a/go/metalstack/api/v2/predefined_rules.pb.go b/go/metalstack/api/v2/predefined_rules.pb.go index 3adeddf1..b5e92590 100644 --- a/go/metalstack/api/v2/predefined_rules.pb.go +++ b/go/metalstack/api/v2/predefined_rules.pb.go @@ -110,6 +110,14 @@ var file_metalstack_api_v2_predefined_rules_proto_extTypes = []protoimpl.Extensi Tag: "varint,80048961,opt,name=is_key", Filename: "metalstack/api/v2/predefined_rules.proto", }, + { + ExtendedType: (*validate.StringRules)(nil), + ExtensionType: (*bool)(nil), + Field: 80048962, + Name: "metalstack.api.v2.is_tenant_login", + Tag: "varint,80048962,opt,name=is_tenant_login", + Filename: "metalstack/api/v2/predefined_rules.proto", + }, { ExtendedType: (*validate.RepeatedRules)(nil), ExtensionType: (*bool)(nil), @@ -206,6 +214,10 @@ var ( // // optional bool is_key = 80048961; E_IsKey = &file_metalstack_api_v2_predefined_rules_proto_extTypes[10] + // IsTenantLogin returns true if name field satisfies our requirements + // + // optional bool is_tenant_login = 80048962; + E_IsTenantLogin = &file_metalstack_api_v2_predefined_rules_proto_extTypes[11] ) // Extension fields to validate.RepeatedRules. @@ -213,19 +225,19 @@ var ( // Prefixes validates if a slice of prefixes in string form are valid // // optional bool prefixes = 80058951; - E_Prefixes = &file_metalstack_api_v2_predefined_rules_proto_extTypes[11] + E_Prefixes = &file_metalstack_api_v2_predefined_rules_proto_extTypes[12] // Ips validates if a slice of ips in string form are valid // // optional bool ips = 80058952; - E_Ips = &file_metalstack_api_v2_predefined_rules_proto_extTypes[12] + E_Ips = &file_metalstack_api_v2_predefined_rules_proto_extTypes[13] // AreHostAndPort validates if a slice of strings are all in the form of : // // optional bool are_host_and_port = 80058953; - E_AreHostAndPort = &file_metalstack_api_v2_predefined_rules_proto_extTypes[13] + E_AreHostAndPort = &file_metalstack_api_v2_predefined_rules_proto_extTypes[14] // All Trimmed enforces all strings to be trimmed, e.g. no whitespaces at the begin and end // // optional bool all_trimmed = 80058954; - E_AllTrimmed = &file_metalstack_api_v2_predefined_rules_proto_extTypes[14] + E_AllTrimmed = &file_metalstack_api_v2_predefined_rules_proto_extTypes[15] ) // Extension fields to validate.MapRules. @@ -233,11 +245,11 @@ var ( // Keys and Values trimmed enforces all map keys and values to be trimmed, e.g. no whitespaces at the begin and end // // optional bool keys_and_values_trimmed = 80068951; - E_KeysAndValuesTrimmed = &file_metalstack_api_v2_predefined_rules_proto_extTypes[15] + E_KeysAndValuesTrimmed = &file_metalstack_api_v2_predefined_rules_proto_extTypes[16] // Keys trimmed enforces all map keys and values to be trimmed, e.g. no whitespaces at the begin and end // // optional bool keys_trimmed = 80068952; - E_KeysTrimmed = &file_metalstack_api_v2_predefined_rules_proto_extTypes[16] + E_KeysTrimmed = &file_metalstack_api_v2_predefined_rules_proto_extTypes[17] ) var File_metalstack_api_v2_predefined_rules_proto protoreflect.FileDescriptor @@ -280,7 +292,10 @@ const file_metalstack_api_v2_predefined_rules_proto_rawDesc = "" + "\x10string.is_option\x12#must be within 1 and 128 characters\x1a&this.size() >= 1 && this.size() <= 128R\bisOption:\x98\x01\n" + "\x06is_key\x12\x19.buf.validate.StringRules\x18\xc1\xe6\x95& \x01(\bBc\xc2H`\n" + "^\n" + - "\rstring.is_key\x12$must be within 1 and 8192 characters\x1a'this.size() >= 1 && this.size() <= 8192R\x05isKey:\x8f\x01\n" + + "\rstring.is_key\x12$must be within 1 and 8192 characters\x1a'this.size() >= 1 && this.size() <= 8192R\x05isKey:\xb0\x01\n" + + "\x0fis_tenant_login\x12\x19.buf.validate.StringRules\x18\xc2\xe6\x95& \x01(\bBj\xc2Hg\n" + + "e\n" + + "\x16string.is_tenant_login\x12#must be within 2 and 256 characters\x1a&this.size() >= 2 && this.size() <= 256R\risTenantLogin:\x8f\x01\n" + "\bprefixes\x12\x1b.buf.validate.RepeatedRules\x18Ǵ\x96& \x01(\bBS\xc2HP\n" + "N\n" + "\x11repeated.prefixes\x12\x1cgiven prefixes must be valid\x1a\x1bthis.all(m, m.isIpPrefix())R\bprefixes:u\n" + @@ -319,16 +334,17 @@ var file_metalstack_api_v2_predefined_rules_proto_depIdxs = []int32{ 0, // 8: metalstack.api.v2.is_user:extendee -> buf.validate.StringRules 0, // 9: metalstack.api.v2.is_option:extendee -> buf.validate.StringRules 0, // 10: metalstack.api.v2.is_key:extendee -> buf.validate.StringRules - 1, // 11: metalstack.api.v2.prefixes:extendee -> buf.validate.RepeatedRules - 1, // 12: metalstack.api.v2.ips:extendee -> buf.validate.RepeatedRules - 1, // 13: metalstack.api.v2.are_host_and_port:extendee -> buf.validate.RepeatedRules - 1, // 14: metalstack.api.v2.all_trimmed:extendee -> buf.validate.RepeatedRules - 2, // 15: metalstack.api.v2.keys_and_values_trimmed:extendee -> buf.validate.MapRules - 2, // 16: metalstack.api.v2.keys_trimmed:extendee -> buf.validate.MapRules - 17, // [17:17] is the sub-list for method output_type - 17, // [17:17] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 0, // [0:17] is the sub-list for extension extendee + 0, // 11: metalstack.api.v2.is_tenant_login:extendee -> buf.validate.StringRules + 1, // 12: metalstack.api.v2.prefixes:extendee -> buf.validate.RepeatedRules + 1, // 13: metalstack.api.v2.ips:extendee -> buf.validate.RepeatedRules + 1, // 14: metalstack.api.v2.are_host_and_port:extendee -> buf.validate.RepeatedRules + 1, // 15: metalstack.api.v2.all_trimmed:extendee -> buf.validate.RepeatedRules + 2, // 16: metalstack.api.v2.keys_and_values_trimmed:extendee -> buf.validate.MapRules + 2, // 17: metalstack.api.v2.keys_trimmed:extendee -> buf.validate.MapRules + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 0, // [0:18] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } @@ -344,7 +360,7 @@ func file_metalstack_api_v2_predefined_rules_proto_init() { RawDescriptor: unsafe.Slice(unsafe.StringData(file_metalstack_api_v2_predefined_rules_proto_rawDesc), len(file_metalstack_api_v2_predefined_rules_proto_rawDesc)), NumEnums: 0, NumMessages: 0, - NumExtensions: 17, + NumExtensions: 18, NumServices: 0, }, GoTypes: file_metalstack_api_v2_predefined_rules_proto_goTypes, diff --git a/go/metalstack/api/v2/project.pb.go b/go/metalstack/api/v2/project.pb.go index 1bcacc3d..64111c40 100644 --- a/go/metalstack/api/v2/project.pb.go +++ b/go/metalstack/api/v2/project.pb.go @@ -1664,15 +1664,15 @@ var File_metalstack_api_v2_project_proto protoreflect.FileDescriptor const file_metalstack_api_v2_project_proto_rawDesc = "" + "\n" + - "\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xe5\x01\n" + + "\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xf2\x01\n" + "\aProject\x12\x12\n" + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12+\n" + "\x04meta\x18\x02 \x01(\v2\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n" + "\x04name\x18\x03 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n" + "\vdescription\x18\x04 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\vdescription\x12\x16\n" + - "\x06tenant\x18\x05 \x01(\tR\x06tenant\x12\"\n" + + "\x06tenant\x18\x05 \x01(\tR\x06tenant\x12/\n" + "\n" + - "avatar_url\x18\x06 \x01(\tH\x00R\tavatarUrl\x88\x01\x01B\r\n" + + "avatar_url\x18\x06 \x01(\tB\v\xbaH\br\x06೮\xb1\x02\x01H\x00R\tavatarUrl\x88\x01\x01B\r\n" + "\v_avatar_url\"\xf8\x01\n" + "\rProjectMember\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12<\n" + @@ -1708,13 +1708,13 @@ const file_metalstack_api_v2_project_proto_rawDesc = "" + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"\x9c\x01\n" + "\x19ProjectServiceGetResponse\x124\n" + "\aproject\x18\x01 \x01(\v2\x1a.metalstack.api.v2.ProjectR\aproject\x12I\n" + - "\x0fproject_members\x18\x02 \x03(\v2 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\xf6\x01\n" + + "\x0fproject_members\x18\x02 \x03(\v2 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\x83\x02\n" + "\x1bProjectServiceCreateRequest\x12!\n" + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x05login\x12\x1f\n" + "\x04name\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n" + - "\vdescription\x18\x03 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\vdescription\x12\"\n" + + "\vdescription\x18\x03 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\vdescription\x12/\n" + "\n" + - "avatar_url\x18\x04 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x121\n" + + "avatar_url\x18\x04 \x01(\tB\v\xbaH\br\x06೮\xb1\x02\x01H\x00R\tavatarUrl\x88\x01\x01\x121\n" + "\x06labels\x18\x05 \x01(\v2\x19.metalstack.api.v2.LabelsR\x06labelsB\r\n" + "\v_avatar_url\"T\n" + "\x1cProjectServiceCreateResponse\x124\n" + @@ -1722,15 +1722,15 @@ const file_metalstack_api_v2_project_proto_rawDesc = "" + "\x1bProjectServiceDeleteRequest\x12\"\n" + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"T\n" + "\x1cProjectServiceDeleteResponse\x124\n" + - "\aproject\x18\x01 \x01(\v2\x1a.metalstack.api.v2.ProjectR\aproject\"\xf8\x02\n" + + "\aproject\x18\x01 \x01(\v2\x1a.metalstack.api.v2.ProjectR\aproject\"\x85\x03\n" + "\x1bProjectServiceUpdateRequest\x12\"\n" + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12F\n" + "\vupdate_meta\x18\x02 \x01(\v2\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\n" + "updateMeta\x12$\n" + "\x04name\x18\x03 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x122\n" + - "\vdescription\x18\x04 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01H\x01R\vdescription\x88\x01\x01\x12\"\n" + + "\vdescription\x18\x04 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01H\x01R\vdescription\x88\x01\x01\x12/\n" + "\n" + - "avatar_url\x18\x05 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12<\n" + + "avatar_url\x18\x05 \x01(\tB\v\xbaH\br\x06೮\xb1\x02\x01H\x02R\tavatarUrl\x88\x01\x01\x12<\n" + "\x06labels\x18\x06 \x01(\v2\x1f.metalstack.api.v2.UpdateLabelsH\x03R\x06labels\x88\x01\x01B\a\n" + "\x05_nameB\x0e\n" + "\f_descriptionB\r\n" + diff --git a/go/metalstack/api/v2/tenant.pb.go b/go/metalstack/api/v2/tenant.pb.go index 7524633e..2501bbac 100644 --- a/go/metalstack/api/v2/tenant.pb.go +++ b/go/metalstack/api/v2/tenant.pb.go @@ -326,12 +326,8 @@ func (x *TenantInvite) GetJoinedAt() *timestamppb.Timestamp { // TenantServiceListRequest is the request payload of the tenant list request type TenantServiceListRequest struct { state protoimpl.MessageState `protogen:"open.v1"` - // Id filters tenants by id - Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` - // Name filters tenants by name - Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` - // Labels lists only projects containing the given labels - Labels *Labels `protobuf:"bytes,3,opt,name=labels,proto3,oneof" json:"labels,omitempty"` + // Query for tenants + Query *TenantQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -366,27 +362,86 @@ func (*TenantServiceListRequest) Descriptor() ([]byte, []int) { return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{3} } -func (x *TenantServiceListRequest) GetId() string { - if x != nil && x.Id != nil { - return *x.Id +func (x *TenantServiceListRequest) GetQuery() *TenantQuery { + if x != nil { + return x.Query + } + return nil +} + +// TenantQuery is used to search tenants +type TenantQuery struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Id filters tenants by login + Login *string `protobuf:"bytes,1,opt,name=login,proto3,oneof" json:"login,omitempty"` + // Name filters tenants by name + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Labels lists only projects containing the given labels + Labels *Labels `protobuf:"bytes,3,opt,name=labels,proto3,oneof" json:"labels,omitempty"` + // Paging details for the list request + Paging *Paging `protobuf:"bytes,4,opt,name=paging,proto3" json:"paging,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantQuery) Reset() { + *x = TenantQuery{} + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantQuery) ProtoMessage() {} + +func (x *TenantQuery) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TenantQuery.ProtoReflect.Descriptor instead. +func (*TenantQuery) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{4} +} + +func (x *TenantQuery) GetLogin() string { + if x != nil && x.Login != nil { + return *x.Login } return "" } -func (x *TenantServiceListRequest) GetName() string { +func (x *TenantQuery) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } -func (x *TenantServiceListRequest) GetLabels() *Labels { +func (x *TenantQuery) GetLabels() *Labels { if x != nil { return x.Labels } return nil } +func (x *TenantQuery) GetPaging() *Paging { + if x != nil { + return x.Paging + } + return nil +} + // TenantServiceGetRequest is the request payload of the tenant get request type TenantServiceGetRequest struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -398,7 +453,7 @@ type TenantServiceGetRequest struct { func (x *TenantServiceGetRequest) Reset() { *x = TenantServiceGetRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[4] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -410,7 +465,7 @@ func (x *TenantServiceGetRequest) String() string { func (*TenantServiceGetRequest) ProtoMessage() {} func (x *TenantServiceGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[4] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -423,7 +478,7 @@ func (x *TenantServiceGetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceGetRequest.ProtoReflect.Descriptor instead. func (*TenantServiceGetRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{4} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{5} } func (x *TenantServiceGetRequest) GetLogin() string { @@ -452,7 +507,7 @@ type TenantServiceCreateRequest struct { func (x *TenantServiceCreateRequest) Reset() { *x = TenantServiceCreateRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[5] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -464,7 +519,7 @@ func (x *TenantServiceCreateRequest) String() string { func (*TenantServiceCreateRequest) ProtoMessage() {} func (x *TenantServiceCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[5] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -477,7 +532,7 @@ func (x *TenantServiceCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceCreateRequest.ProtoReflect.Descriptor instead. func (*TenantServiceCreateRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{5} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{6} } func (x *TenantServiceCreateRequest) GetName() string { @@ -538,7 +593,7 @@ type TenantServiceUpdateRequest struct { func (x *TenantServiceUpdateRequest) Reset() { *x = TenantServiceUpdateRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[6] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -550,7 +605,7 @@ func (x *TenantServiceUpdateRequest) String() string { func (*TenantServiceUpdateRequest) ProtoMessage() {} func (x *TenantServiceUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[6] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -563,7 +618,7 @@ func (x *TenantServiceUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceUpdateRequest.ProtoReflect.Descriptor instead. func (*TenantServiceUpdateRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{6} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{7} } func (x *TenantServiceUpdateRequest) GetLogin() string { @@ -626,7 +681,7 @@ type TenantServiceDeleteRequest struct { func (x *TenantServiceDeleteRequest) Reset() { *x = TenantServiceDeleteRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[7] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -638,7 +693,7 @@ func (x *TenantServiceDeleteRequest) String() string { func (*TenantServiceDeleteRequest) ProtoMessage() {} func (x *TenantServiceDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[7] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -651,7 +706,7 @@ func (x *TenantServiceDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceDeleteRequest.ProtoReflect.Descriptor instead. func (*TenantServiceDeleteRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{7} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{8} } func (x *TenantServiceDeleteRequest) GetLogin() string { @@ -674,7 +729,7 @@ type TenantServiceGetResponse struct { func (x *TenantServiceGetResponse) Reset() { *x = TenantServiceGetResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[8] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -686,7 +741,7 @@ func (x *TenantServiceGetResponse) String() string { func (*TenantServiceGetResponse) ProtoMessage() {} func (x *TenantServiceGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[8] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -699,7 +754,7 @@ func (x *TenantServiceGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceGetResponse.ProtoReflect.Descriptor instead. func (*TenantServiceGetResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{8} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{9} } func (x *TenantServiceGetResponse) GetTenant() *Tenant { @@ -727,7 +782,7 @@ type TenantServiceListResponse struct { func (x *TenantServiceListResponse) Reset() { *x = TenantServiceListResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[9] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -739,7 +794,7 @@ func (x *TenantServiceListResponse) String() string { func (*TenantServiceListResponse) ProtoMessage() {} func (x *TenantServiceListResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[9] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -752,7 +807,7 @@ func (x *TenantServiceListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceListResponse.ProtoReflect.Descriptor instead. func (*TenantServiceListResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{9} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{10} } func (x *TenantServiceListResponse) GetTenants() []*Tenant { @@ -773,7 +828,7 @@ type TenantServiceCreateResponse struct { func (x *TenantServiceCreateResponse) Reset() { *x = TenantServiceCreateResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[10] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -785,7 +840,7 @@ func (x *TenantServiceCreateResponse) String() string { func (*TenantServiceCreateResponse) ProtoMessage() {} func (x *TenantServiceCreateResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[10] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -798,7 +853,7 @@ func (x *TenantServiceCreateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceCreateResponse.ProtoReflect.Descriptor instead. func (*TenantServiceCreateResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{10} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{11} } func (x *TenantServiceCreateResponse) GetTenant() *Tenant { @@ -819,7 +874,7 @@ type TenantServiceUpdateResponse struct { func (x *TenantServiceUpdateResponse) Reset() { *x = TenantServiceUpdateResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[11] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -831,7 +886,7 @@ func (x *TenantServiceUpdateResponse) String() string { func (*TenantServiceUpdateResponse) ProtoMessage() {} func (x *TenantServiceUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[11] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -844,7 +899,7 @@ func (x *TenantServiceUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceUpdateResponse.ProtoReflect.Descriptor instead. func (*TenantServiceUpdateResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{11} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{12} } func (x *TenantServiceUpdateResponse) GetTenant() *Tenant { @@ -865,7 +920,7 @@ type TenantServiceDeleteResponse struct { func (x *TenantServiceDeleteResponse) Reset() { *x = TenantServiceDeleteResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[12] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -877,7 +932,7 @@ func (x *TenantServiceDeleteResponse) String() string { func (*TenantServiceDeleteResponse) ProtoMessage() {} func (x *TenantServiceDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[12] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -890,7 +945,7 @@ func (x *TenantServiceDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceDeleteResponse.ProtoReflect.Descriptor instead. func (*TenantServiceDeleteResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{12} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{13} } func (x *TenantServiceDeleteResponse) GetTenant() *Tenant { @@ -913,7 +968,7 @@ type TenantServiceInviteRequest struct { func (x *TenantServiceInviteRequest) Reset() { *x = TenantServiceInviteRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[13] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -925,7 +980,7 @@ func (x *TenantServiceInviteRequest) String() string { func (*TenantServiceInviteRequest) ProtoMessage() {} func (x *TenantServiceInviteRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[13] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -938,7 +993,7 @@ func (x *TenantServiceInviteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceInviteRequest.ProtoReflect.Descriptor instead. func (*TenantServiceInviteRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{13} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{14} } func (x *TenantServiceInviteRequest) GetLogin() string { @@ -968,7 +1023,7 @@ type TenantServiceInviteResponse struct { func (x *TenantServiceInviteResponse) Reset() { *x = TenantServiceInviteResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[14] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -980,7 +1035,7 @@ func (x *TenantServiceInviteResponse) String() string { func (*TenantServiceInviteResponse) ProtoMessage() {} func (x *TenantServiceInviteResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[14] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -993,7 +1048,7 @@ func (x *TenantServiceInviteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceInviteResponse.ProtoReflect.Descriptor instead. func (*TenantServiceInviteResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{14} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{15} } func (x *TenantServiceInviteResponse) GetInvite() *TenantInvite { @@ -1014,7 +1069,7 @@ type TenantServiceInvitesListRequest struct { func (x *TenantServiceInvitesListRequest) Reset() { *x = TenantServiceInvitesListRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[15] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1026,7 +1081,7 @@ func (x *TenantServiceInvitesListRequest) String() string { func (*TenantServiceInvitesListRequest) ProtoMessage() {} func (x *TenantServiceInvitesListRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[15] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1039,7 +1094,7 @@ func (x *TenantServiceInvitesListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceInvitesListRequest.ProtoReflect.Descriptor instead. func (*TenantServiceInvitesListRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{15} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{16} } func (x *TenantServiceInvitesListRequest) GetLogin() string { @@ -1060,7 +1115,7 @@ type TenantServiceInvitesListResponse struct { func (x *TenantServiceInvitesListResponse) Reset() { *x = TenantServiceInvitesListResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[16] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1072,7 +1127,7 @@ func (x *TenantServiceInvitesListResponse) String() string { func (*TenantServiceInvitesListResponse) ProtoMessage() {} func (x *TenantServiceInvitesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[16] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1085,7 +1140,7 @@ func (x *TenantServiceInvitesListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceInvitesListResponse.ProtoReflect.Descriptor instead. func (*TenantServiceInvitesListResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{16} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{17} } func (x *TenantServiceInvitesListResponse) GetInvites() []*TenantInvite { @@ -1106,7 +1161,7 @@ type TenantServiceInviteGetRequest struct { func (x *TenantServiceInviteGetRequest) Reset() { *x = TenantServiceInviteGetRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[17] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1118,7 +1173,7 @@ func (x *TenantServiceInviteGetRequest) String() string { func (*TenantServiceInviteGetRequest) ProtoMessage() {} func (x *TenantServiceInviteGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[17] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1131,7 +1186,7 @@ func (x *TenantServiceInviteGetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceInviteGetRequest.ProtoReflect.Descriptor instead. func (*TenantServiceInviteGetRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{17} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{18} } func (x *TenantServiceInviteGetRequest) GetSecret() string { @@ -1152,7 +1207,7 @@ type TenantServiceInviteGetResponse struct { func (x *TenantServiceInviteGetResponse) Reset() { *x = TenantServiceInviteGetResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[18] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1164,7 +1219,7 @@ func (x *TenantServiceInviteGetResponse) String() string { func (*TenantServiceInviteGetResponse) ProtoMessage() {} func (x *TenantServiceInviteGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[18] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1177,7 +1232,7 @@ func (x *TenantServiceInviteGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceInviteGetResponse.ProtoReflect.Descriptor instead. func (*TenantServiceInviteGetResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{18} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{19} } func (x *TenantServiceInviteGetResponse) GetInvite() *TenantInvite { @@ -1200,7 +1255,7 @@ type TenantServiceRemoveMemberRequest struct { func (x *TenantServiceRemoveMemberRequest) Reset() { *x = TenantServiceRemoveMemberRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[19] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1212,7 +1267,7 @@ func (x *TenantServiceRemoveMemberRequest) String() string { func (*TenantServiceRemoveMemberRequest) ProtoMessage() {} func (x *TenantServiceRemoveMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[19] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1225,7 +1280,7 @@ func (x *TenantServiceRemoveMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceRemoveMemberRequest.ProtoReflect.Descriptor instead. func (*TenantServiceRemoveMemberRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{19} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{20} } func (x *TenantServiceRemoveMemberRequest) GetLogin() string { @@ -1253,7 +1308,7 @@ type TenantServiceLeaveRequest struct { func (x *TenantServiceLeaveRequest) Reset() { *x = TenantServiceLeaveRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[20] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1265,7 +1320,7 @@ func (x *TenantServiceLeaveRequest) String() string { func (*TenantServiceLeaveRequest) ProtoMessage() {} func (x *TenantServiceLeaveRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[20] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1278,7 +1333,7 @@ func (x *TenantServiceLeaveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceLeaveRequest.ProtoReflect.Descriptor instead. func (*TenantServiceLeaveRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{20} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{21} } func (x *TenantServiceLeaveRequest) GetLogin() string { @@ -1297,7 +1352,7 @@ type TenantServiceLeaveResponse struct { func (x *TenantServiceLeaveResponse) Reset() { *x = TenantServiceLeaveResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[21] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1309,7 +1364,7 @@ func (x *TenantServiceLeaveResponse) String() string { func (*TenantServiceLeaveResponse) ProtoMessage() {} func (x *TenantServiceLeaveResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[21] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1322,7 +1377,7 @@ func (x *TenantServiceLeaveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceLeaveResponse.ProtoReflect.Descriptor instead. func (*TenantServiceLeaveResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{21} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{22} } // TenantServiceRemoveMemberResponse is the response payload to a remove member request @@ -1334,7 +1389,7 @@ type TenantServiceRemoveMemberResponse struct { func (x *TenantServiceRemoveMemberResponse) Reset() { *x = TenantServiceRemoveMemberResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[22] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1346,7 +1401,7 @@ func (x *TenantServiceRemoveMemberResponse) String() string { func (*TenantServiceRemoveMemberResponse) ProtoMessage() {} func (x *TenantServiceRemoveMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[22] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1359,7 +1414,7 @@ func (x *TenantServiceRemoveMemberResponse) ProtoReflect() protoreflect.Message // Deprecated: Use TenantServiceRemoveMemberResponse.ProtoReflect.Descriptor instead. func (*TenantServiceRemoveMemberResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{22} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{23} } // TenantServiceInviteAcceptRequest is the request payload to a accept invite request @@ -1373,7 +1428,7 @@ type TenantServiceInviteAcceptRequest struct { func (x *TenantServiceInviteAcceptRequest) Reset() { *x = TenantServiceInviteAcceptRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[23] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1385,7 +1440,7 @@ func (x *TenantServiceInviteAcceptRequest) String() string { func (*TenantServiceInviteAcceptRequest) ProtoMessage() {} func (x *TenantServiceInviteAcceptRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[23] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1398,7 +1453,7 @@ func (x *TenantServiceInviteAcceptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceInviteAcceptRequest.ProtoReflect.Descriptor instead. func (*TenantServiceInviteAcceptRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{23} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{24} } func (x *TenantServiceInviteAcceptRequest) GetSecret() string { @@ -1421,7 +1476,7 @@ type TenantServiceInviteAcceptResponse struct { func (x *TenantServiceInviteAcceptResponse) Reset() { *x = TenantServiceInviteAcceptResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[24] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1433,7 +1488,7 @@ func (x *TenantServiceInviteAcceptResponse) String() string { func (*TenantServiceInviteAcceptResponse) ProtoMessage() {} func (x *TenantServiceInviteAcceptResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[24] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1446,7 +1501,7 @@ func (x *TenantServiceInviteAcceptResponse) ProtoReflect() protoreflect.Message // Deprecated: Use TenantServiceInviteAcceptResponse.ProtoReflect.Descriptor instead. func (*TenantServiceInviteAcceptResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{24} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{25} } func (x *TenantServiceInviteAcceptResponse) GetTenant() string { @@ -1476,7 +1531,7 @@ type TenantServiceInviteDeleteRequest struct { func (x *TenantServiceInviteDeleteRequest) Reset() { *x = TenantServiceInviteDeleteRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[25] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1488,7 +1543,7 @@ func (x *TenantServiceInviteDeleteRequest) String() string { func (*TenantServiceInviteDeleteRequest) ProtoMessage() {} func (x *TenantServiceInviteDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[25] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1501,7 +1556,7 @@ func (x *TenantServiceInviteDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceInviteDeleteRequest.ProtoReflect.Descriptor instead. func (*TenantServiceInviteDeleteRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{25} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{26} } func (x *TenantServiceInviteDeleteRequest) GetLogin() string { @@ -1527,7 +1582,7 @@ type TenantServiceInviteDeleteResponse struct { func (x *TenantServiceInviteDeleteResponse) Reset() { *x = TenantServiceInviteDeleteResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[26] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1539,7 +1594,7 @@ func (x *TenantServiceInviteDeleteResponse) String() string { func (*TenantServiceInviteDeleteResponse) ProtoMessage() {} func (x *TenantServiceInviteDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[26] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1552,7 +1607,7 @@ func (x *TenantServiceInviteDeleteResponse) ProtoReflect() protoreflect.Message // Deprecated: Use TenantServiceInviteDeleteResponse.ProtoReflect.Descriptor instead. func (*TenantServiceInviteDeleteResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{26} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{27} } // TenantServiceUpdateMemberRequest is used to update a member from a tenant @@ -1570,7 +1625,7 @@ type TenantServiceUpdateMemberRequest struct { func (x *TenantServiceUpdateMemberRequest) Reset() { *x = TenantServiceUpdateMemberRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[27] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1582,7 +1637,7 @@ func (x *TenantServiceUpdateMemberRequest) String() string { func (*TenantServiceUpdateMemberRequest) ProtoMessage() {} func (x *TenantServiceUpdateMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[27] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1595,7 +1650,7 @@ func (x *TenantServiceUpdateMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceUpdateMemberRequest.ProtoReflect.Descriptor instead. func (*TenantServiceUpdateMemberRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{27} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{28} } func (x *TenantServiceUpdateMemberRequest) GetLogin() string { @@ -1630,7 +1685,7 @@ type TenantServiceUpdateMemberResponse struct { func (x *TenantServiceUpdateMemberResponse) Reset() { *x = TenantServiceUpdateMemberResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[28] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1642,7 +1697,7 @@ func (x *TenantServiceUpdateMemberResponse) String() string { func (*TenantServiceUpdateMemberResponse) ProtoMessage() {} func (x *TenantServiceUpdateMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[28] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1655,7 +1710,7 @@ func (x *TenantServiceUpdateMemberResponse) ProtoReflect() protoreflect.Message // Deprecated: Use TenantServiceUpdateMemberResponse.ProtoReflect.Descriptor instead. func (*TenantServiceUpdateMemberResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{28} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{29} } func (x *TenantServiceUpdateMemberResponse) GetTenantMember() *TenantMember { @@ -1669,19 +1724,19 @@ var File_metalstack_api_v2_tenant_proto protoreflect.FileDescriptor const file_metalstack_api_v2_tenant_proto_rawDesc = "" + "\n" + - "\x1emetalstack/api/v2/tenant.proto\x12\x11metalstack.api.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xef\x01\n" + - "\x06Tenant\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\x12+\n" + + "\x1emetalstack/api/v2/tenant.proto\x12\x11metalstack.api.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\x92\x02\n" + + "\x06Tenant\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12+\n" + "\x04meta\x18\x02 \x01(\v2\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n" + - "\x04name\x18\x03 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x14\n" + - "\x05email\x18\x04 \x01(\tR\x05email\x12-\n" + - "\vdescription\x18\x05 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\vdescription\x12\x1d\n" + + "\x04name\x18\x03 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x1d\n" + + "\x05email\x18\x04 \x01(\tB\a\xbaH\x04r\x02`\x01R\x05email\x12-\n" + + "\vdescription\x18\x05 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\vdescription\x12*\n" + "\n" + - "avatar_url\x18\x06 \x01(\tR\tavatarUrl\x12\x1d\n" + + "avatar_url\x18\x06 \x01(\tB\v\xbaH\br\x06೮\xb1\x02\x01R\tavatarUrl\x12\x1d\n" + "\n" + - "created_by\x18\a \x01(\tR\tcreatedBy\"\xdf\x01\n" + - "\fTenantMember\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12;\n" + + "created_by\x18\a \x01(\tR\tcreatedBy\"\xec\x01\n" + + "\fTenantMember\x12\x1b\n" + + "\x02id\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x02id\x12;\n" + "\x04role\x18\x02 \x01(\x0e2\x1d.metalstack.api.v2.TenantRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x1a\n" + "\bprojects\x18\x03 \x03(\tR\bprojects\x129\n" + "\n" + @@ -1698,43 +1753,46 @@ const file_metalstack_api_v2_tenant_proto_rawDesc = "" + "tenantName\x129\n" + "\n" + "expires_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x127\n" + - "\tjoined_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\bjoinedAt\"\xa8\x01\n" + - "\x18TenantServiceListRequest\x12\x13\n" + - "\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12$\n" + + "\tjoined_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\bjoinedAt\"P\n" + + "\x18TenantServiceListRequest\x124\n" + + "\x05query\x18\x01 \x01(\v2\x1e.metalstack.api.v2.TenantQueryR\x05query\"\xe4\x01\n" + + "\vTenantQuery\x12&\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01H\x00R\x05login\x88\x01\x01\x12$\n" + "\x04name\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x126\n" + - "\x06labels\x18\x03 \x01(\v2\x19.metalstack.api.v2.LabelsH\x02R\x06labels\x88\x01\x01B\x05\n" + - "\x03_idB\a\n" + + "\x06labels\x18\x03 \x01(\v2\x19.metalstack.api.v2.LabelsH\x02R\x06labels\x88\x01\x01\x121\n" + + "\x06paging\x18\x04 \x01(\v2\x19.metalstack.api.v2.PagingR\x06pagingB\b\n" + + "\x06_loginB\a\n" + "\x05_nameB\t\n" + "\a_labels\"/\n" + "\x17TenantServiceGetRequest\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\"\x95\x02\n" + + "\x05login\x18\x01 \x01(\tR\x05login\"\xa2\x02\n" + "\x1aTenantServiceCreateRequest\x12\x1f\n" + "\x04name\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x122\n" + "\vdescription\x18\x02 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01H\x00R\vdescription\x88\x01\x01\x12\"\n" + - "\x05email\x18\x03 \x01(\tB\a\xbaH\x04r\x02`\x01H\x01R\x05email\x88\x01\x01\x12\"\n" + + "\x05email\x18\x03 \x01(\tB\a\xbaH\x04r\x02`\x01H\x01R\x05email\x88\x01\x01\x12/\n" + "\n" + - "avatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x121\n" + + "avatar_url\x18\x04 \x01(\tB\v\xbaH\br\x06೮\xb1\x02\x01H\x02R\tavatarUrl\x88\x01\x01\x121\n" + "\x06labels\x18\x05 \x01(\v2\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n" + "\f_descriptionB\b\n" + "\x06_emailB\r\n" + - "\v_avatar_url\"\x97\x03\n" + - "\x1aTenantServiceUpdateRequest\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\x12F\n" + + "\v_avatar_url\"\xb1\x03\n" + + "\x1aTenantServiceUpdateRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12F\n" + "\vupdate_meta\x18\x02 \x01(\v2\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\n" + "updateMeta\x12$\n" + "\x04name\x18\x03 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\"\n" + "\x05email\x18\x04 \x01(\tB\a\xbaH\x04r\x02`\x01H\x01R\x05email\x88\x01\x01\x122\n" + - "\vdescription\x18\x05 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01H\x02R\vdescription\x88\x01\x01\x12\"\n" + + "\vdescription\x18\x05 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01H\x02R\vdescription\x88\x01\x01\x12/\n" + "\n" + - "avatar_url\x18\x06 \x01(\tH\x03R\tavatarUrl\x88\x01\x01\x12<\n" + + "avatar_url\x18\x06 \x01(\tB\v\xbaH\br\x06೮\xb1\x02\x01H\x03R\tavatarUrl\x88\x01\x01\x12<\n" + "\x06labels\x18\a \x01(\v2\x1f.metalstack.api.v2.UpdateLabelsH\x04R\x06labels\x88\x01\x01B\a\n" + "\x05_nameB\b\n" + "\x06_emailB\x0e\n" + "\f_descriptionB\r\n" + "\v_avatar_urlB\t\n" + - "\a_labels\"2\n" + - "\x1aTenantServiceDeleteRequest\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\"\x95\x01\n" + + "\a_labels\"?\n" + + "\x1aTenantServiceDeleteRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"\x95\x01\n" + "\x18TenantServiceGetResponse\x121\n" + "\x06tenant\x18\x01 \x01(\v2\x19.metalstack.api.v2.TenantR\x06tenant\x12F\n" + "\x0etenant_members\x18\x02 \x03(\v2\x1f.metalstack.api.v2.TenantMemberR\rtenantMembers\"P\n" + @@ -1745,25 +1803,25 @@ const file_metalstack_api_v2_tenant_proto_rawDesc = "" + "\x1bTenantServiceUpdateResponse\x121\n" + "\x06tenant\x18\x01 \x01(\v2\x19.metalstack.api.v2.TenantR\x06tenant\"P\n" + "\x1bTenantServiceDeleteResponse\x121\n" + - "\x06tenant\x18\x01 \x01(\v2\x19.metalstack.api.v2.TenantR\x06tenant\"o\n" + - "\x1aTenantServiceInviteRequest\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\x12;\n" + + "\x06tenant\x18\x01 \x01(\v2\x19.metalstack.api.v2.TenantR\x06tenant\"|\n" + + "\x1aTenantServiceInviteRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12;\n" + "\x04role\x18\x02 \x01(\x0e2\x1d.metalstack.api.v2.TenantRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"V\n" + "\x1bTenantServiceInviteResponse\x127\n" + - "\x06invite\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantInviteR\x06invite\"7\n" + - "\x1fTenantServiceInvitesListRequest\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\"]\n" + + "\x06invite\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantInviteR\x06invite\"D\n" + + "\x1fTenantServiceInvitesListRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"]\n" + " TenantServiceInvitesListResponse\x129\n" + "\ainvites\x18\x01 \x03(\v2\x1f.metalstack.api.v2.TenantInviteR\ainvites\"7\n" + "\x1dTenantServiceInviteGetRequest\x12\x16\n" + "\x06secret\x18\x01 \x01(\tR\x06secret\"Y\n" + "\x1eTenantServiceInviteGetResponse\x127\n" + - "\x06invite\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantInviteR\x06invite\"P\n" + - " TenantServiceRemoveMemberRequest\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n" + - "\x06member\x18\x02 \x01(\tR\x06member\"1\n" + - "\x19TenantServiceLeaveRequest\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\"\x1c\n" + + "\x06invite\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantInviteR\x06invite\"]\n" + + " TenantServiceRemoveMemberRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12\x16\n" + + "\x06member\x18\x02 \x01(\tR\x06member\">\n" + + "\x19TenantServiceLeaveRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"\x1c\n" + "\x1aTenantServiceLeaveResponse\"#\n" + "!TenantServiceRemoveMemberResponse\":\n" + " TenantServiceInviteAcceptRequest\x12\x16\n" + @@ -1771,14 +1829,14 @@ const file_metalstack_api_v2_tenant_proto_rawDesc = "" + "!TenantServiceInviteAcceptResponse\x12\x16\n" + "\x06tenant\x18\x01 \x01(\tR\x06tenant\x12\x1f\n" + "\vtenant_name\x18\x02 \x01(\tR\n" + - "tenantName\"P\n" + - " TenantServiceInviteDeleteRequest\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n" + + "tenantName\"]\n" + + " TenantServiceInviteDeleteRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12\x16\n" + "\x06secret\x18\x02 \x01(\tR\x06secret\"#\n" + - "!TenantServiceInviteDeleteResponse\"\x8d\x01\n" + - " TenantServiceUpdateMemberRequest\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n" + - "\x06member\x18\x02 \x01(\tR\x06member\x12;\n" + + "!TenantServiceInviteDeleteResponse\"\xa7\x01\n" + + " TenantServiceUpdateMemberRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12#\n" + + "\x06member\x18\x02 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06member\x12;\n" + "\x04role\x18\x03 \x01(\x0e2\x1d.metalstack.api.v2.TenantRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"i\n" + "!TenantServiceUpdateMemberResponse\x12D\n" + "\rtenant_member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\ftenantMember2\xc7\f\n" + @@ -1812,99 +1870,103 @@ func file_metalstack_api_v2_tenant_proto_rawDescGZIP() []byte { return file_metalstack_api_v2_tenant_proto_rawDescData } -var file_metalstack_api_v2_tenant_proto_msgTypes = make([]protoimpl.MessageInfo, 29) +var file_metalstack_api_v2_tenant_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_metalstack_api_v2_tenant_proto_goTypes = []any{ (*Tenant)(nil), // 0: metalstack.api.v2.Tenant (*TenantMember)(nil), // 1: metalstack.api.v2.TenantMember (*TenantInvite)(nil), // 2: metalstack.api.v2.TenantInvite (*TenantServiceListRequest)(nil), // 3: metalstack.api.v2.TenantServiceListRequest - (*TenantServiceGetRequest)(nil), // 4: metalstack.api.v2.TenantServiceGetRequest - (*TenantServiceCreateRequest)(nil), // 5: metalstack.api.v2.TenantServiceCreateRequest - (*TenantServiceUpdateRequest)(nil), // 6: metalstack.api.v2.TenantServiceUpdateRequest - (*TenantServiceDeleteRequest)(nil), // 7: metalstack.api.v2.TenantServiceDeleteRequest - (*TenantServiceGetResponse)(nil), // 8: metalstack.api.v2.TenantServiceGetResponse - (*TenantServiceListResponse)(nil), // 9: metalstack.api.v2.TenantServiceListResponse - (*TenantServiceCreateResponse)(nil), // 10: metalstack.api.v2.TenantServiceCreateResponse - (*TenantServiceUpdateResponse)(nil), // 11: metalstack.api.v2.TenantServiceUpdateResponse - (*TenantServiceDeleteResponse)(nil), // 12: metalstack.api.v2.TenantServiceDeleteResponse - (*TenantServiceInviteRequest)(nil), // 13: metalstack.api.v2.TenantServiceInviteRequest - (*TenantServiceInviteResponse)(nil), // 14: metalstack.api.v2.TenantServiceInviteResponse - (*TenantServiceInvitesListRequest)(nil), // 15: metalstack.api.v2.TenantServiceInvitesListRequest - (*TenantServiceInvitesListResponse)(nil), // 16: metalstack.api.v2.TenantServiceInvitesListResponse - (*TenantServiceInviteGetRequest)(nil), // 17: metalstack.api.v2.TenantServiceInviteGetRequest - (*TenantServiceInviteGetResponse)(nil), // 18: metalstack.api.v2.TenantServiceInviteGetResponse - (*TenantServiceRemoveMemberRequest)(nil), // 19: metalstack.api.v2.TenantServiceRemoveMemberRequest - (*TenantServiceLeaveRequest)(nil), // 20: metalstack.api.v2.TenantServiceLeaveRequest - (*TenantServiceLeaveResponse)(nil), // 21: metalstack.api.v2.TenantServiceLeaveResponse - (*TenantServiceRemoveMemberResponse)(nil), // 22: metalstack.api.v2.TenantServiceRemoveMemberResponse - (*TenantServiceInviteAcceptRequest)(nil), // 23: metalstack.api.v2.TenantServiceInviteAcceptRequest - (*TenantServiceInviteAcceptResponse)(nil), // 24: metalstack.api.v2.TenantServiceInviteAcceptResponse - (*TenantServiceInviteDeleteRequest)(nil), // 25: metalstack.api.v2.TenantServiceInviteDeleteRequest - (*TenantServiceInviteDeleteResponse)(nil), // 26: metalstack.api.v2.TenantServiceInviteDeleteResponse - (*TenantServiceUpdateMemberRequest)(nil), // 27: metalstack.api.v2.TenantServiceUpdateMemberRequest - (*TenantServiceUpdateMemberResponse)(nil), // 28: metalstack.api.v2.TenantServiceUpdateMemberResponse - (*Meta)(nil), // 29: metalstack.api.v2.Meta - (TenantRole)(0), // 30: metalstack.api.v2.TenantRole - (*timestamppb.Timestamp)(nil), // 31: google.protobuf.Timestamp - (*Labels)(nil), // 32: metalstack.api.v2.Labels - (*UpdateMeta)(nil), // 33: metalstack.api.v2.UpdateMeta - (*UpdateLabels)(nil), // 34: metalstack.api.v2.UpdateLabels + (*TenantQuery)(nil), // 4: metalstack.api.v2.TenantQuery + (*TenantServiceGetRequest)(nil), // 5: metalstack.api.v2.TenantServiceGetRequest + (*TenantServiceCreateRequest)(nil), // 6: metalstack.api.v2.TenantServiceCreateRequest + (*TenantServiceUpdateRequest)(nil), // 7: metalstack.api.v2.TenantServiceUpdateRequest + (*TenantServiceDeleteRequest)(nil), // 8: metalstack.api.v2.TenantServiceDeleteRequest + (*TenantServiceGetResponse)(nil), // 9: metalstack.api.v2.TenantServiceGetResponse + (*TenantServiceListResponse)(nil), // 10: metalstack.api.v2.TenantServiceListResponse + (*TenantServiceCreateResponse)(nil), // 11: metalstack.api.v2.TenantServiceCreateResponse + (*TenantServiceUpdateResponse)(nil), // 12: metalstack.api.v2.TenantServiceUpdateResponse + (*TenantServiceDeleteResponse)(nil), // 13: metalstack.api.v2.TenantServiceDeleteResponse + (*TenantServiceInviteRequest)(nil), // 14: metalstack.api.v2.TenantServiceInviteRequest + (*TenantServiceInviteResponse)(nil), // 15: metalstack.api.v2.TenantServiceInviteResponse + (*TenantServiceInvitesListRequest)(nil), // 16: metalstack.api.v2.TenantServiceInvitesListRequest + (*TenantServiceInvitesListResponse)(nil), // 17: metalstack.api.v2.TenantServiceInvitesListResponse + (*TenantServiceInviteGetRequest)(nil), // 18: metalstack.api.v2.TenantServiceInviteGetRequest + (*TenantServiceInviteGetResponse)(nil), // 19: metalstack.api.v2.TenantServiceInviteGetResponse + (*TenantServiceRemoveMemberRequest)(nil), // 20: metalstack.api.v2.TenantServiceRemoveMemberRequest + (*TenantServiceLeaveRequest)(nil), // 21: metalstack.api.v2.TenantServiceLeaveRequest + (*TenantServiceLeaveResponse)(nil), // 22: metalstack.api.v2.TenantServiceLeaveResponse + (*TenantServiceRemoveMemberResponse)(nil), // 23: metalstack.api.v2.TenantServiceRemoveMemberResponse + (*TenantServiceInviteAcceptRequest)(nil), // 24: metalstack.api.v2.TenantServiceInviteAcceptRequest + (*TenantServiceInviteAcceptResponse)(nil), // 25: metalstack.api.v2.TenantServiceInviteAcceptResponse + (*TenantServiceInviteDeleteRequest)(nil), // 26: metalstack.api.v2.TenantServiceInviteDeleteRequest + (*TenantServiceInviteDeleteResponse)(nil), // 27: metalstack.api.v2.TenantServiceInviteDeleteResponse + (*TenantServiceUpdateMemberRequest)(nil), // 28: metalstack.api.v2.TenantServiceUpdateMemberRequest + (*TenantServiceUpdateMemberResponse)(nil), // 29: metalstack.api.v2.TenantServiceUpdateMemberResponse + (*Meta)(nil), // 30: metalstack.api.v2.Meta + (TenantRole)(0), // 31: metalstack.api.v2.TenantRole + (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp + (*Labels)(nil), // 33: metalstack.api.v2.Labels + (*Paging)(nil), // 34: metalstack.api.v2.Paging + (*UpdateMeta)(nil), // 35: metalstack.api.v2.UpdateMeta + (*UpdateLabels)(nil), // 36: metalstack.api.v2.UpdateLabels } var file_metalstack_api_v2_tenant_proto_depIdxs = []int32{ - 29, // 0: metalstack.api.v2.Tenant.meta:type_name -> metalstack.api.v2.Meta - 30, // 1: metalstack.api.v2.TenantMember.role:type_name -> metalstack.api.v2.TenantRole - 31, // 2: metalstack.api.v2.TenantMember.created_at:type_name -> google.protobuf.Timestamp - 29, // 3: metalstack.api.v2.TenantMember.meta:type_name -> metalstack.api.v2.Meta - 30, // 4: metalstack.api.v2.TenantInvite.role:type_name -> metalstack.api.v2.TenantRole - 31, // 5: metalstack.api.v2.TenantInvite.expires_at:type_name -> google.protobuf.Timestamp - 31, // 6: metalstack.api.v2.TenantInvite.joined_at:type_name -> google.protobuf.Timestamp - 32, // 7: metalstack.api.v2.TenantServiceListRequest.labels:type_name -> metalstack.api.v2.Labels - 32, // 8: metalstack.api.v2.TenantServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels - 33, // 9: metalstack.api.v2.TenantServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta - 34, // 10: metalstack.api.v2.TenantServiceUpdateRequest.labels:type_name -> metalstack.api.v2.UpdateLabels - 0, // 11: metalstack.api.v2.TenantServiceGetResponse.tenant:type_name -> metalstack.api.v2.Tenant - 1, // 12: metalstack.api.v2.TenantServiceGetResponse.tenant_members:type_name -> metalstack.api.v2.TenantMember - 0, // 13: metalstack.api.v2.TenantServiceListResponse.tenants:type_name -> metalstack.api.v2.Tenant - 0, // 14: metalstack.api.v2.TenantServiceCreateResponse.tenant:type_name -> metalstack.api.v2.Tenant - 0, // 15: metalstack.api.v2.TenantServiceUpdateResponse.tenant:type_name -> metalstack.api.v2.Tenant - 0, // 16: metalstack.api.v2.TenantServiceDeleteResponse.tenant:type_name -> metalstack.api.v2.Tenant - 30, // 17: metalstack.api.v2.TenantServiceInviteRequest.role:type_name -> metalstack.api.v2.TenantRole - 2, // 18: metalstack.api.v2.TenantServiceInviteResponse.invite:type_name -> metalstack.api.v2.TenantInvite - 2, // 19: metalstack.api.v2.TenantServiceInvitesListResponse.invites:type_name -> metalstack.api.v2.TenantInvite - 2, // 20: metalstack.api.v2.TenantServiceInviteGetResponse.invite:type_name -> metalstack.api.v2.TenantInvite - 30, // 21: metalstack.api.v2.TenantServiceUpdateMemberRequest.role:type_name -> metalstack.api.v2.TenantRole - 1, // 22: metalstack.api.v2.TenantServiceUpdateMemberResponse.tenant_member:type_name -> metalstack.api.v2.TenantMember - 5, // 23: metalstack.api.v2.TenantService.Create:input_type -> metalstack.api.v2.TenantServiceCreateRequest - 3, // 24: metalstack.api.v2.TenantService.List:input_type -> metalstack.api.v2.TenantServiceListRequest - 4, // 25: metalstack.api.v2.TenantService.Get:input_type -> metalstack.api.v2.TenantServiceGetRequest - 6, // 26: metalstack.api.v2.TenantService.Update:input_type -> metalstack.api.v2.TenantServiceUpdateRequest - 7, // 27: metalstack.api.v2.TenantService.Delete:input_type -> metalstack.api.v2.TenantServiceDeleteRequest - 20, // 28: metalstack.api.v2.TenantService.Leave:input_type -> metalstack.api.v2.TenantServiceLeaveRequest - 19, // 29: metalstack.api.v2.TenantService.RemoveMember:input_type -> metalstack.api.v2.TenantServiceRemoveMemberRequest - 27, // 30: metalstack.api.v2.TenantService.UpdateMember:input_type -> metalstack.api.v2.TenantServiceUpdateMemberRequest - 13, // 31: metalstack.api.v2.TenantService.Invite:input_type -> metalstack.api.v2.TenantServiceInviteRequest - 23, // 32: metalstack.api.v2.TenantService.InviteAccept:input_type -> metalstack.api.v2.TenantServiceInviteAcceptRequest - 25, // 33: metalstack.api.v2.TenantService.InviteDelete:input_type -> metalstack.api.v2.TenantServiceInviteDeleteRequest - 15, // 34: metalstack.api.v2.TenantService.InvitesList:input_type -> metalstack.api.v2.TenantServiceInvitesListRequest - 17, // 35: metalstack.api.v2.TenantService.InviteGet:input_type -> metalstack.api.v2.TenantServiceInviteGetRequest - 10, // 36: metalstack.api.v2.TenantService.Create:output_type -> metalstack.api.v2.TenantServiceCreateResponse - 9, // 37: metalstack.api.v2.TenantService.List:output_type -> metalstack.api.v2.TenantServiceListResponse - 8, // 38: metalstack.api.v2.TenantService.Get:output_type -> metalstack.api.v2.TenantServiceGetResponse - 11, // 39: metalstack.api.v2.TenantService.Update:output_type -> metalstack.api.v2.TenantServiceUpdateResponse - 12, // 40: metalstack.api.v2.TenantService.Delete:output_type -> metalstack.api.v2.TenantServiceDeleteResponse - 21, // 41: metalstack.api.v2.TenantService.Leave:output_type -> metalstack.api.v2.TenantServiceLeaveResponse - 22, // 42: metalstack.api.v2.TenantService.RemoveMember:output_type -> metalstack.api.v2.TenantServiceRemoveMemberResponse - 28, // 43: metalstack.api.v2.TenantService.UpdateMember:output_type -> metalstack.api.v2.TenantServiceUpdateMemberResponse - 14, // 44: metalstack.api.v2.TenantService.Invite:output_type -> metalstack.api.v2.TenantServiceInviteResponse - 24, // 45: metalstack.api.v2.TenantService.InviteAccept:output_type -> metalstack.api.v2.TenantServiceInviteAcceptResponse - 26, // 46: metalstack.api.v2.TenantService.InviteDelete:output_type -> metalstack.api.v2.TenantServiceInviteDeleteResponse - 16, // 47: metalstack.api.v2.TenantService.InvitesList:output_type -> metalstack.api.v2.TenantServiceInvitesListResponse - 18, // 48: metalstack.api.v2.TenantService.InviteGet:output_type -> metalstack.api.v2.TenantServiceInviteGetResponse - 36, // [36:49] is the sub-list for method output_type - 23, // [23:36] is the sub-list for method input_type - 23, // [23:23] is the sub-list for extension type_name - 23, // [23:23] is the sub-list for extension extendee - 0, // [0:23] is the sub-list for field type_name + 30, // 0: metalstack.api.v2.Tenant.meta:type_name -> metalstack.api.v2.Meta + 31, // 1: metalstack.api.v2.TenantMember.role:type_name -> metalstack.api.v2.TenantRole + 32, // 2: metalstack.api.v2.TenantMember.created_at:type_name -> google.protobuf.Timestamp + 30, // 3: metalstack.api.v2.TenantMember.meta:type_name -> metalstack.api.v2.Meta + 31, // 4: metalstack.api.v2.TenantInvite.role:type_name -> metalstack.api.v2.TenantRole + 32, // 5: metalstack.api.v2.TenantInvite.expires_at:type_name -> google.protobuf.Timestamp + 32, // 6: metalstack.api.v2.TenantInvite.joined_at:type_name -> google.protobuf.Timestamp + 4, // 7: metalstack.api.v2.TenantServiceListRequest.query:type_name -> metalstack.api.v2.TenantQuery + 33, // 8: metalstack.api.v2.TenantQuery.labels:type_name -> metalstack.api.v2.Labels + 34, // 9: metalstack.api.v2.TenantQuery.paging:type_name -> metalstack.api.v2.Paging + 33, // 10: metalstack.api.v2.TenantServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels + 35, // 11: metalstack.api.v2.TenantServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta + 36, // 12: metalstack.api.v2.TenantServiceUpdateRequest.labels:type_name -> metalstack.api.v2.UpdateLabels + 0, // 13: metalstack.api.v2.TenantServiceGetResponse.tenant:type_name -> metalstack.api.v2.Tenant + 1, // 14: metalstack.api.v2.TenantServiceGetResponse.tenant_members:type_name -> metalstack.api.v2.TenantMember + 0, // 15: metalstack.api.v2.TenantServiceListResponse.tenants:type_name -> metalstack.api.v2.Tenant + 0, // 16: metalstack.api.v2.TenantServiceCreateResponse.tenant:type_name -> metalstack.api.v2.Tenant + 0, // 17: metalstack.api.v2.TenantServiceUpdateResponse.tenant:type_name -> metalstack.api.v2.Tenant + 0, // 18: metalstack.api.v2.TenantServiceDeleteResponse.tenant:type_name -> metalstack.api.v2.Tenant + 31, // 19: metalstack.api.v2.TenantServiceInviteRequest.role:type_name -> metalstack.api.v2.TenantRole + 2, // 20: metalstack.api.v2.TenantServiceInviteResponse.invite:type_name -> metalstack.api.v2.TenantInvite + 2, // 21: metalstack.api.v2.TenantServiceInvitesListResponse.invites:type_name -> metalstack.api.v2.TenantInvite + 2, // 22: metalstack.api.v2.TenantServiceInviteGetResponse.invite:type_name -> metalstack.api.v2.TenantInvite + 31, // 23: metalstack.api.v2.TenantServiceUpdateMemberRequest.role:type_name -> metalstack.api.v2.TenantRole + 1, // 24: metalstack.api.v2.TenantServiceUpdateMemberResponse.tenant_member:type_name -> metalstack.api.v2.TenantMember + 6, // 25: metalstack.api.v2.TenantService.Create:input_type -> metalstack.api.v2.TenantServiceCreateRequest + 3, // 26: metalstack.api.v2.TenantService.List:input_type -> metalstack.api.v2.TenantServiceListRequest + 5, // 27: metalstack.api.v2.TenantService.Get:input_type -> metalstack.api.v2.TenantServiceGetRequest + 7, // 28: metalstack.api.v2.TenantService.Update:input_type -> metalstack.api.v2.TenantServiceUpdateRequest + 8, // 29: metalstack.api.v2.TenantService.Delete:input_type -> metalstack.api.v2.TenantServiceDeleteRequest + 21, // 30: metalstack.api.v2.TenantService.Leave:input_type -> metalstack.api.v2.TenantServiceLeaveRequest + 20, // 31: metalstack.api.v2.TenantService.RemoveMember:input_type -> metalstack.api.v2.TenantServiceRemoveMemberRequest + 28, // 32: metalstack.api.v2.TenantService.UpdateMember:input_type -> metalstack.api.v2.TenantServiceUpdateMemberRequest + 14, // 33: metalstack.api.v2.TenantService.Invite:input_type -> metalstack.api.v2.TenantServiceInviteRequest + 24, // 34: metalstack.api.v2.TenantService.InviteAccept:input_type -> metalstack.api.v2.TenantServiceInviteAcceptRequest + 26, // 35: metalstack.api.v2.TenantService.InviteDelete:input_type -> metalstack.api.v2.TenantServiceInviteDeleteRequest + 16, // 36: metalstack.api.v2.TenantService.InvitesList:input_type -> metalstack.api.v2.TenantServiceInvitesListRequest + 18, // 37: metalstack.api.v2.TenantService.InviteGet:input_type -> metalstack.api.v2.TenantServiceInviteGetRequest + 11, // 38: metalstack.api.v2.TenantService.Create:output_type -> metalstack.api.v2.TenantServiceCreateResponse + 10, // 39: metalstack.api.v2.TenantService.List:output_type -> metalstack.api.v2.TenantServiceListResponse + 9, // 40: metalstack.api.v2.TenantService.Get:output_type -> metalstack.api.v2.TenantServiceGetResponse + 12, // 41: metalstack.api.v2.TenantService.Update:output_type -> metalstack.api.v2.TenantServiceUpdateResponse + 13, // 42: metalstack.api.v2.TenantService.Delete:output_type -> metalstack.api.v2.TenantServiceDeleteResponse + 22, // 43: metalstack.api.v2.TenantService.Leave:output_type -> metalstack.api.v2.TenantServiceLeaveResponse + 23, // 44: metalstack.api.v2.TenantService.RemoveMember:output_type -> metalstack.api.v2.TenantServiceRemoveMemberResponse + 29, // 45: metalstack.api.v2.TenantService.UpdateMember:output_type -> metalstack.api.v2.TenantServiceUpdateMemberResponse + 15, // 46: metalstack.api.v2.TenantService.Invite:output_type -> metalstack.api.v2.TenantServiceInviteResponse + 25, // 47: metalstack.api.v2.TenantService.InviteAccept:output_type -> metalstack.api.v2.TenantServiceInviteAcceptResponse + 27, // 48: metalstack.api.v2.TenantService.InviteDelete:output_type -> metalstack.api.v2.TenantServiceInviteDeleteResponse + 17, // 49: metalstack.api.v2.TenantService.InvitesList:output_type -> metalstack.api.v2.TenantServiceInvitesListResponse + 19, // 50: metalstack.api.v2.TenantService.InviteGet:output_type -> metalstack.api.v2.TenantServiceInviteGetResponse + 38, // [38:51] is the sub-list for method output_type + 25, // [25:38] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_metalstack_api_v2_tenant_proto_init() } @@ -1914,16 +1976,16 @@ func file_metalstack_api_v2_tenant_proto_init() { } file_metalstack_api_v2_common_proto_init() file_metalstack_api_v2_predefined_rules_proto_init() - file_metalstack_api_v2_tenant_proto_msgTypes[3].OneofWrappers = []any{} - file_metalstack_api_v2_tenant_proto_msgTypes[5].OneofWrappers = []any{} + file_metalstack_api_v2_tenant_proto_msgTypes[4].OneofWrappers = []any{} file_metalstack_api_v2_tenant_proto_msgTypes[6].OneofWrappers = []any{} + file_metalstack_api_v2_tenant_proto_msgTypes[7].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_metalstack_api_v2_tenant_proto_rawDesc), len(file_metalstack_api_v2_tenant_proto_rawDesc)), NumEnums: 0, - NumMessages: 29, + NumMessages: 30, NumExtensions: 0, NumServices: 1, }, diff --git a/go/metalstack/api/v2/user.pb.go b/go/metalstack/api/v2/user.pb.go index e08b8e12..d4e3cf3f 100644 --- a/go/metalstack/api/v2/user.pb.go +++ b/go/metalstack/api/v2/user.pb.go @@ -209,13 +209,13 @@ var File_metalstack_api_v2_user_proto protoreflect.FileDescriptor const file_metalstack_api_v2_user_proto_rawDesc = "" + "\n" + - "\x1cmetalstack/api/v2/user.proto\x12\x11metalstack.api.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1fmetalstack/api/v2/project.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\xa1\x02\n" + - "\x04User\x12\x14\n" + - "\x05login\x18\x01 \x01(\tR\x05login\x12\x1f\n" + - "\x04name\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x14\n" + - "\x05email\x18\x03 \x01(\tR\x05email\x12\x1d\n" + + "\x1cmetalstack/api/v2/user.proto\x12\x11metalstack.api.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1fmetalstack/api/v2/project.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\xc4\x02\n" + + "\x04User\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12\x1f\n" + + "\x04name\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x1d\n" + + "\x05email\x18\x03 \x01(\tB\a\xbaH\x04r\x02`\x01R\x05email\x12*\n" + "\n" + - "avatar_url\x18\x04 \x01(\tR\tavatarUrl\x123\n" + + "avatar_url\x18\x04 \x01(\tB\v\xbaH\br\x06೮\xb1\x02\x01R\tavatarUrl\x123\n" + "\atenants\x18\x05 \x03(\v2\x19.metalstack.api.v2.TenantR\atenants\x126\n" + "\bprojects\x18\x06 \x03(\v2\x1a.metalstack.api.v2.ProjectR\bprojects\x12@\n" + "\x0edefault_tenant\x18\a \x01(\v2\x19.metalstack.api.v2.TenantR\rdefaultTenant\"\x17\n" + diff --git a/js/metalstack/admin/v2/tenant_pb.d.ts b/js/metalstack/admin/v2/tenant_pb.d.ts index ad02a7d9..40b3e36a 100644 --- a/js/metalstack/admin/v2/tenant_pb.d.ts +++ b/js/metalstack/admin/v2/tenant_pb.d.ts @@ -1,6 +1,6 @@ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; -import type { Labels, Paging } from "../../api/v2/common_pb"; -import type { Tenant } from "../../api/v2/tenant_pb"; +import type { Labels } from "../../api/v2/common_pb"; +import type { Tenant, TenantQuery } from "../../api/v2/tenant_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file metalstack/admin/v2/tenant.proto. @@ -73,23 +73,11 @@ export declare const TenantServiceCreateResponseSchema: GenMessage & { /** - * Login filters tenants by this login + * Query for tenants * - * @generated from field: optional string login = 1; + * @generated from field: metalstack.api.v2.TenantQuery query = 1; */ - login?: string | undefined; - /** - * Name filters tenants by this name - * - * @generated from field: optional string name = 2; - */ - name?: string | undefined; - /** - * Paging details for the list request - * - * @generated from field: metalstack.api.v2.Paging paging = 3; - */ - paging?: Paging | undefined; + query?: TenantQuery | undefined; }; /** * Describes the message metalstack.admin.v2.TenantServiceListRequest. diff --git a/js/metalstack/admin/v2/tenant_pb.js b/js/metalstack/admin/v2/tenant_pb.js index d61d60b4..dacb25a2 100644 --- a/js/metalstack/admin/v2/tenant_pb.js +++ b/js/metalstack/admin/v2/tenant_pb.js @@ -9,7 +9,7 @@ import { file_metalstack_api_v2_tenant } from "../../api/v2/tenant_pb"; /** * Describes the file metalstack/admin/v2/tenant.proto. */ -export const file_metalstack_admin_v2_tenant = /*@__PURE__*/ fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3RlbmFudC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiLoAQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIXCgphdmF0YXJfdXJsGAQgASgJSAKIAQESKQoGbGFiZWxzGAUgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzQg4KDF9kZXNjcmlwdGlvbkIICgZfZW1haWxCDQoLX2F2YXRhcl91cmwiSAobVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCKMAQoYVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0EhIKBWxvZ2luGAEgASgJSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIpCgZwYWdpbmcYAyABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5QYWdpbmdCCAoGX2xvZ2luQgcKBV9uYW1lIm0KGVRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2USKgoHdGVuYW50cxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudBIWCgluZXh0X3BhZ2UYAiABKARIAIgBAUIMCgpfbmV4dF9wYWdlMvoBCg1UZW5hbnRTZXJ2aWNlEnYKBkNyZWF0ZRIvLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QaMC5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEnEKBExpc3QSLS5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYAULPAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCC1RlbmFudFByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_tenant]); +export const file_metalstack_admin_v2_tenant = /*@__PURE__*/ fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3RlbmFudC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiL1AQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0IOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsIkgKG1RlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSQoYVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Ei0KBXF1ZXJ5GAEgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50UXVlcnkibQoZVGVuYW50U2VydmljZUxpc3RSZXNwb25zZRIqCgd0ZW5hbnRzGAEgAygLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50EhYKCW5leHRfcGFnZRgCIAEoBEgAiAEBQgwKCl9uZXh0X3BhZ2Uy+gEKDVRlbmFudFNlcnZpY2USdgoGQ3JlYXRlEi8ubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBowLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlIgnS8xgBAeDzGAEScQoETGlzdBItLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgBQs8BChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkILVGVuYW50UHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hZG1pbi92MjthZG1pbnYyogIDTUFYqgITTWV0YWxzdGFjay5BZG1pbi5WMsoCE01ldGFsc3RhY2tcQWRtaW5cVjLiAh9NZXRhbHN0YWNrXEFkbWluXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6QWRtaW46OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_tenant]); /** * Describes the message metalstack.admin.v2.TenantServiceCreateRequest. * Use `create(TenantServiceCreateRequestSchema)` to create a new message. diff --git a/js/metalstack/admin/v2/tenant_pb.ts b/js/metalstack/admin/v2/tenant_pb.ts index 983b44dd..daf9d669 100644 --- a/js/metalstack/admin/v2/tenant_pb.ts +++ b/js/metalstack/admin/v2/tenant_pb.ts @@ -5,10 +5,10 @@ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; import { file_buf_validate_validate } from "../../../buf/validate/validate_pb"; -import type { Labels, Paging } from "../../api/v2/common_pb"; +import type { Labels } from "../../api/v2/common_pb"; import { file_metalstack_api_v2_common } from "../../api/v2/common_pb"; import { file_metalstack_api_v2_predefined_rules } from "../../api/v2/predefined_rules_pb"; -import type { Tenant } from "../../api/v2/tenant_pb"; +import type { Tenant, TenantQuery } from "../../api/v2/tenant_pb"; import { file_metalstack_api_v2_tenant } from "../../api/v2/tenant_pb"; import type { Message } from "@bufbuild/protobuf"; @@ -16,7 +16,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file metalstack/admin/v2/tenant.proto. */ export const file_metalstack_admin_v2_tenant: GenFile = /*@__PURE__*/ - fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3RlbmFudC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiLoAQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIXCgphdmF0YXJfdXJsGAQgASgJSAKIAQESKQoGbGFiZWxzGAUgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzQg4KDF9kZXNjcmlwdGlvbkIICgZfZW1haWxCDQoLX2F2YXRhcl91cmwiSAobVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCKMAQoYVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0EhIKBWxvZ2luGAEgASgJSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIpCgZwYWdpbmcYAyABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5QYWdpbmdCCAoGX2xvZ2luQgcKBV9uYW1lIm0KGVRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2USKgoHdGVuYW50cxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudBIWCgluZXh0X3BhZ2UYAiABKARIAIgBAUIMCgpfbmV4dF9wYWdlMvoBCg1UZW5hbnRTZXJ2aWNlEnYKBkNyZWF0ZRIvLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QaMC5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEnEKBExpc3QSLS5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYAULPAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCC1RlbmFudFByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_tenant]); + fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3RlbmFudC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiL1AQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0IOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsIkgKG1RlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSQoYVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Ei0KBXF1ZXJ5GAEgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50UXVlcnkibQoZVGVuYW50U2VydmljZUxpc3RSZXNwb25zZRIqCgd0ZW5hbnRzGAEgAygLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50EhYKCW5leHRfcGFnZRgCIAEoBEgAiAEBQgwKCl9uZXh0X3BhZ2Uy+gEKDVRlbmFudFNlcnZpY2USdgoGQ3JlYXRlEi8ubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBowLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlIgnS8xgBAeDzGAEScQoETGlzdBItLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgBQs8BChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkILVGVuYW50UHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hZG1pbi92MjthZG1pbnYyogIDTUFYqgITTWV0YWxzdGFjay5BZG1pbi5WMsoCE01ldGFsc3RhY2tcQWRtaW5cVjLiAh9NZXRhbHN0YWNrXEFkbWluXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6QWRtaW46OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_tenant]); /** * TenantServiceCreateRequest is the request payload for creating a tenant. @@ -95,25 +95,11 @@ export const TenantServiceCreateResponseSchema: GenMessage & { /** - * Login filters tenants by this login + * Query for tenants * - * @generated from field: optional string login = 1; + * @generated from field: metalstack.api.v2.TenantQuery query = 1; */ - login?: string | undefined; - - /** - * Name filters tenants by this name - * - * @generated from field: optional string name = 2; - */ - name?: string | undefined; - - /** - * Paging details for the list request - * - * @generated from field: metalstack.api.v2.Paging paging = 3; - */ - paging?: Paging | undefined; + query?: TenantQuery | undefined; }; /** diff --git a/js/metalstack/api/v2/predefined_rules_pb.d.ts b/js/metalstack/api/v2/predefined_rules_pb.d.ts index 7b8766be..f9d13cf0 100644 --- a/js/metalstack/api/v2/predefined_rules_pb.d.ts +++ b/js/metalstack/api/v2/predefined_rules_pb.d.ts @@ -70,6 +70,12 @@ export declare const is_option: GenExtension; * @generated from extension: optional bool is_key = 80048961; */ export declare const is_key: GenExtension; +/** + * IsTenantLogin returns true if name field satisfies our requirements + * + * @generated from extension: optional bool is_tenant_login = 80048962; + */ +export declare const is_tenant_login: GenExtension; /** * Prefixes validates if a slice of prefixes in string form are valid * diff --git a/js/metalstack/api/v2/predefined_rules_pb.js b/js/metalstack/api/v2/predefined_rules_pb.js index 6ed9a132..a81e76ee 100644 --- a/js/metalstack/api/v2/predefined_rules_pb.js +++ b/js/metalstack/api/v2/predefined_rules_pb.js @@ -6,7 +6,7 @@ import { file_buf_validate_validate } from "../../../buf/validate/validate_pb"; /** * Describes the file metalstack/api/v2/predefined_rules.proto. */ -export const file_metalstack_api_v2_predefined_rules = /*@__PURE__*/ fileDesc("CihtZXRhbHN0YWNrL2FwaS92Mi9wcmVkZWZpbmVkX3J1bGVzLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52Mjq4AQoKbWFjYWRkcmVzcxIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi35pUmIAEoCEJ6wkh3CnUKEXN0cmluZy5tYWNhZGRyZXNzEiZ0aGlzIHN0cmluZyBtdXN0IGJlIGEgdmFsaWQgbWFjYWRkcmVzcxo4dGhpcy5tYXRjaGVzKCdeKFswLTlBLUZhLWZdezJ9WzpdKXs1fShbMC05QS1GYS1mXXsyfSkkJylSCm1hY2FkZHJlc3M6mQEKB2lzX25hbWUSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuOaVJiABKAhCYsJIXwpdCg5zdHJpbmcuaXNfbmFtZRIjbXVzdCBiZSB3aXRoaW4gMiBhbmQgMTI4IGNoYXJhY3RlcnMaJnRoaXMuc2l6ZSgpID49IDIgJiYgdGhpcy5zaXplKCkgPD0gMTI4UgZpc05hbWU6mgEKDmlzX2Rlc2NyaXB0aW9uEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLnmlSYgASgIQlXCSFIKUAoVc3RyaW5nLmlzX2Rlc2NyaXB0aW9uEiNtdXN0IGJlIHNob3J0ZXIgdGhhbiAyNTYgY2hhcmFjdGVycxoSdGhpcy5zaXplKCkgPD0gMjU2Ug1pc0Rlc2NyaXB0aW9uOqgBCgxpc19wYXJ0aXRpb24SGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuuaVJiABKAhCZ8JIZApiChNzdHJpbmcuaXNfcGFydGl0aW9uEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCAxMjggY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSAxMjhSC2lzUGFydGl0aW9uOoIBCglpc19wcmVmaXgSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYu+aVJiABKAhCR8JIRApCCg9zdHJpbmcucHJlZml4ZXMSHGdpdmVuIHByZWZpeGVzIG11c3QgYmUgdmFsaWQaEXRoaXMuaXNJcFByZWZpeCgpUghpc1ByZWZpeDptCgZpc191cmkSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvOaVJiABKAhCOMJINQozCgpzdHJpbmcudXJpEhdnaXZlbiB1cmkgbXVzdCBiZSB2YWxpZBoMdGhpcy5pc1VyaSgpUgVpc1VyaTqnAQoRaXNfaXBfb3JfaG9zdG5hbWUSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYveaVJiABKAhCXsJIWwpZCg12YWxpZF9hZGRyZXNzEiZtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcyBvciBob3N0bmFtZRogdGhpcy5pc0lwKCkgfHwgdGhpcy5pc0hvc3RuYW1lKClSDmlzSXBPckhvc3RuYW1lOp0BCgd0cmltbWVkEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGL7mlSYgASgIQmXCSGIKYAoOc3RyaW5nLnRyaW1tZWQSK3ZhbHVlIG11c3Qgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIHdoaXRlc3BhY2UaIXRoaXMudHJpbSgpLnNpemUoKSA9PSB0aGlzLnNpemUoKVIHdHJpbW1lZDqZAQoHaXNfdXNlchIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi/5pUmIAEoCEJiwkhfCl0KDnN0cmluZy5pc191c2VyEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCA1MTIgY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSA1MTJSBmlzVXNlcjqfAQoJaXNfb3B0aW9uEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMDmlSYgASgIQmTCSGEKXwoQc3RyaW5nLmlzX29wdGlvbhIjbXVzdCBiZSB3aXRoaW4gMSBhbmQgMTI4IGNoYXJhY3RlcnMaJnRoaXMuc2l6ZSgpID49IDEgJiYgdGhpcy5zaXplKCkgPD0gMTI4Ughpc09wdGlvbjqYAQoGaXNfa2V5EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMHmlSYgASgIQmPCSGAKXgoNc3RyaW5nLmlzX2tleRIkbXVzdCBiZSB3aXRoaW4gMSBhbmQgODE5MiBjaGFyYWN0ZXJzGid0aGlzLnNpemUoKSA+PSAxICYmIHRoaXMuc2l6ZSgpIDw9IDgxOTJSBWlzS2V5Oo8BCghwcmVmaXhlcxIbLmJ1Zi52YWxpZGF0ZS5SZXBlYXRlZFJ1bGVzGMe0liYgASgIQlPCSFAKTgoRcmVwZWF0ZWQucHJlZml4ZXMSHGdpdmVuIHByZWZpeGVzIG11c3QgYmUgdmFsaWQaG3RoaXMuYWxsKG0sIG0uaXNJcFByZWZpeCgpKVIIcHJlZml4ZXM6dQoDaXBzEhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXMYyLSWJiABKAhCQ8JIQAo+CgxyZXBlYXRlZC5pcHMSF2dpdmVuIGlwcyBtdXN0IGJlIHZhbGlkGhV0aGlzLmFsbChtLCBtLmlzSXAoKSlSA2lwczrmAQoRYXJlX2hvc3RfYW5kX3BvcnQSGy5idWYudmFsaWRhdGUuUmVwZWF0ZWRSdWxlcxjJtJYmIAEoCEKaAcJIlgEKkwEKGnJlcGVhdGVkLmFyZV9ob3N0X2FuZF9wb3J0ElBnaXZlbiBlbnRyaWVzIG11c3QgYWxsIGJlIGluIHRoZSBmb3JtIG9mIDxpcCB8IGhvc3Q+Ojxwb3J0PiBidXQgcG9ydCBpcyBvcHRpb25hbBojdGhpcy5hbGwobSwgbS5pc0hvc3RBbmRQb3J0KGZhbHNlKSlSDmFyZUhvc3RBbmRQb3J0OroBCgthbGxfdHJpbW1lZBIbLmJ1Zi52YWxpZGF0ZS5SZXBlYXRlZFJ1bGVzGMq0liYgASgIQnnCSHYKdAoUcmVwZWF0ZWQuYWxsX3RyaW1tZWQSMmdpdmVuIHZhbHVlcyBtdXN0IG5vdCBzdGFydCBvciBlbmQgd2l0aCB3aGl0ZXNwYWNlGih0aGlzLmFsbChtLCBtLnRyaW0oKS5zaXplKCkgPT0gbS5zaXplKCkpUgphbGxUcmltbWVkOoQCChdrZXlzX2FuZF92YWx1ZXNfdHJpbW1lZBIWLmJ1Zi52YWxpZGF0ZS5NYXBSdWxlcxjXgpcmIAEoCEKxAcJIrQEKqgEKG21hcC5rZXlzX2FuZF92YWx1ZXNfdHJpbW1lZBI1a2V5cyBhbmQgdmFsdWVzIG11c3Qgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIHdoaXRlc3BhY2UaVHRoaXMuYWxsKGssIGsudHJpbSgpLnNpemUoKSA9PSBrLnNpemUoKSkgJiYgdGhpcy5hbGwodiwgdi50cmltKCkuc2l6ZSgpID09IHYuc2l6ZSgpKVIUa2V5c0FuZFZhbHVlc1RyaW1tZWQ6qwEKDGtleXNfdHJpbW1lZBIWLmJ1Zi52YWxpZGF0ZS5NYXBSdWxlcxjYgpcmIAEoCEJtwkhqCmgKEG1hcC5rZXlzX3RyaW1tZWQSKmtleXMgbXVzdCBub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZRoodGhpcy5hbGwoaywgay50cmltKCkuc2l6ZSgpID09IGsuc2l6ZSgpKVILa2V5c1RyaW1tZWRCygEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIUUHJlZGVmaW5lZFJ1bGVzUHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYy", [file_buf_validate_validate]); +export const file_metalstack_api_v2_predefined_rules = /*@__PURE__*/ fileDesc("CihtZXRhbHN0YWNrL2FwaS92Mi9wcmVkZWZpbmVkX3J1bGVzLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52Mjq4AQoKbWFjYWRkcmVzcxIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi35pUmIAEoCEJ6wkh3CnUKEXN0cmluZy5tYWNhZGRyZXNzEiZ0aGlzIHN0cmluZyBtdXN0IGJlIGEgdmFsaWQgbWFjYWRkcmVzcxo4dGhpcy5tYXRjaGVzKCdeKFswLTlBLUZhLWZdezJ9WzpdKXs1fShbMC05QS1GYS1mXXsyfSkkJylSCm1hY2FkZHJlc3M6mQEKB2lzX25hbWUSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuOaVJiABKAhCYsJIXwpdCg5zdHJpbmcuaXNfbmFtZRIjbXVzdCBiZSB3aXRoaW4gMiBhbmQgMTI4IGNoYXJhY3RlcnMaJnRoaXMuc2l6ZSgpID49IDIgJiYgdGhpcy5zaXplKCkgPD0gMTI4UgZpc05hbWU6mgEKDmlzX2Rlc2NyaXB0aW9uEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLnmlSYgASgIQlXCSFIKUAoVc3RyaW5nLmlzX2Rlc2NyaXB0aW9uEiNtdXN0IGJlIHNob3J0ZXIgdGhhbiAyNTYgY2hhcmFjdGVycxoSdGhpcy5zaXplKCkgPD0gMjU2Ug1pc0Rlc2NyaXB0aW9uOqgBCgxpc19wYXJ0aXRpb24SGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuuaVJiABKAhCZ8JIZApiChNzdHJpbmcuaXNfcGFydGl0aW9uEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCAxMjggY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSAxMjhSC2lzUGFydGl0aW9uOoIBCglpc19wcmVmaXgSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYu+aVJiABKAhCR8JIRApCCg9zdHJpbmcucHJlZml4ZXMSHGdpdmVuIHByZWZpeGVzIG11c3QgYmUgdmFsaWQaEXRoaXMuaXNJcFByZWZpeCgpUghpc1ByZWZpeDptCgZpc191cmkSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvOaVJiABKAhCOMJINQozCgpzdHJpbmcudXJpEhdnaXZlbiB1cmkgbXVzdCBiZSB2YWxpZBoMdGhpcy5pc1VyaSgpUgVpc1VyaTqnAQoRaXNfaXBfb3JfaG9zdG5hbWUSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYveaVJiABKAhCXsJIWwpZCg12YWxpZF9hZGRyZXNzEiZtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcyBvciBob3N0bmFtZRogdGhpcy5pc0lwKCkgfHwgdGhpcy5pc0hvc3RuYW1lKClSDmlzSXBPckhvc3RuYW1lOp0BCgd0cmltbWVkEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGL7mlSYgASgIQmXCSGIKYAoOc3RyaW5nLnRyaW1tZWQSK3ZhbHVlIG11c3Qgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIHdoaXRlc3BhY2UaIXRoaXMudHJpbSgpLnNpemUoKSA9PSB0aGlzLnNpemUoKVIHdHJpbW1lZDqZAQoHaXNfdXNlchIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi/5pUmIAEoCEJiwkhfCl0KDnN0cmluZy5pc191c2VyEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCA1MTIgY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSA1MTJSBmlzVXNlcjqfAQoJaXNfb3B0aW9uEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMDmlSYgASgIQmTCSGEKXwoQc3RyaW5nLmlzX29wdGlvbhIjbXVzdCBiZSB3aXRoaW4gMSBhbmQgMTI4IGNoYXJhY3RlcnMaJnRoaXMuc2l6ZSgpID49IDEgJiYgdGhpcy5zaXplKCkgPD0gMTI4Ughpc09wdGlvbjqYAQoGaXNfa2V5EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMHmlSYgASgIQmPCSGAKXgoNc3RyaW5nLmlzX2tleRIkbXVzdCBiZSB3aXRoaW4gMSBhbmQgODE5MiBjaGFyYWN0ZXJzGid0aGlzLnNpemUoKSA+PSAxICYmIHRoaXMuc2l6ZSgpIDw9IDgxOTJSBWlzS2V5OrABCg9pc190ZW5hbnRfbG9naW4SGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYwuaVJiABKAhCasJIZwplChZzdHJpbmcuaXNfdGVuYW50X2xvZ2luEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCAyNTYgY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSAyNTZSDWlzVGVuYW50TG9naW46jwEKCHByZWZpeGVzEhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXMYx7SWJiABKAhCU8JIUApOChFyZXBlYXRlZC5wcmVmaXhlcxIcZ2l2ZW4gcHJlZml4ZXMgbXVzdCBiZSB2YWxpZBobdGhpcy5hbGwobSwgbS5pc0lwUHJlZml4KCkpUghwcmVmaXhlczp1CgNpcHMSGy5idWYudmFsaWRhdGUuUmVwZWF0ZWRSdWxlcxjItJYmIAEoCEJDwkhACj4KDHJlcGVhdGVkLmlwcxIXZ2l2ZW4gaXBzIG11c3QgYmUgdmFsaWQaFXRoaXMuYWxsKG0sIG0uaXNJcCgpKVIDaXBzOuYBChFhcmVfaG9zdF9hbmRfcG9ydBIbLmJ1Zi52YWxpZGF0ZS5SZXBlYXRlZFJ1bGVzGMm0liYgASgIQpoBwkiWAQqTAQoacmVwZWF0ZWQuYXJlX2hvc3RfYW5kX3BvcnQSUGdpdmVuIGVudHJpZXMgbXVzdCBhbGwgYmUgaW4gdGhlIGZvcm0gb2YgPGlwIHwgaG9zdD46PHBvcnQ+IGJ1dCBwb3J0IGlzIG9wdGlvbmFsGiN0aGlzLmFsbChtLCBtLmlzSG9zdEFuZFBvcnQoZmFsc2UpKVIOYXJlSG9zdEFuZFBvcnQ6ugEKC2FsbF90cmltbWVkEhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXMYyrSWJiABKAhCecJIdgp0ChRyZXBlYXRlZC5hbGxfdHJpbW1lZBIyZ2l2ZW4gdmFsdWVzIG11c3Qgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIHdoaXRlc3BhY2UaKHRoaXMuYWxsKG0sIG0udHJpbSgpLnNpemUoKSA9PSBtLnNpemUoKSlSCmFsbFRyaW1tZWQ6hAIKF2tleXNfYW5kX3ZhbHVlc190cmltbWVkEhYuYnVmLnZhbGlkYXRlLk1hcFJ1bGVzGNeClyYgASgIQrEBwkitAQqqAQobbWFwLmtleXNfYW5kX3ZhbHVlc190cmltbWVkEjVrZXlzIGFuZCB2YWx1ZXMgbXVzdCBub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZRpUdGhpcy5hbGwoaywgay50cmltKCkuc2l6ZSgpID09IGsuc2l6ZSgpKSAmJiB0aGlzLmFsbCh2LCB2LnRyaW0oKS5zaXplKCkgPT0gdi5zaXplKCkpUhRrZXlzQW5kVmFsdWVzVHJpbW1lZDqrAQoMa2V5c190cmltbWVkEhYuYnVmLnZhbGlkYXRlLk1hcFJ1bGVzGNiClyYgASgIQm3CSGoKaAoQbWFwLmtleXNfdHJpbW1lZBIqa2V5cyBtdXN0IG5vdCBzdGFydCBvciBlbmQgd2l0aCB3aGl0ZXNwYWNlGih0aGlzLmFsbChrLCBrLnRyaW0oKS5zaXplKCkgPT0gay5zaXplKCkpUgtrZXlzVHJpbW1lZELKAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQhRQcmVkZWZpbmVkUnVsZXNQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjI", [file_buf_validate_validate]); /** * Macaddress returns true if the given string is a valid macaddress * @@ -73,39 +73,45 @@ export const is_option = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined * @generated from extension: optional bool is_key = 80048961; */ export const is_key = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 10); +/** + * IsTenantLogin returns true if name field satisfies our requirements + * + * @generated from extension: optional bool is_tenant_login = 80048962; + */ +export const is_tenant_login = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 11); /** * Prefixes validates if a slice of prefixes in string form are valid * * @generated from extension: optional bool prefixes = 80058951; */ -export const prefixes = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 11); +export const prefixes = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 12); /** * Ips validates if a slice of ips in string form are valid * * @generated from extension: optional bool ips = 80058952; */ -export const ips = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 12); +export const ips = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 13); /** * AreHostAndPort validates if a slice of strings are all in the form of : * * @generated from extension: optional bool are_host_and_port = 80058953; */ -export const are_host_and_port = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 13); +export const are_host_and_port = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 14); /** * All Trimmed enforces all strings to be trimmed, e.g. no whitespaces at the begin and end * * @generated from extension: optional bool all_trimmed = 80058954; */ -export const all_trimmed = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 14); +export const all_trimmed = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 15); /** * Keys and Values trimmed enforces all map keys and values to be trimmed, e.g. no whitespaces at the begin and end * * @generated from extension: optional bool keys_and_values_trimmed = 80068951; */ -export const keys_and_values_trimmed = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 15); +export const keys_and_values_trimmed = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 16); /** * Keys trimmed enforces all map keys and values to be trimmed, e.g. no whitespaces at the begin and end * * @generated from extension: optional bool keys_trimmed = 80068952; */ -export const keys_trimmed = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 16); +export const keys_trimmed = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 17); diff --git a/js/metalstack/api/v2/predefined_rules_pb.ts b/js/metalstack/api/v2/predefined_rules_pb.ts index 121d3127..ac2f1e1c 100644 --- a/js/metalstack/api/v2/predefined_rules_pb.ts +++ b/js/metalstack/api/v2/predefined_rules_pb.ts @@ -11,7 +11,7 @@ import { file_buf_validate_validate } from "../../../buf/validate/validate_pb"; * Describes the file metalstack/api/v2/predefined_rules.proto. */ export const file_metalstack_api_v2_predefined_rules: GenFile = /*@__PURE__*/ - fileDesc("CihtZXRhbHN0YWNrL2FwaS92Mi9wcmVkZWZpbmVkX3J1bGVzLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52Mjq4AQoKbWFjYWRkcmVzcxIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi35pUmIAEoCEJ6wkh3CnUKEXN0cmluZy5tYWNhZGRyZXNzEiZ0aGlzIHN0cmluZyBtdXN0IGJlIGEgdmFsaWQgbWFjYWRkcmVzcxo4dGhpcy5tYXRjaGVzKCdeKFswLTlBLUZhLWZdezJ9WzpdKXs1fShbMC05QS1GYS1mXXsyfSkkJylSCm1hY2FkZHJlc3M6mQEKB2lzX25hbWUSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuOaVJiABKAhCYsJIXwpdCg5zdHJpbmcuaXNfbmFtZRIjbXVzdCBiZSB3aXRoaW4gMiBhbmQgMTI4IGNoYXJhY3RlcnMaJnRoaXMuc2l6ZSgpID49IDIgJiYgdGhpcy5zaXplKCkgPD0gMTI4UgZpc05hbWU6mgEKDmlzX2Rlc2NyaXB0aW9uEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLnmlSYgASgIQlXCSFIKUAoVc3RyaW5nLmlzX2Rlc2NyaXB0aW9uEiNtdXN0IGJlIHNob3J0ZXIgdGhhbiAyNTYgY2hhcmFjdGVycxoSdGhpcy5zaXplKCkgPD0gMjU2Ug1pc0Rlc2NyaXB0aW9uOqgBCgxpc19wYXJ0aXRpb24SGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuuaVJiABKAhCZ8JIZApiChNzdHJpbmcuaXNfcGFydGl0aW9uEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCAxMjggY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSAxMjhSC2lzUGFydGl0aW9uOoIBCglpc19wcmVmaXgSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYu+aVJiABKAhCR8JIRApCCg9zdHJpbmcucHJlZml4ZXMSHGdpdmVuIHByZWZpeGVzIG11c3QgYmUgdmFsaWQaEXRoaXMuaXNJcFByZWZpeCgpUghpc1ByZWZpeDptCgZpc191cmkSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvOaVJiABKAhCOMJINQozCgpzdHJpbmcudXJpEhdnaXZlbiB1cmkgbXVzdCBiZSB2YWxpZBoMdGhpcy5pc1VyaSgpUgVpc1VyaTqnAQoRaXNfaXBfb3JfaG9zdG5hbWUSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYveaVJiABKAhCXsJIWwpZCg12YWxpZF9hZGRyZXNzEiZtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcyBvciBob3N0bmFtZRogdGhpcy5pc0lwKCkgfHwgdGhpcy5pc0hvc3RuYW1lKClSDmlzSXBPckhvc3RuYW1lOp0BCgd0cmltbWVkEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGL7mlSYgASgIQmXCSGIKYAoOc3RyaW5nLnRyaW1tZWQSK3ZhbHVlIG11c3Qgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIHdoaXRlc3BhY2UaIXRoaXMudHJpbSgpLnNpemUoKSA9PSB0aGlzLnNpemUoKVIHdHJpbW1lZDqZAQoHaXNfdXNlchIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi/5pUmIAEoCEJiwkhfCl0KDnN0cmluZy5pc191c2VyEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCA1MTIgY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSA1MTJSBmlzVXNlcjqfAQoJaXNfb3B0aW9uEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMDmlSYgASgIQmTCSGEKXwoQc3RyaW5nLmlzX29wdGlvbhIjbXVzdCBiZSB3aXRoaW4gMSBhbmQgMTI4IGNoYXJhY3RlcnMaJnRoaXMuc2l6ZSgpID49IDEgJiYgdGhpcy5zaXplKCkgPD0gMTI4Ughpc09wdGlvbjqYAQoGaXNfa2V5EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMHmlSYgASgIQmPCSGAKXgoNc3RyaW5nLmlzX2tleRIkbXVzdCBiZSB3aXRoaW4gMSBhbmQgODE5MiBjaGFyYWN0ZXJzGid0aGlzLnNpemUoKSA+PSAxICYmIHRoaXMuc2l6ZSgpIDw9IDgxOTJSBWlzS2V5Oo8BCghwcmVmaXhlcxIbLmJ1Zi52YWxpZGF0ZS5SZXBlYXRlZFJ1bGVzGMe0liYgASgIQlPCSFAKTgoRcmVwZWF0ZWQucHJlZml4ZXMSHGdpdmVuIHByZWZpeGVzIG11c3QgYmUgdmFsaWQaG3RoaXMuYWxsKG0sIG0uaXNJcFByZWZpeCgpKVIIcHJlZml4ZXM6dQoDaXBzEhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXMYyLSWJiABKAhCQ8JIQAo+CgxyZXBlYXRlZC5pcHMSF2dpdmVuIGlwcyBtdXN0IGJlIHZhbGlkGhV0aGlzLmFsbChtLCBtLmlzSXAoKSlSA2lwczrmAQoRYXJlX2hvc3RfYW5kX3BvcnQSGy5idWYudmFsaWRhdGUuUmVwZWF0ZWRSdWxlcxjJtJYmIAEoCEKaAcJIlgEKkwEKGnJlcGVhdGVkLmFyZV9ob3N0X2FuZF9wb3J0ElBnaXZlbiBlbnRyaWVzIG11c3QgYWxsIGJlIGluIHRoZSBmb3JtIG9mIDxpcCB8IGhvc3Q+Ojxwb3J0PiBidXQgcG9ydCBpcyBvcHRpb25hbBojdGhpcy5hbGwobSwgbS5pc0hvc3RBbmRQb3J0KGZhbHNlKSlSDmFyZUhvc3RBbmRQb3J0OroBCgthbGxfdHJpbW1lZBIbLmJ1Zi52YWxpZGF0ZS5SZXBlYXRlZFJ1bGVzGMq0liYgASgIQnnCSHYKdAoUcmVwZWF0ZWQuYWxsX3RyaW1tZWQSMmdpdmVuIHZhbHVlcyBtdXN0IG5vdCBzdGFydCBvciBlbmQgd2l0aCB3aGl0ZXNwYWNlGih0aGlzLmFsbChtLCBtLnRyaW0oKS5zaXplKCkgPT0gbS5zaXplKCkpUgphbGxUcmltbWVkOoQCChdrZXlzX2FuZF92YWx1ZXNfdHJpbW1lZBIWLmJ1Zi52YWxpZGF0ZS5NYXBSdWxlcxjXgpcmIAEoCEKxAcJIrQEKqgEKG21hcC5rZXlzX2FuZF92YWx1ZXNfdHJpbW1lZBI1a2V5cyBhbmQgdmFsdWVzIG11c3Qgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIHdoaXRlc3BhY2UaVHRoaXMuYWxsKGssIGsudHJpbSgpLnNpemUoKSA9PSBrLnNpemUoKSkgJiYgdGhpcy5hbGwodiwgdi50cmltKCkuc2l6ZSgpID09IHYuc2l6ZSgpKVIUa2V5c0FuZFZhbHVlc1RyaW1tZWQ6qwEKDGtleXNfdHJpbW1lZBIWLmJ1Zi52YWxpZGF0ZS5NYXBSdWxlcxjYgpcmIAEoCEJtwkhqCmgKEG1hcC5rZXlzX3RyaW1tZWQSKmtleXMgbXVzdCBub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZRoodGhpcy5hbGwoaywgay50cmltKCkuc2l6ZSgpID09IGsuc2l6ZSgpKVILa2V5c1RyaW1tZWRCygEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIUUHJlZGVmaW5lZFJ1bGVzUHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYy", [file_buf_validate_validate]); + fileDesc("CihtZXRhbHN0YWNrL2FwaS92Mi9wcmVkZWZpbmVkX3J1bGVzLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52Mjq4AQoKbWFjYWRkcmVzcxIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi35pUmIAEoCEJ6wkh3CnUKEXN0cmluZy5tYWNhZGRyZXNzEiZ0aGlzIHN0cmluZyBtdXN0IGJlIGEgdmFsaWQgbWFjYWRkcmVzcxo4dGhpcy5tYXRjaGVzKCdeKFswLTlBLUZhLWZdezJ9WzpdKXs1fShbMC05QS1GYS1mXXsyfSkkJylSCm1hY2FkZHJlc3M6mQEKB2lzX25hbWUSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuOaVJiABKAhCYsJIXwpdCg5zdHJpbmcuaXNfbmFtZRIjbXVzdCBiZSB3aXRoaW4gMiBhbmQgMTI4IGNoYXJhY3RlcnMaJnRoaXMuc2l6ZSgpID49IDIgJiYgdGhpcy5zaXplKCkgPD0gMTI4UgZpc05hbWU6mgEKDmlzX2Rlc2NyaXB0aW9uEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLnmlSYgASgIQlXCSFIKUAoVc3RyaW5nLmlzX2Rlc2NyaXB0aW9uEiNtdXN0IGJlIHNob3J0ZXIgdGhhbiAyNTYgY2hhcmFjdGVycxoSdGhpcy5zaXplKCkgPD0gMjU2Ug1pc0Rlc2NyaXB0aW9uOqgBCgxpc19wYXJ0aXRpb24SGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuuaVJiABKAhCZ8JIZApiChNzdHJpbmcuaXNfcGFydGl0aW9uEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCAxMjggY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSAxMjhSC2lzUGFydGl0aW9uOoIBCglpc19wcmVmaXgSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYu+aVJiABKAhCR8JIRApCCg9zdHJpbmcucHJlZml4ZXMSHGdpdmVuIHByZWZpeGVzIG11c3QgYmUgdmFsaWQaEXRoaXMuaXNJcFByZWZpeCgpUghpc1ByZWZpeDptCgZpc191cmkSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvOaVJiABKAhCOMJINQozCgpzdHJpbmcudXJpEhdnaXZlbiB1cmkgbXVzdCBiZSB2YWxpZBoMdGhpcy5pc1VyaSgpUgVpc1VyaTqnAQoRaXNfaXBfb3JfaG9zdG5hbWUSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYveaVJiABKAhCXsJIWwpZCg12YWxpZF9hZGRyZXNzEiZtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcyBvciBob3N0bmFtZRogdGhpcy5pc0lwKCkgfHwgdGhpcy5pc0hvc3RuYW1lKClSDmlzSXBPckhvc3RuYW1lOp0BCgd0cmltbWVkEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGL7mlSYgASgIQmXCSGIKYAoOc3RyaW5nLnRyaW1tZWQSK3ZhbHVlIG11c3Qgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIHdoaXRlc3BhY2UaIXRoaXMudHJpbSgpLnNpemUoKSA9PSB0aGlzLnNpemUoKVIHdHJpbW1lZDqZAQoHaXNfdXNlchIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi/5pUmIAEoCEJiwkhfCl0KDnN0cmluZy5pc191c2VyEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCA1MTIgY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSA1MTJSBmlzVXNlcjqfAQoJaXNfb3B0aW9uEhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMDmlSYgASgIQmTCSGEKXwoQc3RyaW5nLmlzX29wdGlvbhIjbXVzdCBiZSB3aXRoaW4gMSBhbmQgMTI4IGNoYXJhY3RlcnMaJnRoaXMuc2l6ZSgpID49IDEgJiYgdGhpcy5zaXplKCkgPD0gMTI4Ughpc09wdGlvbjqYAQoGaXNfa2V5EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMHmlSYgASgIQmPCSGAKXgoNc3RyaW5nLmlzX2tleRIkbXVzdCBiZSB3aXRoaW4gMSBhbmQgODE5MiBjaGFyYWN0ZXJzGid0aGlzLnNpemUoKSA+PSAxICYmIHRoaXMuc2l6ZSgpIDw9IDgxOTJSBWlzS2V5OrABCg9pc190ZW5hbnRfbG9naW4SGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYwuaVJiABKAhCasJIZwplChZzdHJpbmcuaXNfdGVuYW50X2xvZ2luEiNtdXN0IGJlIHdpdGhpbiAyIGFuZCAyNTYgY2hhcmFjdGVycxomdGhpcy5zaXplKCkgPj0gMiAmJiB0aGlzLnNpemUoKSA8PSAyNTZSDWlzVGVuYW50TG9naW46jwEKCHByZWZpeGVzEhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXMYx7SWJiABKAhCU8JIUApOChFyZXBlYXRlZC5wcmVmaXhlcxIcZ2l2ZW4gcHJlZml4ZXMgbXVzdCBiZSB2YWxpZBobdGhpcy5hbGwobSwgbS5pc0lwUHJlZml4KCkpUghwcmVmaXhlczp1CgNpcHMSGy5idWYudmFsaWRhdGUuUmVwZWF0ZWRSdWxlcxjItJYmIAEoCEJDwkhACj4KDHJlcGVhdGVkLmlwcxIXZ2l2ZW4gaXBzIG11c3QgYmUgdmFsaWQaFXRoaXMuYWxsKG0sIG0uaXNJcCgpKVIDaXBzOuYBChFhcmVfaG9zdF9hbmRfcG9ydBIbLmJ1Zi52YWxpZGF0ZS5SZXBlYXRlZFJ1bGVzGMm0liYgASgIQpoBwkiWAQqTAQoacmVwZWF0ZWQuYXJlX2hvc3RfYW5kX3BvcnQSUGdpdmVuIGVudHJpZXMgbXVzdCBhbGwgYmUgaW4gdGhlIGZvcm0gb2YgPGlwIHwgaG9zdD46PHBvcnQ+IGJ1dCBwb3J0IGlzIG9wdGlvbmFsGiN0aGlzLmFsbChtLCBtLmlzSG9zdEFuZFBvcnQoZmFsc2UpKVIOYXJlSG9zdEFuZFBvcnQ6ugEKC2FsbF90cmltbWVkEhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXMYyrSWJiABKAhCecJIdgp0ChRyZXBlYXRlZC5hbGxfdHJpbW1lZBIyZ2l2ZW4gdmFsdWVzIG11c3Qgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIHdoaXRlc3BhY2UaKHRoaXMuYWxsKG0sIG0udHJpbSgpLnNpemUoKSA9PSBtLnNpemUoKSlSCmFsbFRyaW1tZWQ6hAIKF2tleXNfYW5kX3ZhbHVlc190cmltbWVkEhYuYnVmLnZhbGlkYXRlLk1hcFJ1bGVzGNeClyYgASgIQrEBwkitAQqqAQobbWFwLmtleXNfYW5kX3ZhbHVlc190cmltbWVkEjVrZXlzIGFuZCB2YWx1ZXMgbXVzdCBub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZRpUdGhpcy5hbGwoaywgay50cmltKCkuc2l6ZSgpID09IGsuc2l6ZSgpKSAmJiB0aGlzLmFsbCh2LCB2LnRyaW0oKS5zaXplKCkgPT0gdi5zaXplKCkpUhRrZXlzQW5kVmFsdWVzVHJpbW1lZDqrAQoMa2V5c190cmltbWVkEhYuYnVmLnZhbGlkYXRlLk1hcFJ1bGVzGNiClyYgASgIQm3CSGoKaAoQbWFwLmtleXNfdHJpbW1lZBIqa2V5cyBtdXN0IG5vdCBzdGFydCBvciBlbmQgd2l0aCB3aGl0ZXNwYWNlGih0aGlzLmFsbChrLCBrLnRyaW0oKS5zaXplKCkgPT0gay5zaXplKCkpUgtrZXlzVHJpbW1lZELKAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQhRQcmVkZWZpbmVkUnVsZXNQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjI", [file_buf_validate_validate]); /** * Macaddress returns true if the given string is a valid macaddress @@ -101,13 +101,21 @@ export const is_option: GenExtension = /*@__PURE__*/ export const is_key: GenExtension = /*@__PURE__*/ extDesc(file_metalstack_api_v2_predefined_rules, 10); +/** + * IsTenantLogin returns true if name field satisfies our requirements + * + * @generated from extension: optional bool is_tenant_login = 80048962; + */ +export const is_tenant_login: GenExtension = /*@__PURE__*/ + extDesc(file_metalstack_api_v2_predefined_rules, 11); + /** * Prefixes validates if a slice of prefixes in string form are valid * * @generated from extension: optional bool prefixes = 80058951; */ export const prefixes: GenExtension = /*@__PURE__*/ - extDesc(file_metalstack_api_v2_predefined_rules, 11); + extDesc(file_metalstack_api_v2_predefined_rules, 12); /** * Ips validates if a slice of ips in string form are valid @@ -115,7 +123,7 @@ export const prefixes: GenExtension = /*@__PURE__*/ * @generated from extension: optional bool ips = 80058952; */ export const ips: GenExtension = /*@__PURE__*/ - extDesc(file_metalstack_api_v2_predefined_rules, 12); + extDesc(file_metalstack_api_v2_predefined_rules, 13); /** * AreHostAndPort validates if a slice of strings are all in the form of : @@ -123,7 +131,7 @@ export const ips: GenExtension = /*@__PURE__*/ * @generated from extension: optional bool are_host_and_port = 80058953; */ export const are_host_and_port: GenExtension = /*@__PURE__*/ - extDesc(file_metalstack_api_v2_predefined_rules, 13); + extDesc(file_metalstack_api_v2_predefined_rules, 14); /** * All Trimmed enforces all strings to be trimmed, e.g. no whitespaces at the begin and end @@ -131,7 +139,7 @@ export const are_host_and_port: GenExtension = /*@__PURE * @generated from extension: optional bool all_trimmed = 80058954; */ export const all_trimmed: GenExtension = /*@__PURE__*/ - extDesc(file_metalstack_api_v2_predefined_rules, 14); + extDesc(file_metalstack_api_v2_predefined_rules, 15); /** * Keys and Values trimmed enforces all map keys and values to be trimmed, e.g. no whitespaces at the begin and end @@ -139,7 +147,7 @@ export const all_trimmed: GenExtension = /*@__PURE__*/ * @generated from extension: optional bool keys_and_values_trimmed = 80068951; */ export const keys_and_values_trimmed: GenExtension = /*@__PURE__*/ - extDesc(file_metalstack_api_v2_predefined_rules, 15); + extDesc(file_metalstack_api_v2_predefined_rules, 16); /** * Keys trimmed enforces all map keys and values to be trimmed, e.g. no whitespaces at the begin and end @@ -147,5 +155,5 @@ export const keys_and_values_trimmed: GenExtension = /*@__PUR * @generated from extension: optional bool keys_trimmed = 80068952; */ export const keys_trimmed: GenExtension = /*@__PURE__*/ - extDesc(file_metalstack_api_v2_predefined_rules, 16); + extDesc(file_metalstack_api_v2_predefined_rules, 17); diff --git a/js/metalstack/api/v2/project_pb.js b/js/metalstack/api/v2/project_pb.js index 70c34ba5..3fcb120b 100644 --- a/js/metalstack/api/v2/project_pb.js +++ b/js/metalstack/api/v2/project_pb.js @@ -9,7 +9,7 @@ import { file_metalstack_api_v2_predefined_rules } from "./predefined_rules_pb"; /** * Describes the file metalstack/api/v2/project.proto. */ -export const file_metalstack_api_v2_project = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0LnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiKzAQoHUHJvamVjdBIMCgR1dWlkGAEgASgJEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIOCgZ0ZW5hbnQYBSABKAkSFwoKYXZhdGFyX3VybBgGIAEoCUgAiAEBQg0KC19hdmF0YXJfdXJsIsgBCg1Qcm9qZWN0TWVtYmVyEgoKAmlkGAEgASgJEjYKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAESHAoUaW5oZXJpdGVkX21lbWJlcnNoaXAYAyABKAgSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJQoEbWV0YRgFIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLk1ldGEikgIKDVByb2plY3RJbnZpdGUSDgoGc2VjcmV0GAEgASgJEg8KB3Byb2plY3QYAiABKAkSNgoEcm9sZRgDIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RSb2xlQgi6SAWCAQIQARIOCgZqb2luZWQYBCABKAgSFAoMcHJvamVjdF9uYW1lGAUgASgJEg4KBnRlbmFudBgGIAEoCRITCgt0ZW5hbnRfbmFtZRgHIAEoCRIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglqb2luZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsQBChlQcm9qZWN0U2VydmljZUxpc3RSZXF1ZXN0Eg8KAmlkGAEgASgJSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIgCgZ0ZW5hbnQYAyABKAlCC7pICHIGwLOusQIBSAKIAQESLgoGbGFiZWxzGAQgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAOIAQFCBQoDX2lkQgcKBV9uYW1lQgkKB190ZW5hbnRCCQoHX2xhYmVscyJKChpQcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZRIsCghwcm9qZWN0cxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QiNQoYUHJvamVjdFNlcnZpY2VHZXRSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBIoMBChlQcm9qZWN0U2VydmljZUdldFJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0EjkKD3Byb2plY3RfbWVtYmVycxgCIAMoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiyQEKG1Byb2plY3RTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgbAs66xAgESGQoEbmFtZRgCIAEoCUILukgIcgbAs66xAgESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBEhcKCmF2YXRhcl91cmwYBCABKAlIAIgBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNCDQoLX2F2YXRhcl91cmwiSwocUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCI4ChtQcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQEiSwocUHJvamVjdFNlcnZpY2VEZWxldGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCK9AgobUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESFwoKYXZhdGFyX3VybBgFIAEoCUgCiAEBEjQKBmxhYmVscxgGIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gDiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIksKHFByb2plY3RTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHcHJvamVjdBgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QicAobUHJvamVjdFNlcnZpY2VJbnZpdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjYKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiUAocUHJvamVjdFNlcnZpY2VJbnZpdGVSZXNwb25zZRIwCgZpbnZpdGUYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0SW52aXRlIj0KIFByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBIlYKIVByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIxCgdpbnZpdGVzGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSIwCh5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlcXVlc3QSDgoGc2VjcmV0GAEgASgJIlMKH1Byb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USMAoGaW52aXRlGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSI3ChpQcm9qZWN0U2VydmljZUxlYXZlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASIdChtQcm9qZWN0U2VydmljZUxlYXZlUmVzcG9uc2UiTgohUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEg4KBm1lbWJlchgCIAEoCSIkCiJQcm9qZWN0U2VydmljZVJlbW92ZU1lbWJlclJlc3BvbnNlIoYBCiFQcm9qZWN0U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESDgoGbWVtYmVyGAIgASgJEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiXgoiUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZRI4Cg5wcm9qZWN0X21lbWJlchgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiMwohUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJLCiJQcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg8KB3Byb2plY3QYASABKAkSFAoMcHJvamVjdF9uYW1lGAIgASgJIk4KIVByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZzZWNyZXQYAiABKAkiJAoiUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZTLiDAoOUHJvamVjdFNlcnZpY2USbQoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbQoDR2V0EisubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAISdQoGQ3JlYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJ0CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlIgnK8xgBAeDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJxCgVMZWF2ZRItLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGVhdmVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VMZWF2ZVJlc3BvbnNlIgnK8xgBA+DzGAEShgEKDFJlbW92ZU1lbWJlchI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVzcG9uc2UiCcrzGAEB4PMYARKGAQoMVXBkYXRlTWVtYmVyEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZSIJyvMYAQHg8xgBEnQKBkludml0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlUmVzcG9uc2UiCcrzGAEB4PMYARKFAQoMSW52aXRlQWNjZXB0EjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZSII2PMYAuDzGAEShgEKDEludml0ZURlbGV0ZRI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVzcG9uc2UiCcrzGAEB4PMYARKDAQoLSW52aXRlc0xpc3QSMy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZSIJyvMYAQHg8xgCEnwKCUludml0ZUdldBIxLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBoyLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2UiCNjzGALg8xgCQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDFByb2plY3RQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); +export const file_metalstack_api_v2_project = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0LnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLAAQoHUHJvamVjdBIMCgR1dWlkGAEgASgJEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIOCgZ0ZW5hbnQYBSABKAkSJAoKYXZhdGFyX3VybBgGIAEoCUILukgIcgbgs66xAgFIAIgBAUINCgtfYXZhdGFyX3VybCLIAQoNUHJvamVjdE1lbWJlchIKCgJpZBgBIAEoCRI2CgRyb2xlGAIgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABEhwKFGluaGVyaXRlZF9tZW1iZXJzaGlwGAMgASgIEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKBG1ldGEYBSABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhIpICCg1Qcm9qZWN0SW52aXRlEg4KBnNlY3JldBgBIAEoCRIPCgdwcm9qZWN0GAIgASgJEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAESDgoGam9pbmVkGAQgASgIEhQKDHByb2plY3RfbmFtZRgFIAEoCRIOCgZ0ZW5hbnQYBiABKAkSEwoLdGVuYW50X25hbWUYByABKAkSLgoKZXhwaXJlc19hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJam9pbmVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLEAQoZUHJvamVjdFNlcnZpY2VMaXN0UmVxdWVzdBIPCgJpZBgBIAEoCUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIAoGdGVuYW50GAMgASgJQgu6SAhyBsCzrrECAUgCiAEBEi4KBmxhYmVscxgEIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gDiAEBQgUKA19pZEIHCgVfbmFtZUIJCgdfdGVuYW50QgkKB19sYWJlbHMiSgoaUHJvamVjdFNlcnZpY2VMaXN0UmVzcG9uc2USLAoIcHJvamVjdHMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IjUKGFByb2plY3RTZXJ2aWNlR2V0UmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASKDAQoZUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdBI5Cg9wcm9qZWN0X21lbWJlcnMYAiADKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyItYBChtQcm9qZWN0U2VydmljZUNyZWF0ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGwLOusQIBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgAiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0INCgtfYXZhdGFyX3VybCJLChxQcm9qZWN0U2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IjgKG1Byb2plY3RTZXJ2aWNlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASJLChxQcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IsoCChtQcm9qZWN0U2VydmljZVVwZGF0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAYgBARIkCgphdmF0YXJfdXJsGAUgASgJQgu6SAhyBuCzrrECAUgCiAEBEjQKBmxhYmVscxgGIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gDiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIksKHFByb2plY3RTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHcHJvamVjdBgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QicAobUHJvamVjdFNlcnZpY2VJbnZpdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjYKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiUAocUHJvamVjdFNlcnZpY2VJbnZpdGVSZXNwb25zZRIwCgZpbnZpdGUYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0SW52aXRlIj0KIFByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBIlYKIVByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIxCgdpbnZpdGVzGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSIwCh5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlcXVlc3QSDgoGc2VjcmV0GAEgASgJIlMKH1Byb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USMAoGaW52aXRlGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSI3ChpQcm9qZWN0U2VydmljZUxlYXZlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASIdChtQcm9qZWN0U2VydmljZUxlYXZlUmVzcG9uc2UiTgohUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEg4KBm1lbWJlchgCIAEoCSIkCiJQcm9qZWN0U2VydmljZVJlbW92ZU1lbWJlclJlc3BvbnNlIoYBCiFQcm9qZWN0U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESDgoGbWVtYmVyGAIgASgJEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiXgoiUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZRI4Cg5wcm9qZWN0X21lbWJlchgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiMwohUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJLCiJQcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg8KB3Byb2plY3QYASABKAkSFAoMcHJvamVjdF9uYW1lGAIgASgJIk4KIVByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZzZWNyZXQYAiABKAkiJAoiUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZTLiDAoOUHJvamVjdFNlcnZpY2USbQoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbQoDR2V0EisubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAISdQoGQ3JlYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJ0CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlIgnK8xgBAeDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJxCgVMZWF2ZRItLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGVhdmVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VMZWF2ZVJlc3BvbnNlIgnK8xgBA+DzGAEShgEKDFJlbW92ZU1lbWJlchI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVzcG9uc2UiCcrzGAEB4PMYARKGAQoMVXBkYXRlTWVtYmVyEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZSIJyvMYAQHg8xgBEnQKBkludml0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlUmVzcG9uc2UiCcrzGAEB4PMYARKFAQoMSW52aXRlQWNjZXB0EjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZSII2PMYAuDzGAEShgEKDEludml0ZURlbGV0ZRI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVzcG9uc2UiCcrzGAEB4PMYARKDAQoLSW52aXRlc0xpc3QSMy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZSIJyvMYAQHg8xgCEnwKCUludml0ZUdldBIxLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBoyLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2UiCNjzGALg8xgCQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDFByb2plY3RQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); /** * Describes the message metalstack.api.v2.Project. * Use `create(ProjectSchema)` to create a new message. diff --git a/js/metalstack/api/v2/project_pb.ts b/js/metalstack/api/v2/project_pb.ts index d91a9cec..ff83328b 100644 --- a/js/metalstack/api/v2/project_pb.ts +++ b/js/metalstack/api/v2/project_pb.ts @@ -16,7 +16,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file metalstack/api/v2/project.proto. */ export const file_metalstack_api_v2_project: GenFile = /*@__PURE__*/ - fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0LnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiKzAQoHUHJvamVjdBIMCgR1dWlkGAEgASgJEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIOCgZ0ZW5hbnQYBSABKAkSFwoKYXZhdGFyX3VybBgGIAEoCUgAiAEBQg0KC19hdmF0YXJfdXJsIsgBCg1Qcm9qZWN0TWVtYmVyEgoKAmlkGAEgASgJEjYKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAESHAoUaW5oZXJpdGVkX21lbWJlcnNoaXAYAyABKAgSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJQoEbWV0YRgFIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLk1ldGEikgIKDVByb2plY3RJbnZpdGUSDgoGc2VjcmV0GAEgASgJEg8KB3Byb2plY3QYAiABKAkSNgoEcm9sZRgDIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RSb2xlQgi6SAWCAQIQARIOCgZqb2luZWQYBCABKAgSFAoMcHJvamVjdF9uYW1lGAUgASgJEg4KBnRlbmFudBgGIAEoCRITCgt0ZW5hbnRfbmFtZRgHIAEoCRIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglqb2luZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsQBChlQcm9qZWN0U2VydmljZUxpc3RSZXF1ZXN0Eg8KAmlkGAEgASgJSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIgCgZ0ZW5hbnQYAyABKAlCC7pICHIGwLOusQIBSAKIAQESLgoGbGFiZWxzGAQgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAOIAQFCBQoDX2lkQgcKBV9uYW1lQgkKB190ZW5hbnRCCQoHX2xhYmVscyJKChpQcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZRIsCghwcm9qZWN0cxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QiNQoYUHJvamVjdFNlcnZpY2VHZXRSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBIoMBChlQcm9qZWN0U2VydmljZUdldFJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0EjkKD3Byb2plY3RfbWVtYmVycxgCIAMoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiyQEKG1Byb2plY3RTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgbAs66xAgESGQoEbmFtZRgCIAEoCUILukgIcgbAs66xAgESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBEhcKCmF2YXRhcl91cmwYBCABKAlIAIgBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNCDQoLX2F2YXRhcl91cmwiSwocUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCI4ChtQcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQEiSwocUHJvamVjdFNlcnZpY2VEZWxldGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCK9AgobUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESFwoKYXZhdGFyX3VybBgFIAEoCUgCiAEBEjQKBmxhYmVscxgGIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gDiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIksKHFByb2plY3RTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHcHJvamVjdBgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QicAobUHJvamVjdFNlcnZpY2VJbnZpdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjYKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiUAocUHJvamVjdFNlcnZpY2VJbnZpdGVSZXNwb25zZRIwCgZpbnZpdGUYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0SW52aXRlIj0KIFByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBIlYKIVByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIxCgdpbnZpdGVzGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSIwCh5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlcXVlc3QSDgoGc2VjcmV0GAEgASgJIlMKH1Byb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USMAoGaW52aXRlGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSI3ChpQcm9qZWN0U2VydmljZUxlYXZlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASIdChtQcm9qZWN0U2VydmljZUxlYXZlUmVzcG9uc2UiTgohUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEg4KBm1lbWJlchgCIAEoCSIkCiJQcm9qZWN0U2VydmljZVJlbW92ZU1lbWJlclJlc3BvbnNlIoYBCiFQcm9qZWN0U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESDgoGbWVtYmVyGAIgASgJEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiXgoiUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZRI4Cg5wcm9qZWN0X21lbWJlchgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiMwohUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJLCiJQcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg8KB3Byb2plY3QYASABKAkSFAoMcHJvamVjdF9uYW1lGAIgASgJIk4KIVByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZzZWNyZXQYAiABKAkiJAoiUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZTLiDAoOUHJvamVjdFNlcnZpY2USbQoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbQoDR2V0EisubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAISdQoGQ3JlYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJ0CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlIgnK8xgBAeDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJxCgVMZWF2ZRItLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGVhdmVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VMZWF2ZVJlc3BvbnNlIgnK8xgBA+DzGAEShgEKDFJlbW92ZU1lbWJlchI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVzcG9uc2UiCcrzGAEB4PMYARKGAQoMVXBkYXRlTWVtYmVyEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZSIJyvMYAQHg8xgBEnQKBkludml0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlUmVzcG9uc2UiCcrzGAEB4PMYARKFAQoMSW52aXRlQWNjZXB0EjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZSII2PMYAuDzGAEShgEKDEludml0ZURlbGV0ZRI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVzcG9uc2UiCcrzGAEB4PMYARKDAQoLSW52aXRlc0xpc3QSMy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZSIJyvMYAQHg8xgCEnwKCUludml0ZUdldBIxLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBoyLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2UiCNjzGALg8xgCQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDFByb2plY3RQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); + fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0LnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLAAQoHUHJvamVjdBIMCgR1dWlkGAEgASgJEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIOCgZ0ZW5hbnQYBSABKAkSJAoKYXZhdGFyX3VybBgGIAEoCUILukgIcgbgs66xAgFIAIgBAUINCgtfYXZhdGFyX3VybCLIAQoNUHJvamVjdE1lbWJlchIKCgJpZBgBIAEoCRI2CgRyb2xlGAIgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABEhwKFGluaGVyaXRlZF9tZW1iZXJzaGlwGAMgASgIEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKBG1ldGEYBSABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhIpICCg1Qcm9qZWN0SW52aXRlEg4KBnNlY3JldBgBIAEoCRIPCgdwcm9qZWN0GAIgASgJEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAESDgoGam9pbmVkGAQgASgIEhQKDHByb2plY3RfbmFtZRgFIAEoCRIOCgZ0ZW5hbnQYBiABKAkSEwoLdGVuYW50X25hbWUYByABKAkSLgoKZXhwaXJlc19hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJam9pbmVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLEAQoZUHJvamVjdFNlcnZpY2VMaXN0UmVxdWVzdBIPCgJpZBgBIAEoCUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIAoGdGVuYW50GAMgASgJQgu6SAhyBsCzrrECAUgCiAEBEi4KBmxhYmVscxgEIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gDiAEBQgUKA19pZEIHCgVfbmFtZUIJCgdfdGVuYW50QgkKB19sYWJlbHMiSgoaUHJvamVjdFNlcnZpY2VMaXN0UmVzcG9uc2USLAoIcHJvamVjdHMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IjUKGFByb2plY3RTZXJ2aWNlR2V0UmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASKDAQoZUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdBI5Cg9wcm9qZWN0X21lbWJlcnMYAiADKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyItYBChtQcm9qZWN0U2VydmljZUNyZWF0ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGwLOusQIBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgAiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0INCgtfYXZhdGFyX3VybCJLChxQcm9qZWN0U2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IjgKG1Byb2plY3RTZXJ2aWNlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASJLChxQcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IsoCChtQcm9qZWN0U2VydmljZVVwZGF0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAYgBARIkCgphdmF0YXJfdXJsGAUgASgJQgu6SAhyBuCzrrECAUgCiAEBEjQKBmxhYmVscxgGIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gDiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIksKHFByb2plY3RTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHcHJvamVjdBgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QicAobUHJvamVjdFNlcnZpY2VJbnZpdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjYKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiUAocUHJvamVjdFNlcnZpY2VJbnZpdGVSZXNwb25zZRIwCgZpbnZpdGUYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0SW52aXRlIj0KIFByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBIlYKIVByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIxCgdpbnZpdGVzGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSIwCh5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlcXVlc3QSDgoGc2VjcmV0GAEgASgJIlMKH1Byb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USMAoGaW52aXRlGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSI3ChpQcm9qZWN0U2VydmljZUxlYXZlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASIdChtQcm9qZWN0U2VydmljZUxlYXZlUmVzcG9uc2UiTgohUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEg4KBm1lbWJlchgCIAEoCSIkCiJQcm9qZWN0U2VydmljZVJlbW92ZU1lbWJlclJlc3BvbnNlIoYBCiFQcm9qZWN0U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESDgoGbWVtYmVyGAIgASgJEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiXgoiUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZRI4Cg5wcm9qZWN0X21lbWJlchgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiMwohUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJLCiJQcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg8KB3Byb2plY3QYASABKAkSFAoMcHJvamVjdF9uYW1lGAIgASgJIk4KIVByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZzZWNyZXQYAiABKAkiJAoiUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZTLiDAoOUHJvamVjdFNlcnZpY2USbQoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbQoDR2V0EisubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAISdQoGQ3JlYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJ0CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlIgnK8xgBAeDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJxCgVMZWF2ZRItLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGVhdmVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VMZWF2ZVJlc3BvbnNlIgnK8xgBA+DzGAEShgEKDFJlbW92ZU1lbWJlchI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVzcG9uc2UiCcrzGAEB4PMYARKGAQoMVXBkYXRlTWVtYmVyEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZSIJyvMYAQHg8xgBEnQKBkludml0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlUmVzcG9uc2UiCcrzGAEB4PMYARKFAQoMSW52aXRlQWNjZXB0EjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZSII2PMYAuDzGAEShgEKDEludml0ZURlbGV0ZRI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVzcG9uc2UiCcrzGAEB4PMYARKDAQoLSW52aXRlc0xpc3QSMy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZSIJyvMYAQHg8xgCEnwKCUludml0ZUdldBIxLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBoyLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2UiCNjzGALg8xgCQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDFByb2plY3RQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); /** * Project defines a group of resources belonging to a tenant diff --git a/js/metalstack/api/v2/tenant_pb.d.ts b/js/metalstack/api/v2/tenant_pb.d.ts index 508f7071..cd1ad887 100644 --- a/js/metalstack/api/v2/tenant_pb.d.ts +++ b/js/metalstack/api/v2/tenant_pb.d.ts @@ -1,6 +1,6 @@ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; import type { Timestamp } from "@bufbuild/protobuf/wkt"; -import type { Labels, Meta, TenantRole, UpdateLabels, UpdateMeta } from "./common_pb"; +import type { Labels, Meta, Paging, TenantRole, UpdateLabels, UpdateMeta } from "./common_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file metalstack/api/v2/tenant.proto. @@ -175,11 +175,29 @@ export declare const TenantInviteSchema: GenMessage; */ export type TenantServiceListRequest = Message<"metalstack.api.v2.TenantServiceListRequest"> & { /** - * Id filters tenants by id + * Query for tenants * - * @generated from field: optional string id = 1; + * @generated from field: metalstack.api.v2.TenantQuery query = 1; */ - id?: string | undefined; + query?: TenantQuery | undefined; +}; +/** + * Describes the message metalstack.api.v2.TenantServiceListRequest. + * Use `create(TenantServiceListRequestSchema)` to create a new message. + */ +export declare const TenantServiceListRequestSchema: GenMessage; +/** + * TenantQuery is used to search tenants + * + * @generated from message metalstack.api.v2.TenantQuery + */ +export type TenantQuery = Message<"metalstack.api.v2.TenantQuery"> & { + /** + * Id filters tenants by login + * + * @generated from field: optional string login = 1; + */ + login?: string | undefined; /** * Name filters tenants by name * @@ -192,12 +210,18 @@ export type TenantServiceListRequest = Message<"metalstack.api.v2.TenantServiceL * @generated from field: optional metalstack.api.v2.Labels labels = 3; */ labels?: Labels | undefined; + /** + * Paging details for the list request + * + * @generated from field: metalstack.api.v2.Paging paging = 4; + */ + paging?: Paging | undefined; }; /** - * Describes the message metalstack.api.v2.TenantServiceListRequest. - * Use `create(TenantServiceListRequestSchema)` to create a new message. + * Describes the message metalstack.api.v2.TenantQuery. + * Use `create(TenantQuerySchema)` to create a new message. */ -export declare const TenantServiceListRequestSchema: GenMessage; +export declare const TenantQuerySchema: GenMessage; /** * TenantServiceGetRequest is the request payload of the tenant get request * diff --git a/js/metalstack/api/v2/tenant_pb.js b/js/metalstack/api/v2/tenant_pb.js index 18538c94..c5aeeb45 100644 --- a/js/metalstack/api/v2/tenant_pb.js +++ b/js/metalstack/api/v2/tenant_pb.js @@ -9,7 +9,7 @@ import { file_metalstack_api_v2_predefined_rules } from "./predefined_rules_pb"; /** * Describes the file metalstack/api/v2/tenant.proto. */ -export const file_metalstack_api_v2_tenant = /*@__PURE__*/ fileDesc("Ch5tZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnQucHJvdG8SEW1ldGFsc3RhY2suYXBpLnYyIrIBCgZUZW5hbnQSDQoFbG9naW4YASABKAkSJQoEbWV0YRgCIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLk1ldGESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESDQoFZW1haWwYBCABKAkSIAoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBEhIKCmF2YXRhcl91cmwYBiABKAkSEgoKY3JlYXRlZF9ieRgHIAEoCSK6AQoMVGVuYW50TWVtYmVyEgoKAmlkGAEgASgJEjUKBHJvbGUYAiABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIQCghwcm9qZWN0cxgDIAMoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlCgRtZXRhGAUgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YSKcAgoMVGVuYW50SW52aXRlEg4KBnNlY3JldBgBIAEoCRIVCg10YXJnZXRfdGVuYW50GAIgASgJEjUKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIOCgZqb2luZWQYBCABKAgSGgoSdGFyZ2V0X3RlbmFudF9uYW1lGAUgASgJEg4KBnRlbmFudBgGIAEoCRITCgt0ZW5hbnRfbmFtZRgHIAEoCRIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglqb2luZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpYBChhUZW5hbnRTZXJ2aWNlTGlzdFJlcXVlc3QSDwoCaWQYASABKAlIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEi4KBmxhYmVscxgDIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gCiAEBQgUKA19pZEIHCgVfbmFtZUIJCgdfbGFiZWxzIigKF1RlbmFudFNlcnZpY2VHZXRSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJIugBChpUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIlCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgFIAIgBARIbCgVlbWFpbBgDIAEoCUIHukgEcgJgAUgBiAEBEhcKCmF2YXRhcl91cmwYBCABKAlIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNCDgoMX2Rlc2NyaXB0aW9uQggKBl9lbWFpbEINCgtfYXZhdGFyX3VybCLXAgoaVGVuYW50U2VydmljZVVwZGF0ZVJlcXVlc3QSDQoFbG9naW4YASABKAkSOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIbCgVlbWFpbBgEIAEoCUIHukgEcgJgAUgBiAEBEiUKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECAUgCiAEBEhcKCmF2YXRhcl91cmwYBiABKAlIA4gBARI0CgZsYWJlbHMYByABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIBIgBAUIHCgVfbmFtZUIICgZfZW1haWxCDgoMX2Rlc2NyaXB0aW9uQg0KC19hdmF0YXJfdXJsQgkKB19sYWJlbHMiKwoaVGVuYW50U2VydmljZURlbGV0ZVJlcXVlc3QSDQoFbG9naW4YASABKAkifgoYVGVuYW50U2VydmljZUdldFJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudBI3Cg50ZW5hbnRfbWVtYmVycxgCIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlciJHChlUZW5hbnRTZXJ2aWNlTGlzdFJlc3BvbnNlEioKB3RlbmFudHMYASADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSAobVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJIChtUZW5hbnRTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkgKG1RlbmFudFNlcnZpY2VEZWxldGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiYgoaVGVuYW50U2VydmljZUludml0ZVJlcXVlc3QSDQoFbG9naW4YASABKAkSNQoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIk4KG1RlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZRIvCgZpbnZpdGUYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRJbnZpdGUiMAofVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBINCgVsb2dpbhgBIAEoCSJUCiBUZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIwCgdpbnZpdGVzGAEgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50SW52aXRlIi8KHVRlbmFudFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJRCh5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USLwoGaW52aXRlGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50SW52aXRlIkEKIFRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJEg4KBm1lbWJlchgCIAEoCSIqChlUZW5hbnRTZXJ2aWNlTGVhdmVSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJIhwKGlRlbmFudFNlcnZpY2VMZWF2ZVJlc3BvbnNlIiMKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIyCiBUZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiSAohVGVuYW50U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg4KBnRlbmFudBgBIAEoCRITCgt0ZW5hbnRfbmFtZRgCIAEoCSJBCiBUZW5hbnRTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBINCgVsb2dpbhgBIAEoCRIOCgZzZWNyZXQYAiABKAkiIwohVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIngKIFRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJEg4KBm1lbWJlchgCIAEoCRI1CgRyb2xlGAMgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEiWwohVGVuYW50U2VydmljZVVwZGF0ZU1lbWJlclJlc3BvbnNlEjYKDXRlbmFudF9tZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIyxwwKDVRlbmFudFNlcnZpY2UScQoGQ3JlYXRlEi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QaLi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCNjzGALg8xgBEmsKBExpc3QSKy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlTGlzdFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlTGlzdFJlc3BvbnNlIgjY8xgC4PMYAhJsCgNHZXQSKi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlR2V0UmVxdWVzdBorLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VHZXRSZXNwb25zZSIMwvMYBAECAwTg8xgCEnMKBlVwZGF0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVVwZGF0ZVJlc3BvbnNlIgrC8xgCAQLg8xgBEnMKBkRlbGV0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VEZWxldGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZURlbGV0ZVJlc3BvbnNlIgrC8xgCAQLg8xgBEm8KBUxlYXZlEiwubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxlYXZlUmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VMZWF2ZVJlc3BvbnNlIgnC8xgBA+DzGAEShAEKDFJlbW92ZU1lbWJlchIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlc3BvbnNlIgnC8xgBAeDzGAEShAEKDFVwZGF0ZU1lbWJlchIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVVwZGF0ZU1lbWJlclJlc3BvbnNlIgnC8xgBAeDzGAEScgoGSW52aXRlEi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZVJlcXVlc3QaLi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlUmVzcG9uc2UiCcLzGAEB4PMYARKDAQoMSW52aXRlQWNjZXB0EjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUFjY2VwdFJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVzcG9uc2UiCNjzGALg8xgBEoQBCgxJbnZpdGVEZWxldGUSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZSIJwvMYAQHg8xgBEoEBCgtJbnZpdGVzTGlzdBIyLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVzTGlzdFJlcXVlc3QaMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZSIJwvMYAQHg8xgCEnoKCUludml0ZUdldBIwLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0GjEubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUdldFJlc3BvbnNlIgjY8xgC4PMYAkLBAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQgtUZW5hbnRQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); +export const file_metalstack_api_v2_tenant = /*@__PURE__*/ fileDesc("Ch5tZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnQucHJvdG8SEW1ldGFsc3RhY2suYXBpLnYyItUBCgZUZW5hbnQSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEhYKBWVtYWlsGAQgASgJQge6SARyAmABEiAKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECARIfCgphdmF0YXJfdXJsGAYgASgJQgu6SAhyBuCzrrECARISCgpjcmVhdGVkX2J5GAcgASgJIscBCgxUZW5hbnRNZW1iZXISFwoCaWQYASABKAlCC7pICHIGkLSusQIBEjUKBHJvbGUYAiABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIQCghwcm9qZWN0cxgDIAMoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlCgRtZXRhGAUgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YSKcAgoMVGVuYW50SW52aXRlEg4KBnNlY3JldBgBIAEoCRIVCg10YXJnZXRfdGVuYW50GAIgASgJEjUKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIOCgZqb2luZWQYBCABKAgSGgoSdGFyZ2V0X3RlbmFudF9uYW1lGAUgASgJEg4KBnRlbmFudBgGIAEoCRITCgt0ZW5hbnRfbmFtZRgHIAEoCRIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglqb2luZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkkKGFRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFF1ZXJ5IscBCgtUZW5hbnRRdWVyeRIfCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEi4KBmxhYmVscxgDIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gCiAEBEikKBnBhZ2luZxgEIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlBhZ2luZ0IICgZfbG9naW5CBwoFX25hbWVCCQoHX2xhYmVscyIoChdUZW5hbnRTZXJ2aWNlR2V0UmVxdWVzdBINCgVsb2dpbhgBIAEoCSL1AQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0IOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsIvECChpUZW5hbnRTZXJ2aWNlVXBkYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIbCgVlbWFpbBgEIAEoCUIHukgEcgJgAUgBiAEBEiUKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECAUgCiAEBEiQKCmF2YXRhcl91cmwYBiABKAlCC7pICHIG4LOusQIBSAOIAQESNAoGbGFiZWxzGAcgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSASIAQFCBwoFX25hbWVCCAoGX2VtYWlsQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIjgKGlRlbmFudFNlcnZpY2VEZWxldGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECASJ+ChhUZW5hbnRTZXJ2aWNlR2V0UmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50EjcKDnRlbmFudF9tZW1iZXJzGAIgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIkcKGVRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2USKgoHdGVuYW50cxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJIChtUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkgKG1RlbmFudFNlcnZpY2VVcGRhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSAobVGVuYW50U2VydmljZURlbGV0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJvChpUZW5hbnRTZXJ2aWNlSW52aXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIk4KG1RlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZRIvCgZpbnZpdGUYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRJbnZpdGUiPQofVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgEiVAogVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2USMAoHaW52aXRlcxgBIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSIvCh1UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiUQoeVGVuYW50U2VydmljZUludml0ZUdldFJlc3BvbnNlEi8KBmludml0ZRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSJOCiBUZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESDgoGbWVtYmVyGAIgASgJIjcKGVRlbmFudFNlcnZpY2VMZWF2ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBIhwKGlRlbmFudFNlcnZpY2VMZWF2ZVJlc3BvbnNlIiMKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIyCiBUZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiSAohVGVuYW50U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg4KBnRlbmFudBgBIAEoCRITCgt0ZW5hbnRfbmFtZRgCIAEoCSJOCiBUZW5hbnRTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESDgoGc2VjcmV0GAIgASgJIiMKIVRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZSKSAQogVGVuYW50U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgDIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIlsKIVRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZRI2Cg10ZW5hbnRfbWVtYmVyGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyMscMCg1UZW5hbnRTZXJ2aWNlEnEKBkNyZWF0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlIgjY8xgC4PMYARJrCgRMaXN0EisubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbAoDR2V0EioubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUdldFJlcXVlc3QaKy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlR2V0UmVzcG9uc2UiDMLzGAQBAgME4PMYAhJzCgZVcGRhdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJzCgZEZWxldGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlRGVsZXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VEZWxldGVSZXNwb25zZSIKwvMYAgEC4PMYARJvCgVMZWF2ZRIsLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VMZWF2ZVJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlTGVhdmVSZXNwb25zZSIJwvMYAQPg8xgBEoQBCgxSZW1vdmVNZW1iZXISMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIJwvMYAQHg8xgBEoQBCgxVcGRhdGVNZW1iZXISMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlTWVtYmVyUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZSIJwvMYAQHg8xgBEnIKBkludml0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZVJlc3BvbnNlIgnC8xgBAeDzGAESgwEKDEludml0ZUFjY2VwdBIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlIgjY8xgC4PMYARKEAQoMSW52aXRlRGVsZXRlEjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlRGVsZXRlUmVzcG9uc2UiCcLzGAEB4PMYARKBAQoLSW52aXRlc0xpc3QSMi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0GjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2UiCcLzGAEB4PMYAhJ6CglJbnZpdGVHZXQSMC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBoxLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVHZXRSZXNwb25zZSII2PMYAuDzGAJCwQEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkILVGVuYW50UHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); /** * Describes the message metalstack.api.v2.Tenant. * Use `create(TenantSchema)` to create a new message. @@ -30,131 +30,136 @@ export const TenantInviteSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_ * Use `create(TenantServiceListRequestSchema)` to create a new message. */ export const TenantServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 3); +/** + * Describes the message metalstack.api.v2.TenantQuery. + * Use `create(TenantQuerySchema)` to create a new message. + */ +export const TenantQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 4); /** * Describes the message metalstack.api.v2.TenantServiceGetRequest. * Use `create(TenantServiceGetRequestSchema)` to create a new message. */ -export const TenantServiceGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 4); +export const TenantServiceGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 5); /** * Describes the message metalstack.api.v2.TenantServiceCreateRequest. * Use `create(TenantServiceCreateRequestSchema)` to create a new message. */ -export const TenantServiceCreateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 5); +export const TenantServiceCreateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 6); /** * Describes the message metalstack.api.v2.TenantServiceUpdateRequest. * Use `create(TenantServiceUpdateRequestSchema)` to create a new message. */ -export const TenantServiceUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 6); +export const TenantServiceUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 7); /** * Describes the message metalstack.api.v2.TenantServiceDeleteRequest. * Use `create(TenantServiceDeleteRequestSchema)` to create a new message. */ -export const TenantServiceDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 7); +export const TenantServiceDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 8); /** * Describes the message metalstack.api.v2.TenantServiceGetResponse. * Use `create(TenantServiceGetResponseSchema)` to create a new message. */ -export const TenantServiceGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 8); +export const TenantServiceGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 9); /** * Describes the message metalstack.api.v2.TenantServiceListResponse. * Use `create(TenantServiceListResponseSchema)` to create a new message. */ -export const TenantServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 9); +export const TenantServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 10); /** * Describes the message metalstack.api.v2.TenantServiceCreateResponse. * Use `create(TenantServiceCreateResponseSchema)` to create a new message. */ -export const TenantServiceCreateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 10); +export const TenantServiceCreateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 11); /** * Describes the message metalstack.api.v2.TenantServiceUpdateResponse. * Use `create(TenantServiceUpdateResponseSchema)` to create a new message. */ -export const TenantServiceUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 11); +export const TenantServiceUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 12); /** * Describes the message metalstack.api.v2.TenantServiceDeleteResponse. * Use `create(TenantServiceDeleteResponseSchema)` to create a new message. */ -export const TenantServiceDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 12); +export const TenantServiceDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 13); /** * Describes the message metalstack.api.v2.TenantServiceInviteRequest. * Use `create(TenantServiceInviteRequestSchema)` to create a new message. */ -export const TenantServiceInviteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 13); +export const TenantServiceInviteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 14); /** * Describes the message metalstack.api.v2.TenantServiceInviteResponse. * Use `create(TenantServiceInviteResponseSchema)` to create a new message. */ -export const TenantServiceInviteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 14); +export const TenantServiceInviteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 15); /** * Describes the message metalstack.api.v2.TenantServiceInvitesListRequest. * Use `create(TenantServiceInvitesListRequestSchema)` to create a new message. */ -export const TenantServiceInvitesListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 15); +export const TenantServiceInvitesListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 16); /** * Describes the message metalstack.api.v2.TenantServiceInvitesListResponse. * Use `create(TenantServiceInvitesListResponseSchema)` to create a new message. */ -export const TenantServiceInvitesListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 16); +export const TenantServiceInvitesListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 17); /** * Describes the message metalstack.api.v2.TenantServiceInviteGetRequest. * Use `create(TenantServiceInviteGetRequestSchema)` to create a new message. */ -export const TenantServiceInviteGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 17); +export const TenantServiceInviteGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 18); /** * Describes the message metalstack.api.v2.TenantServiceInviteGetResponse. * Use `create(TenantServiceInviteGetResponseSchema)` to create a new message. */ -export const TenantServiceInviteGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 18); +export const TenantServiceInviteGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 19); /** * Describes the message metalstack.api.v2.TenantServiceRemoveMemberRequest. * Use `create(TenantServiceRemoveMemberRequestSchema)` to create a new message. */ -export const TenantServiceRemoveMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 19); +export const TenantServiceRemoveMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 20); /** * Describes the message metalstack.api.v2.TenantServiceLeaveRequest. * Use `create(TenantServiceLeaveRequestSchema)` to create a new message. */ -export const TenantServiceLeaveRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 20); +export const TenantServiceLeaveRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 21); /** * Describes the message metalstack.api.v2.TenantServiceLeaveResponse. * Use `create(TenantServiceLeaveResponseSchema)` to create a new message. */ -export const TenantServiceLeaveResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 21); +export const TenantServiceLeaveResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 22); /** * Describes the message metalstack.api.v2.TenantServiceRemoveMemberResponse. * Use `create(TenantServiceRemoveMemberResponseSchema)` to create a new message. */ -export const TenantServiceRemoveMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 22); +export const TenantServiceRemoveMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 23); /** * Describes the message metalstack.api.v2.TenantServiceInviteAcceptRequest. * Use `create(TenantServiceInviteAcceptRequestSchema)` to create a new message. */ -export const TenantServiceInviteAcceptRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 23); +export const TenantServiceInviteAcceptRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 24); /** * Describes the message metalstack.api.v2.TenantServiceInviteAcceptResponse. * Use `create(TenantServiceInviteAcceptResponseSchema)` to create a new message. */ -export const TenantServiceInviteAcceptResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 24); +export const TenantServiceInviteAcceptResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 25); /** * Describes the message metalstack.api.v2.TenantServiceInviteDeleteRequest. * Use `create(TenantServiceInviteDeleteRequestSchema)` to create a new message. */ -export const TenantServiceInviteDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 25); +export const TenantServiceInviteDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 26); /** * Describes the message metalstack.api.v2.TenantServiceInviteDeleteResponse. * Use `create(TenantServiceInviteDeleteResponseSchema)` to create a new message. */ -export const TenantServiceInviteDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 26); +export const TenantServiceInviteDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 27); /** * Describes the message metalstack.api.v2.TenantServiceUpdateMemberRequest. * Use `create(TenantServiceUpdateMemberRequestSchema)` to create a new message. */ -export const TenantServiceUpdateMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 27); +export const TenantServiceUpdateMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 28); /** * Describes the message metalstack.api.v2.TenantServiceUpdateMemberResponse. * Use `create(TenantServiceUpdateMemberResponseSchema)` to create a new message. */ -export const TenantServiceUpdateMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 28); +export const TenantServiceUpdateMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 29); /** * TenantService provides tenant management operations. * diff --git a/js/metalstack/api/v2/tenant_pb.ts b/js/metalstack/api/v2/tenant_pb.ts index 11f73e65..9be61b0a 100644 --- a/js/metalstack/api/v2/tenant_pb.ts +++ b/js/metalstack/api/v2/tenant_pb.ts @@ -7,7 +7,7 @@ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2 import { file_buf_validate_validate } from "../../../buf/validate/validate_pb"; import type { Timestamp } from "@bufbuild/protobuf/wkt"; import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; -import type { Labels, Meta, TenantRole, UpdateLabels, UpdateMeta } from "./common_pb"; +import type { Labels, Meta, Paging, TenantRole, UpdateLabels, UpdateMeta } from "./common_pb"; import { file_metalstack_api_v2_common } from "./common_pb"; import { file_metalstack_api_v2_predefined_rules } from "./predefined_rules_pb"; import type { Message } from "@bufbuild/protobuf"; @@ -16,7 +16,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file metalstack/api/v2/tenant.proto. */ export const file_metalstack_api_v2_tenant: GenFile = /*@__PURE__*/ - fileDesc("Ch5tZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnQucHJvdG8SEW1ldGFsc3RhY2suYXBpLnYyIrIBCgZUZW5hbnQSDQoFbG9naW4YASABKAkSJQoEbWV0YRgCIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLk1ldGESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESDQoFZW1haWwYBCABKAkSIAoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBEhIKCmF2YXRhcl91cmwYBiABKAkSEgoKY3JlYXRlZF9ieRgHIAEoCSK6AQoMVGVuYW50TWVtYmVyEgoKAmlkGAEgASgJEjUKBHJvbGUYAiABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIQCghwcm9qZWN0cxgDIAMoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlCgRtZXRhGAUgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YSKcAgoMVGVuYW50SW52aXRlEg4KBnNlY3JldBgBIAEoCRIVCg10YXJnZXRfdGVuYW50GAIgASgJEjUKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIOCgZqb2luZWQYBCABKAgSGgoSdGFyZ2V0X3RlbmFudF9uYW1lGAUgASgJEg4KBnRlbmFudBgGIAEoCRITCgt0ZW5hbnRfbmFtZRgHIAEoCRIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglqb2luZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpYBChhUZW5hbnRTZXJ2aWNlTGlzdFJlcXVlc3QSDwoCaWQYASABKAlIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEi4KBmxhYmVscxgDIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gCiAEBQgUKA19pZEIHCgVfbmFtZUIJCgdfbGFiZWxzIigKF1RlbmFudFNlcnZpY2VHZXRSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJIugBChpUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIlCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgFIAIgBARIbCgVlbWFpbBgDIAEoCUIHukgEcgJgAUgBiAEBEhcKCmF2YXRhcl91cmwYBCABKAlIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNCDgoMX2Rlc2NyaXB0aW9uQggKBl9lbWFpbEINCgtfYXZhdGFyX3VybCLXAgoaVGVuYW50U2VydmljZVVwZGF0ZVJlcXVlc3QSDQoFbG9naW4YASABKAkSOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIbCgVlbWFpbBgEIAEoCUIHukgEcgJgAUgBiAEBEiUKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECAUgCiAEBEhcKCmF2YXRhcl91cmwYBiABKAlIA4gBARI0CgZsYWJlbHMYByABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIBIgBAUIHCgVfbmFtZUIICgZfZW1haWxCDgoMX2Rlc2NyaXB0aW9uQg0KC19hdmF0YXJfdXJsQgkKB19sYWJlbHMiKwoaVGVuYW50U2VydmljZURlbGV0ZVJlcXVlc3QSDQoFbG9naW4YASABKAkifgoYVGVuYW50U2VydmljZUdldFJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudBI3Cg50ZW5hbnRfbWVtYmVycxgCIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlciJHChlUZW5hbnRTZXJ2aWNlTGlzdFJlc3BvbnNlEioKB3RlbmFudHMYASADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSAobVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJIChtUZW5hbnRTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkgKG1RlbmFudFNlcnZpY2VEZWxldGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiYgoaVGVuYW50U2VydmljZUludml0ZVJlcXVlc3QSDQoFbG9naW4YASABKAkSNQoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIk4KG1RlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZRIvCgZpbnZpdGUYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRJbnZpdGUiMAofVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBINCgVsb2dpbhgBIAEoCSJUCiBUZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIwCgdpbnZpdGVzGAEgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50SW52aXRlIi8KHVRlbmFudFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJRCh5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USLwoGaW52aXRlGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50SW52aXRlIkEKIFRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJEg4KBm1lbWJlchgCIAEoCSIqChlUZW5hbnRTZXJ2aWNlTGVhdmVSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJIhwKGlRlbmFudFNlcnZpY2VMZWF2ZVJlc3BvbnNlIiMKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIyCiBUZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiSAohVGVuYW50U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg4KBnRlbmFudBgBIAEoCRITCgt0ZW5hbnRfbmFtZRgCIAEoCSJBCiBUZW5hbnRTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBINCgVsb2dpbhgBIAEoCRIOCgZzZWNyZXQYAiABKAkiIwohVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIngKIFRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJEg4KBm1lbWJlchgCIAEoCRI1CgRyb2xlGAMgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEiWwohVGVuYW50U2VydmljZVVwZGF0ZU1lbWJlclJlc3BvbnNlEjYKDXRlbmFudF9tZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIyxwwKDVRlbmFudFNlcnZpY2UScQoGQ3JlYXRlEi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QaLi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCNjzGALg8xgBEmsKBExpc3QSKy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlTGlzdFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlTGlzdFJlc3BvbnNlIgjY8xgC4PMYAhJsCgNHZXQSKi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlR2V0UmVxdWVzdBorLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VHZXRSZXNwb25zZSIMwvMYBAECAwTg8xgCEnMKBlVwZGF0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVVwZGF0ZVJlc3BvbnNlIgrC8xgCAQLg8xgBEnMKBkRlbGV0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VEZWxldGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZURlbGV0ZVJlc3BvbnNlIgrC8xgCAQLg8xgBEm8KBUxlYXZlEiwubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxlYXZlUmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VMZWF2ZVJlc3BvbnNlIgnC8xgBA+DzGAEShAEKDFJlbW92ZU1lbWJlchIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlc3BvbnNlIgnC8xgBAeDzGAEShAEKDFVwZGF0ZU1lbWJlchIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVVwZGF0ZU1lbWJlclJlc3BvbnNlIgnC8xgBAeDzGAEScgoGSW52aXRlEi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZVJlcXVlc3QaLi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlUmVzcG9uc2UiCcLzGAEB4PMYARKDAQoMSW52aXRlQWNjZXB0EjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUFjY2VwdFJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVzcG9uc2UiCNjzGALg8xgBEoQBCgxJbnZpdGVEZWxldGUSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZSIJwvMYAQHg8xgBEoEBCgtJbnZpdGVzTGlzdBIyLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVzTGlzdFJlcXVlc3QaMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZSIJwvMYAQHg8xgCEnoKCUludml0ZUdldBIwLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0GjEubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUdldFJlc3BvbnNlIgjY8xgC4PMYAkLBAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQgtUZW5hbnRQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); + fileDesc("Ch5tZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnQucHJvdG8SEW1ldGFsc3RhY2suYXBpLnYyItUBCgZUZW5hbnQSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEhYKBWVtYWlsGAQgASgJQge6SARyAmABEiAKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECARIfCgphdmF0YXJfdXJsGAYgASgJQgu6SAhyBuCzrrECARISCgpjcmVhdGVkX2J5GAcgASgJIscBCgxUZW5hbnRNZW1iZXISFwoCaWQYASABKAlCC7pICHIGkLSusQIBEjUKBHJvbGUYAiABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIQCghwcm9qZWN0cxgDIAMoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlCgRtZXRhGAUgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YSKcAgoMVGVuYW50SW52aXRlEg4KBnNlY3JldBgBIAEoCRIVCg10YXJnZXRfdGVuYW50GAIgASgJEjUKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIOCgZqb2luZWQYBCABKAgSGgoSdGFyZ2V0X3RlbmFudF9uYW1lGAUgASgJEg4KBnRlbmFudBgGIAEoCRITCgt0ZW5hbnRfbmFtZRgHIAEoCRIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglqb2luZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkkKGFRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFF1ZXJ5IscBCgtUZW5hbnRRdWVyeRIfCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEi4KBmxhYmVscxgDIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gCiAEBEikKBnBhZ2luZxgEIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlBhZ2luZ0IICgZfbG9naW5CBwoFX25hbWVCCQoHX2xhYmVscyIoChdUZW5hbnRTZXJ2aWNlR2V0UmVxdWVzdBINCgVsb2dpbhgBIAEoCSL1AQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0IOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsIvECChpUZW5hbnRTZXJ2aWNlVXBkYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIbCgVlbWFpbBgEIAEoCUIHukgEcgJgAUgBiAEBEiUKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECAUgCiAEBEiQKCmF2YXRhcl91cmwYBiABKAlCC7pICHIG4LOusQIBSAOIAQESNAoGbGFiZWxzGAcgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSASIAQFCBwoFX25hbWVCCAoGX2VtYWlsQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIjgKGlRlbmFudFNlcnZpY2VEZWxldGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECASJ+ChhUZW5hbnRTZXJ2aWNlR2V0UmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50EjcKDnRlbmFudF9tZW1iZXJzGAIgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIkcKGVRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2USKgoHdGVuYW50cxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJIChtUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkgKG1RlbmFudFNlcnZpY2VVcGRhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSAobVGVuYW50U2VydmljZURlbGV0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJvChpUZW5hbnRTZXJ2aWNlSW52aXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIk4KG1RlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZRIvCgZpbnZpdGUYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRJbnZpdGUiPQofVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgEiVAogVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2USMAoHaW52aXRlcxgBIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSIvCh1UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiUQoeVGVuYW50U2VydmljZUludml0ZUdldFJlc3BvbnNlEi8KBmludml0ZRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSJOCiBUZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESDgoGbWVtYmVyGAIgASgJIjcKGVRlbmFudFNlcnZpY2VMZWF2ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBIhwKGlRlbmFudFNlcnZpY2VMZWF2ZVJlc3BvbnNlIiMKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIyCiBUZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiSAohVGVuYW50U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg4KBnRlbmFudBgBIAEoCRITCgt0ZW5hbnRfbmFtZRgCIAEoCSJOCiBUZW5hbnRTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESDgoGc2VjcmV0GAIgASgJIiMKIVRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZSKSAQogVGVuYW50U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgDIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIlsKIVRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZRI2Cg10ZW5hbnRfbWVtYmVyGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyMscMCg1UZW5hbnRTZXJ2aWNlEnEKBkNyZWF0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlIgjY8xgC4PMYARJrCgRMaXN0EisubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbAoDR2V0EioubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUdldFJlcXVlc3QaKy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlR2V0UmVzcG9uc2UiDMLzGAQBAgME4PMYAhJzCgZVcGRhdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJzCgZEZWxldGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlRGVsZXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VEZWxldGVSZXNwb25zZSIKwvMYAgEC4PMYARJvCgVMZWF2ZRIsLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VMZWF2ZVJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlTGVhdmVSZXNwb25zZSIJwvMYAQPg8xgBEoQBCgxSZW1vdmVNZW1iZXISMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIJwvMYAQHg8xgBEoQBCgxVcGRhdGVNZW1iZXISMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlTWVtYmVyUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXNwb25zZSIJwvMYAQHg8xgBEnIKBkludml0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZVJlc3BvbnNlIgnC8xgBAeDzGAESgwEKDEludml0ZUFjY2VwdBIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlIgjY8xgC4PMYARKEAQoMSW52aXRlRGVsZXRlEjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlRGVsZXRlUmVzcG9uc2UiCcLzGAEB4PMYARKBAQoLSW52aXRlc0xpc3QSMi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0GjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2UiCcLzGAEB4PMYAhJ6CglJbnZpdGVHZXQSMC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBoxLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVHZXRSZXNwb25zZSII2PMYAuDzGAJCwQEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkILVGVuYW50UHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); /** * Tenant is a customer of the platform @@ -214,11 +214,32 @@ export const TenantInviteSchema: GenMessage = /*@__PURE__*/ */ export type TenantServiceListRequest = Message<"metalstack.api.v2.TenantServiceListRequest"> & { /** - * Id filters tenants by id + * Query for tenants * - * @generated from field: optional string id = 1; + * @generated from field: metalstack.api.v2.TenantQuery query = 1; */ - id?: string | undefined; + query?: TenantQuery | undefined; +}; + +/** + * Describes the message metalstack.api.v2.TenantServiceListRequest. + * Use `create(TenantServiceListRequestSchema)` to create a new message. + */ +export const TenantServiceListRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant, 3); + +/** + * TenantQuery is used to search tenants + * + * @generated from message metalstack.api.v2.TenantQuery + */ +export type TenantQuery = Message<"metalstack.api.v2.TenantQuery"> & { + /** + * Id filters tenants by login + * + * @generated from field: optional string login = 1; + */ + login?: string | undefined; /** * Name filters tenants by name @@ -233,14 +254,21 @@ export type TenantServiceListRequest = Message<"metalstack.api.v2.TenantServiceL * @generated from field: optional metalstack.api.v2.Labels labels = 3; */ labels?: Labels | undefined; + + /** + * Paging details for the list request + * + * @generated from field: metalstack.api.v2.Paging paging = 4; + */ + paging?: Paging | undefined; }; /** - * Describes the message metalstack.api.v2.TenantServiceListRequest. - * Use `create(TenantServiceListRequestSchema)` to create a new message. + * Describes the message metalstack.api.v2.TenantQuery. + * Use `create(TenantQuerySchema)` to create a new message. */ -export const TenantServiceListRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 3); +export const TenantQuerySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant, 4); /** * TenantServiceGetRequest is the request payload of the tenant get request @@ -261,7 +289,7 @@ export type TenantServiceGetRequest = Message<"metalstack.api.v2.TenantServiceGe * Use `create(TenantServiceGetRequestSchema)` to create a new message. */ export const TenantServiceGetRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 4); + messageDesc(file_metalstack_api_v2_tenant, 5); /** * TenantServiceCreateRequest is the request payload of the tenant create request @@ -310,7 +338,7 @@ export type TenantServiceCreateRequest = Message<"metalstack.api.v2.TenantServic * Use `create(TenantServiceCreateRequestSchema)` to create a new message. */ export const TenantServiceCreateRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 5); + messageDesc(file_metalstack_api_v2_tenant, 6); /** * TenantServiceUpdateRequest is the request payload of the tenant update request @@ -373,7 +401,7 @@ export type TenantServiceUpdateRequest = Message<"metalstack.api.v2.TenantServic * Use `create(TenantServiceUpdateRequestSchema)` to create a new message. */ export const TenantServiceUpdateRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 6); + messageDesc(file_metalstack_api_v2_tenant, 7); /** * TenantServiceDeleteRequest is the request payload of the tenant delete request @@ -394,7 +422,7 @@ export type TenantServiceDeleteRequest = Message<"metalstack.api.v2.TenantServic * Use `create(TenantServiceDeleteRequestSchema)` to create a new message. */ export const TenantServiceDeleteRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 7); + messageDesc(file_metalstack_api_v2_tenant, 8); /** * TenantServiceGetResponse is the response payload of the tenant get request @@ -422,7 +450,7 @@ export type TenantServiceGetResponse = Message<"metalstack.api.v2.TenantServiceG * Use `create(TenantServiceGetResponseSchema)` to create a new message. */ export const TenantServiceGetResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 8); + messageDesc(file_metalstack_api_v2_tenant, 9); /** * TenantServiceListResponse is the response payload of the tenant list request @@ -443,7 +471,7 @@ export type TenantServiceListResponse = Message<"metalstack.api.v2.TenantService * Use `create(TenantServiceListResponseSchema)` to create a new message. */ export const TenantServiceListResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 9); + messageDesc(file_metalstack_api_v2_tenant, 10); /** * TenantServiceCreateResponse is the response payload of the tenant create request @@ -464,7 +492,7 @@ export type TenantServiceCreateResponse = Message<"metalstack.api.v2.TenantServi * Use `create(TenantServiceCreateResponseSchema)` to create a new message. */ export const TenantServiceCreateResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 10); + messageDesc(file_metalstack_api_v2_tenant, 11); /** * TenantServiceUpdateResponse is the response payload of the tenant update request @@ -485,7 +513,7 @@ export type TenantServiceUpdateResponse = Message<"metalstack.api.v2.TenantServi * Use `create(TenantServiceUpdateResponseSchema)` to create a new message. */ export const TenantServiceUpdateResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 11); + messageDesc(file_metalstack_api_v2_tenant, 12); /** * TenantServiceDeleteResponse is the response payload of the tenant delete request @@ -506,7 +534,7 @@ export type TenantServiceDeleteResponse = Message<"metalstack.api.v2.TenantServi * Use `create(TenantServiceDeleteResponseSchema)` to create a new message. */ export const TenantServiceDeleteResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 12); + messageDesc(file_metalstack_api_v2_tenant, 13); /** * TenantServiceInviteRequest is used to invite a member to a tenant @@ -534,7 +562,7 @@ export type TenantServiceInviteRequest = Message<"metalstack.api.v2.TenantServic * Use `create(TenantServiceInviteRequestSchema)` to create a new message. */ export const TenantServiceInviteRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 13); + messageDesc(file_metalstack_api_v2_tenant, 14); /** * TenantServiceInviteRequest is the response payload to a invite member request @@ -557,7 +585,7 @@ export type TenantServiceInviteResponse = Message<"metalstack.api.v2.TenantServi * Use `create(TenantServiceInviteResponseSchema)` to create a new message. */ export const TenantServiceInviteResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 14); + messageDesc(file_metalstack_api_v2_tenant, 15); /** * TenantServiceInvitesListRequest is the request payload to a list invites request @@ -578,7 +606,7 @@ export type TenantServiceInvitesListRequest = Message<"metalstack.api.v2.TenantS * Use `create(TenantServiceInvitesListRequestSchema)` to create a new message. */ export const TenantServiceInvitesListRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 15); + messageDesc(file_metalstack_api_v2_tenant, 16); /** * TenantServiceInvitesListResponse is the response payload to a list invites request @@ -599,7 +627,7 @@ export type TenantServiceInvitesListResponse = Message<"metalstack.api.v2.Tenant * Use `create(TenantServiceInvitesListResponseSchema)` to create a new message. */ export const TenantServiceInvitesListResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 16); + messageDesc(file_metalstack_api_v2_tenant, 17); /** * TenantServiceInviteGetRequest is the request payload to get a invite @@ -620,7 +648,7 @@ export type TenantServiceInviteGetRequest = Message<"metalstack.api.v2.TenantSer * Use `create(TenantServiceInviteGetRequestSchema)` to create a new message. */ export const TenantServiceInviteGetRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 17); + messageDesc(file_metalstack_api_v2_tenant, 18); /** * TenantServiceInviteGetResponse is the response payload to a get invite request @@ -641,7 +669,7 @@ export type TenantServiceInviteGetResponse = Message<"metalstack.api.v2.TenantSe * Use `create(TenantServiceInviteGetResponseSchema)` to create a new message. */ export const TenantServiceInviteGetResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 18); + messageDesc(file_metalstack_api_v2_tenant, 19); /** * TenantServiceRemoveMemberRequest is used to remove a member from a tenant @@ -669,7 +697,7 @@ export type TenantServiceRemoveMemberRequest = Message<"metalstack.api.v2.Tenant * Use `create(TenantServiceRemoveMemberRequestSchema)` to create a new message. */ export const TenantServiceRemoveMemberRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 19); + messageDesc(file_metalstack_api_v2_tenant, 20); /** * TenantServiceLeaveTenantRequest is used to leave a tenant @@ -690,7 +718,7 @@ export type TenantServiceLeaveRequest = Message<"metalstack.api.v2.TenantService * Use `create(TenantServiceLeaveRequestSchema)` to create a new message. */ export const TenantServiceLeaveRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 20); + messageDesc(file_metalstack_api_v2_tenant, 21); /** * TenantServiceLeaveTenantResponse is the response payload to a leave tenant request @@ -705,7 +733,7 @@ export type TenantServiceLeaveResponse = Message<"metalstack.api.v2.TenantServic * Use `create(TenantServiceLeaveResponseSchema)` to create a new message. */ export const TenantServiceLeaveResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 21); + messageDesc(file_metalstack_api_v2_tenant, 22); /** * TenantServiceRemoveMemberResponse is the response payload to a remove member request @@ -720,7 +748,7 @@ export type TenantServiceRemoveMemberResponse = Message<"metalstack.api.v2.Tenan * Use `create(TenantServiceRemoveMemberResponseSchema)` to create a new message. */ export const TenantServiceRemoveMemberResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 22); + messageDesc(file_metalstack_api_v2_tenant, 23); /** * TenantServiceInviteAcceptRequest is the request payload to a accept invite request @@ -741,7 +769,7 @@ export type TenantServiceInviteAcceptRequest = Message<"metalstack.api.v2.Tenant * Use `create(TenantServiceInviteAcceptRequestSchema)` to create a new message. */ export const TenantServiceInviteAcceptRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 23); + messageDesc(file_metalstack_api_v2_tenant, 24); /** * TenantServiceInviteAcceptResponse is the response payload to a accept invite request @@ -769,7 +797,7 @@ export type TenantServiceInviteAcceptResponse = Message<"metalstack.api.v2.Tenan * Use `create(TenantServiceInviteAcceptResponseSchema)` to create a new message. */ export const TenantServiceInviteAcceptResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 24); + messageDesc(file_metalstack_api_v2_tenant, 25); /** * TenantServiceInviteDeleteRequest is the request payload to a delete invite @@ -797,7 +825,7 @@ export type TenantServiceInviteDeleteRequest = Message<"metalstack.api.v2.Tenant * Use `create(TenantServiceInviteDeleteRequestSchema)` to create a new message. */ export const TenantServiceInviteDeleteRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 25); + messageDesc(file_metalstack_api_v2_tenant, 26); /** * TenantServiceInviteDeleteResponse is the response payload of a delete invite request @@ -812,7 +840,7 @@ export type TenantServiceInviteDeleteResponse = Message<"metalstack.api.v2.Tenan * Use `create(TenantServiceInviteDeleteResponseSchema)` to create a new message. */ export const TenantServiceInviteDeleteResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 26); + messageDesc(file_metalstack_api_v2_tenant, 27); /** * TenantServiceUpdateMemberRequest is used to update a member from a tenant @@ -847,7 +875,7 @@ export type TenantServiceUpdateMemberRequest = Message<"metalstack.api.v2.Tenant * Use `create(TenantServiceUpdateMemberRequestSchema)` to create a new message. */ export const TenantServiceUpdateMemberRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 27); + messageDesc(file_metalstack_api_v2_tenant, 28); /** * TenantServiceUpdateMemberResponse is the response payload to a update member request @@ -868,7 +896,7 @@ export type TenantServiceUpdateMemberResponse = Message<"metalstack.api.v2.Tenan * Use `create(TenantServiceUpdateMemberResponseSchema)` to create a new message. */ export const TenantServiceUpdateMemberResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 28); + messageDesc(file_metalstack_api_v2_tenant, 29); /** * TenantService provides tenant management operations. diff --git a/js/metalstack/api/v2/user_pb.js b/js/metalstack/api/v2/user_pb.js index 0d455a77..5c906132 100644 --- a/js/metalstack/api/v2/user_pb.js +++ b/js/metalstack/api/v2/user_pb.js @@ -10,7 +10,7 @@ import { file_metalstack_api_v2_tenant } from "./tenant_pb"; /** * Describes the file metalstack/api/v2/user.proto. */ -export const file_metalstack_api_v2_user = /*@__PURE__*/ fileDesc("ChxtZXRhbHN0YWNrL2FwaS92Mi91c2VyLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLgAQoEVXNlchINCgVsb2dpbhgBIAEoCRIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARINCgVlbWFpbBgDIAEoCRISCgphdmF0YXJfdXJsGAQgASgJEioKB3RlbmFudHMYBSADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQSLAoIcHJvamVjdHMYBiADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0EjEKDmRlZmF1bHRfdGVuYW50GAcgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IhcKFVVzZXJTZXJ2aWNlR2V0UmVxdWVzdCI/ChZVc2VyU2VydmljZUdldFJlc3BvbnNlEiUKBHVzZXIYASABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5Vc2VyMnMKC1VzZXJTZXJ2aWNlEmQKA0dldBIoLm1ldGFsc3RhY2suYXBpLnYyLlVzZXJTZXJ2aWNlR2V0UmVxdWVzdBopLm1ldGFsc3RhY2suYXBpLnYyLlVzZXJTZXJ2aWNlR2V0UmVzcG9uc2UiCNjzGALg8xgBQr8BChVjb20ubWV0YWxzdGFjay5hcGkudjJCCVVzZXJQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_project, file_metalstack_api_v2_tenant]); +export const file_metalstack_api_v2_user = /*@__PURE__*/ fileDesc("ChxtZXRhbHN0YWNrL2FwaS92Mi91c2VyLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiKDAgoEVXNlchIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESGQoEbmFtZRgCIAEoCUILukgIcgbAs66xAgESFgoFZW1haWwYAyABKAlCB7pIBHICYAESHwoKYXZhdGFyX3VybBgEIAEoCUILukgIcgbgs66xAgESKgoHdGVuYW50cxgFIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudBIsCghwcm9qZWN0cxgGIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QSMQoOZGVmYXVsdF90ZW5hbnQYByABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiFwoVVXNlclNlcnZpY2VHZXRSZXF1ZXN0Ij8KFlVzZXJTZXJ2aWNlR2V0UmVzcG9uc2USJQoEdXNlchgBIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlVzZXIycwoLVXNlclNlcnZpY2USZAoDR2V0EigubWV0YWxzdGFjay5hcGkudjIuVXNlclNlcnZpY2VHZXRSZXF1ZXN0GikubWV0YWxzdGFjay5hcGkudjIuVXNlclNlcnZpY2VHZXRSZXNwb25zZSII2PMYAuDzGAFCvwEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIJVXNlclByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_project, file_metalstack_api_v2_tenant]); /** * Describes the message metalstack.api.v2.User. * Use `create(UserSchema)` to create a new message. diff --git a/js/metalstack/api/v2/user_pb.ts b/js/metalstack/api/v2/user_pb.ts index 073d4da7..6b7fb6f8 100644 --- a/js/metalstack/api/v2/user_pb.ts +++ b/js/metalstack/api/v2/user_pb.ts @@ -17,7 +17,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file metalstack/api/v2/user.proto. */ export const file_metalstack_api_v2_user: GenFile = /*@__PURE__*/ - fileDesc("ChxtZXRhbHN0YWNrL2FwaS92Mi91c2VyLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLgAQoEVXNlchINCgVsb2dpbhgBIAEoCRIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARINCgVlbWFpbBgDIAEoCRISCgphdmF0YXJfdXJsGAQgASgJEioKB3RlbmFudHMYBSADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQSLAoIcHJvamVjdHMYBiADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0EjEKDmRlZmF1bHRfdGVuYW50GAcgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IhcKFVVzZXJTZXJ2aWNlR2V0UmVxdWVzdCI/ChZVc2VyU2VydmljZUdldFJlc3BvbnNlEiUKBHVzZXIYASABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5Vc2VyMnMKC1VzZXJTZXJ2aWNlEmQKA0dldBIoLm1ldGFsc3RhY2suYXBpLnYyLlVzZXJTZXJ2aWNlR2V0UmVxdWVzdBopLm1ldGFsc3RhY2suYXBpLnYyLlVzZXJTZXJ2aWNlR2V0UmVzcG9uc2UiCNjzGALg8xgBQr8BChVjb20ubWV0YWxzdGFjay5hcGkudjJCCVVzZXJQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_project, file_metalstack_api_v2_tenant]); + fileDesc("ChxtZXRhbHN0YWNrL2FwaS92Mi91c2VyLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiKDAgoEVXNlchIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESGQoEbmFtZRgCIAEoCUILukgIcgbAs66xAgESFgoFZW1haWwYAyABKAlCB7pIBHICYAESHwoKYXZhdGFyX3VybBgEIAEoCUILukgIcgbgs66xAgESKgoHdGVuYW50cxgFIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudBIsCghwcm9qZWN0cxgGIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QSMQoOZGVmYXVsdF90ZW5hbnQYByABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiFwoVVXNlclNlcnZpY2VHZXRSZXF1ZXN0Ij8KFlVzZXJTZXJ2aWNlR2V0UmVzcG9uc2USJQoEdXNlchgBIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlVzZXIycwoLVXNlclNlcnZpY2USZAoDR2V0EigubWV0YWxzdGFjay5hcGkudjIuVXNlclNlcnZpY2VHZXRSZXF1ZXN0GikubWV0YWxzdGFjay5hcGkudjIuVXNlclNlcnZpY2VHZXRSZXNwb25zZSII2PMYAuDzGAFCvwEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIJVXNlclByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_project, file_metalstack_api_v2_tenant]); /** * User represents an end user of the platform. diff --git a/proto/metalstack/admin/v2/tenant.proto b/proto/metalstack/admin/v2/tenant.proto index 0ba86d17..c4b35539 100644 --- a/proto/metalstack/admin/v2/tenant.proto +++ b/proto/metalstack/admin/v2/tenant.proto @@ -31,7 +31,7 @@ message TenantServiceCreateRequest { // Email of the tenant, if not set will be inherited from the creator optional string email = 3 [(buf.validate.field).string.email = true]; // AvatarUrl of the tenant - optional string avatar_url = 4; + optional string avatar_url = 4 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; // Labels on the tenant metalstack.api.v2.Labels labels = 5; } @@ -44,12 +44,8 @@ message TenantServiceCreateResponse { // TenantServiceListRequest is the request payload for listing tenants. message TenantServiceListRequest { - // Login filters tenants by this login - optional string login = 1; - // Name filters tenants by this name - optional string name = 2 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true]; - // Paging details for the list request - metalstack.api.v2.Paging paging = 3; + // Query for tenants + metalstack.api.v2.TenantQuery query = 1; } // TenantServiceListResponse is the response payload for listing tenants. diff --git a/proto/metalstack/api/v2/predefined_rules.proto b/proto/metalstack/api/v2/predefined_rules.proto index 0903565b..c903ac5e 100644 --- a/proto/metalstack/api/v2/predefined_rules.proto +++ b/proto/metalstack/api/v2/predefined_rules.proto @@ -74,6 +74,12 @@ extend buf.validate.StringRules { message: "must be within 1 and 8192 characters" expression: "this.size() >= 1 && this.size() <= 8192" }]; + // IsTenantLogin returns true if name field satisfies our requirements + optional bool is_tenant_login = 80048962 [(buf.validate.predefined).cel = { + id: "string.is_tenant_login" + message: "must be within 2 and 256 characters" + expression: "this.size() >= 2 && this.size() <= 256" + }]; } extend buf.validate.RepeatedRules { diff --git a/proto/metalstack/api/v2/project.proto b/proto/metalstack/api/v2/project.proto index 5992f421..c0b25a23 100644 --- a/proto/metalstack/api/v2/project.proto +++ b/proto/metalstack/api/v2/project.proto @@ -94,7 +94,7 @@ message Project { // Tenant this project belongs to string tenant = 5; // AvatarUrl of the Project - optional string avatar_url = 6; + optional string avatar_url = 6 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; } // ProjectMember defines a user that participates at a project @@ -177,7 +177,7 @@ message ProjectServiceCreateRequest { // Description of this project string description = 3 [(buf.validate.field).string.(metalstack.api.v2.is_description) = true]; // Avatar URL of the project - optional string avatar_url = 4; + optional string avatar_url = 4 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; // Labels on the project Labels labels = 5; } @@ -211,7 +211,7 @@ message ProjectServiceUpdateRequest { // Description of this project optional string description = 4 [(buf.validate.field).string.(metalstack.api.v2.is_description) = true]; // Avatar URL of the project - optional string avatar_url = 5; + optional string avatar_url = 5 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; // Labels on this project optional UpdateLabels labels = 6; } diff --git a/proto/metalstack/api/v2/tenant.proto b/proto/metalstack/api/v2/tenant.proto index e5979bb1..e0106e15 100644 --- a/proto/metalstack/api/v2/tenant.proto +++ b/proto/metalstack/api/v2/tenant.proto @@ -88,17 +88,17 @@ service TenantService { // Tenant is a customer of the platform message Tenant { // Login of the tenant - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // Meta for this tenant Meta meta = 2; // Name of the tenant string name = 3 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true]; // Email of the tenant - string email = 4; + string email = 4 [(buf.validate.field).string.email = true]; // Description of this tenant string description = 5 [(buf.validate.field).string.(metalstack.api.v2.is_description) = true]; // AvatarUrl of the tenant - string avatar_url = 6; + string avatar_url = 6 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; // CreatedBy stores who created this tenant string created_by = 7; } @@ -106,7 +106,7 @@ message Tenant { // TenantMember defines a user that participates at a tenant message TenantMember { // Id is the user id of the member - string id = 1; + string id = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // Role is the role of the member TenantRole role = 2 [(buf.validate.field).enum.defined_only = true]; // Projects for the projects in which a user is a direct member @@ -141,12 +141,20 @@ message TenantInvite { // TenantServiceListRequest is the request payload of the tenant list request message TenantServiceListRequest { - // Id filters tenants by id - optional string id = 1; + // Query for tenants + TenantQuery query = 1; +} + +// TenantQuery is used to search tenants +message TenantQuery { + // Id filters tenants by login + optional string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // Name filters tenants by name optional string name = 2 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true]; // Labels lists only projects containing the given labels optional Labels labels = 3; + // Paging details for the list request + Paging paging = 4; } // TenantServiceGetRequest is the request payload of the tenant get request @@ -164,7 +172,7 @@ message TenantServiceCreateRequest { // Email of the tenant, if not set will be inherited from the creator optional string email = 3 [(buf.validate.field).string.email = true]; // AvatarUrl of the tenant - optional string avatar_url = 4; + optional string avatar_url = 4 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; // Labels on the tenant Labels labels = 5; } @@ -172,7 +180,7 @@ message TenantServiceCreateRequest { // TenantServiceUpdateRequest is the request payload of the tenant update request message TenantServiceUpdateRequest { // Login of the tenant - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // UpdateMeta contains the timestamp and strategy to be used in this update request UpdateMeta update_meta = 2 [(buf.validate.field).required = true]; // Name of the tenant @@ -182,7 +190,7 @@ message TenantServiceUpdateRequest { // Description of this tenant optional string description = 5 [(buf.validate.field).string.(metalstack.api.v2.is_description) = true]; // AvatarUrl of the tenant - optional string avatar_url = 6; + optional string avatar_url = 6 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; // Labels on the tenant optional UpdateLabels labels = 7; } @@ -190,7 +198,7 @@ message TenantServiceUpdateRequest { // TenantServiceDeleteRequest is the request payload of the tenant delete request message TenantServiceDeleteRequest { // Login of the tenant - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; } // TenantServiceGetResponse is the response payload of the tenant get request @@ -228,7 +236,7 @@ message TenantServiceDeleteResponse { // TenantServiceInviteRequest is used to invite a member to a tenant message TenantServiceInviteRequest { // Login of the tenant - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // Role of this user in this tenant TenantRole role = 2 [(buf.validate.field).enum.defined_only = true]; } @@ -244,7 +252,7 @@ message TenantServiceInviteResponse { // TenantServiceInvitesListRequest is the request payload to a list invites request message TenantServiceInvitesListRequest { // Login of the tenant - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; } // TenantServiceInvitesListResponse is the response payload to a list invites request @@ -268,7 +276,7 @@ message TenantServiceInviteGetResponse { // TenantServiceRemoveMemberRequest is used to remove a member from a tenant message TenantServiceRemoveMemberRequest { // Login of the tenant - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // Member is the id of the member to remove from this tenant string member = 2; } @@ -276,7 +284,7 @@ message TenantServiceRemoveMemberRequest { // TenantServiceLeaveTenantRequest is used to leave a tenant message TenantServiceLeaveRequest { // Login of the tenant - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; } // TenantServiceLeaveTenantResponse is the response payload to a leave tenant request @@ -302,7 +310,7 @@ message TenantServiceInviteAcceptResponse { // TenantServiceInviteDeleteRequest is the request payload to a delete invite message TenantServiceInviteDeleteRequest { // Login of the tenant - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // Secret of the invite to delete string secret = 2; } @@ -313,9 +321,9 @@ message TenantServiceInviteDeleteResponse {} // TenantServiceUpdateMemberRequest is used to update a member from a tenant message TenantServiceUpdateMemberRequest { // Login of the tenant - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // Member is the id of the member to update in this tenant - string member = 2; + string member = 2 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // Role of this user in this tenant TenantRole role = 3 [(buf.validate.field).enum.defined_only = true]; } diff --git a/proto/metalstack/api/v2/user.proto b/proto/metalstack/api/v2/user.proto index bd08243e..feab2159 100644 --- a/proto/metalstack/api/v2/user.proto +++ b/proto/metalstack/api/v2/user.proto @@ -20,13 +20,13 @@ service UserService { // User represents an end user of the platform. message User { // Login is the login at the provider - string login = 1; + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; // Name of the user string name = 2 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true]; // Email of the user - string email = 3; + string email = 3 [(buf.validate.field).string.email = true]; // AvatarUrl of the user - string avatar_url = 4; + string avatar_url = 4 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; // Tenants the user belongs to repeated Tenant tenants = 5; // Projects the user belongs to diff --git a/python/metalstack/admin/v2/tenant_pb2.py b/python/metalstack/admin/v2/tenant_pb2.py index 6d3715a1..b8a8147c 100644 --- a/python/metalstack/admin/v2/tenant_pb2.py +++ b/python/metalstack/admin/v2/tenant_pb2.py @@ -28,7 +28,7 @@ from metalstack.api.v2 import tenant_pb2 as metalstack_dot_api_dot_v2_dot_tenant__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/admin/v2/tenant.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\x95\x02\n\x1aTenantServiceCreateRequest\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\"\n\navatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n\x0c_descriptionB\x08\n\x06_emailB\r\n\x0b_avatar_url\"P\n\x1bTenantServiceCreateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"\xa1\x01\n\x18TenantServiceListRequest\x12\x19\n\x05login\x18\x01 \x01(\tH\x00R\x05login\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\x31\n\x06paging\x18\x03 \x01(\x0b\x32\x19.metalstack.api.v2.PagingR\x06pagingB\x08\n\x06_loginB\x07\n\x05_name\"\x80\x01\n\x19TenantServiceListResponse\x12\x33\n\x07tenants\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\x12 \n\tnext_page\x18\x02 \x01(\x04H\x00R\x08nextPage\x88\x01\x01\x42\x0c\n\n_next_page2\xfa\x01\n\rTenantService\x12v\n\x06\x43reate\x12/.metalstack.admin.v2.TenantServiceCreateRequest\x1a\x30.metalstack.admin.v2.TenantServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12q\n\x04List\x12-.metalstack.admin.v2.TenantServiceListRequest\x1a..metalstack.admin.v2.TenantServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x42\xcf\x01\n\x17\x63om.metalstack.admin.v2B\x0bTenantProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/admin/v2/tenant.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\xa2\x02\n\x1aTenantServiceCreateRequest\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12/\n\navatar_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x02R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n\x0c_descriptionB\x08\n\x06_emailB\r\n\x0b_avatar_url\"P\n\x1bTenantServiceCreateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x18TenantServiceListRequest\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32\x1e.metalstack.api.v2.TenantQueryR\x05query\"\x80\x01\n\x19TenantServiceListResponse\x12\x33\n\x07tenants\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\x12 \n\tnext_page\x18\x02 \x01(\x04H\x00R\x08nextPage\x88\x01\x01\x42\x0c\n\n_next_page2\xfa\x01\n\rTenantService\x12v\n\x06\x43reate\x12/.metalstack.admin.v2.TenantServiceCreateRequest\x1a\x30.metalstack.admin.v2.TenantServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12q\n\x04List\x12-.metalstack.admin.v2.TenantServiceListRequest\x1a..metalstack.admin.v2.TenantServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x42\xcf\x01\n\x17\x63om.metalstack.admin.v2B\x0bTenantProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,20 +42,20 @@ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001' _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['email']._loaded_options = None _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['email']._serialized_options = b'\272H\004r\002`\001' - _globals['_TENANTSERVICELISTREQUEST'].fields_by_name['name']._loaded_options = None - _globals['_TENANTSERVICELISTREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' + _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None + _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001' _globals['_TENANTSERVICE'].methods_by_name['Create']._loaded_options = None _globals['_TENANTSERVICE'].methods_by_name['Create']._serialized_options = b'\322\363\030\001\001\340\363\030\001' _globals['_TENANTSERVICE'].methods_by_name['List']._loaded_options = None _globals['_TENANTSERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002\340\363\030\001' _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=193 - _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=470 - _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=472 - _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=552 - _globals['_TENANTSERVICELISTREQUEST']._serialized_start=555 - _globals['_TENANTSERVICELISTREQUEST']._serialized_end=716 - _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=719 - _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=847 - _globals['_TENANTSERVICE']._serialized_start=850 - _globals['_TENANTSERVICE']._serialized_end=1100 + _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=483 + _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=485 + _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=565 + _globals['_TENANTSERVICELISTREQUEST']._serialized_start=567 + _globals['_TENANTSERVICELISTREQUEST']._serialized_end=647 + _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=650 + _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=778 + _globals['_TENANTSERVICE']._serialized_start=781 + _globals['_TENANTSERVICE']._serialized_end=1031 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/admin/v2/tenant_pb2.pyi b/python/metalstack/admin/v2/tenant_pb2.pyi index f09ee19c..d6b61ef6 100644 --- a/python/metalstack/admin/v2/tenant_pb2.pyi +++ b/python/metalstack/admin/v2/tenant_pb2.pyi @@ -31,14 +31,10 @@ class TenantServiceCreateResponse(_message.Message): def __init__(self, tenant: _Optional[_Union[_tenant_pb2.Tenant, _Mapping]] = ...) -> None: ... class TenantServiceListRequest(_message.Message): - __slots__ = ("login", "name", "paging") - LOGIN_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - PAGING_FIELD_NUMBER: _ClassVar[int] - login: str - name: str - paging: _common_pb2.Paging - def __init__(self, login: _Optional[str] = ..., name: _Optional[str] = ..., paging: _Optional[_Union[_common_pb2.Paging, _Mapping]] = ...) -> None: ... + __slots__ = ("query",) + QUERY_FIELD_NUMBER: _ClassVar[int] + query: _tenant_pb2.TenantQuery + def __init__(self, query: _Optional[_Union[_tenant_pb2.TenantQuery, _Mapping]] = ...) -> None: ... class TenantServiceListResponse(_message.Message): __slots__ = ("tenants", "next_page") diff --git a/python/metalstack/api/v2/predefined_rules_pb2.py b/python/metalstack/api/v2/predefined_rules_pb2.py index 2a5625ea..a8f54233 100644 --- a/python/metalstack/api/v2/predefined_rules_pb2.py +++ b/python/metalstack/api/v2/predefined_rules_pb2.py @@ -25,7 +25,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(metalstack/api/v2/predefined_rules.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto:\xb8\x01\n\nmacaddress\x12\x19.buf.validate.StringRules\x18\xb7\xe6\x95& \x01(\x08\x42z\xc2Hw\nu\n\x11string.macaddress\x12&this string must be a valid macaddress\x1a\x38this.matches(\'^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$\')R\nmacaddress:\x99\x01\n\x07is_name\x12\x19.buf.validate.StringRules\x18\xb8\xe6\x95& \x01(\x08\x42\x62\xc2H_\n]\n\x0estring.is_name\x12#must be within 2 and 128 characters\x1a&this.size() >= 2 && this.size() <= 128R\x06isName:\x9a\x01\n\x0eis_description\x12\x19.buf.validate.StringRules\x18\xb9\xe6\x95& \x01(\x08\x42U\xc2HR\nP\n\x15string.is_description\x12#must be shorter than 256 characters\x1a\x12this.size() <= 256R\risDescription:\xa8\x01\n\x0cis_partition\x12\x19.buf.validate.StringRules\x18\xba\xe6\x95& \x01(\x08\x42g\xc2Hd\nb\n\x13string.is_partition\x12#must be within 2 and 128 characters\x1a&this.size() >= 2 && this.size() <= 128R\x0bisPartition:\x82\x01\n\tis_prefix\x12\x19.buf.validate.StringRules\x18\xbb\xe6\x95& \x01(\x08\x42G\xc2HD\nB\n\x0fstring.prefixes\x12\x1cgiven prefixes must be valid\x1a\x11this.isIpPrefix()R\x08isPrefix:m\n\x06is_uri\x12\x19.buf.validate.StringRules\x18\xbc\xe6\x95& \x01(\x08\x42\x38\xc2H5\n3\n\nstring.uri\x12\x17given uri must be valid\x1a\x0cthis.isUri()R\x05isUri:\xa7\x01\n\x11is_ip_or_hostname\x12\x19.buf.validate.StringRules\x18\xbd\xe6\x95& \x01(\x08\x42^\xc2H[\nY\n\rvalid_address\x12&must be a valid IP address or hostname\x1a this.isIp() || this.isHostname()R\x0eisIpOrHostname:\x9d\x01\n\x07trimmed\x12\x19.buf.validate.StringRules\x18\xbe\xe6\x95& \x01(\x08\x42\x65\xc2Hb\n`\n\x0estring.trimmed\x12+value must not start or end with whitespace\x1a!this.trim().size() == this.size()R\x07trimmed:\x99\x01\n\x07is_user\x12\x19.buf.validate.StringRules\x18\xbf\xe6\x95& \x01(\x08\x42\x62\xc2H_\n]\n\x0estring.is_user\x12#must be within 2 and 512 characters\x1a&this.size() >= 2 && this.size() <= 512R\x06isUser:\x9f\x01\n\tis_option\x12\x19.buf.validate.StringRules\x18\xc0\xe6\x95& \x01(\x08\x42\x64\xc2Ha\n_\n\x10string.is_option\x12#must be within 1 and 128 characters\x1a&this.size() >= 1 && this.size() <= 128R\x08isOption:\x98\x01\n\x06is_key\x12\x19.buf.validate.StringRules\x18\xc1\xe6\x95& \x01(\x08\x42\x63\xc2H`\n^\n\rstring.is_key\x12$must be within 1 and 8192 characters\x1a\'this.size() >= 1 && this.size() <= 8192R\x05isKey:\x8f\x01\n\x08prefixes\x12\x1b.buf.validate.RepeatedRules\x18\xc7\xb4\x96& \x01(\x08\x42S\xc2HP\nN\n\x11repeated.prefixes\x12\x1cgiven prefixes must be valid\x1a\x1bthis.all(m, m.isIpPrefix())R\x08prefixes:u\n\x03ips\x12\x1b.buf.validate.RepeatedRules\x18\xc8\xb4\x96& \x01(\x08\x42\x43\xc2H@\n>\n\x0crepeated.ips\x12\x17given ips must be valid\x1a\x15this.all(m, m.isIp())R\x03ips:\xe6\x01\n\x11\x61re_host_and_port\x12\x1b.buf.validate.RepeatedRules\x18\xc9\xb4\x96& \x01(\x08\x42\x9a\x01\xc2H\x96\x01\n\x93\x01\n\x1arepeated.are_host_and_port\x12Pgiven entries must all be in the form of : but port is optional\x1a#this.all(m, m.isHostAndPort(false))R\x0e\x61reHostAndPort:\xba\x01\n\x0b\x61ll_trimmed\x12\x1b.buf.validate.RepeatedRules\x18\xca\xb4\x96& \x01(\x08\x42y\xc2Hv\nt\n\x14repeated.all_trimmed\x12\x32given values must not start or end with whitespace\x1a(this.all(m, m.trim().size() == m.size())R\nallTrimmed:\x84\x02\n\x17keys_and_values_trimmed\x12\x16.buf.validate.MapRules\x18\xd7\x82\x97& \x01(\x08\x42\xb1\x01\xc2H\xad\x01\n\xaa\x01\n\x1bmap.keys_and_values_trimmed\x12\x35keys and values must not start or end with whitespace\x1aTthis.all(k, k.trim().size() == k.size()) && this.all(v, v.trim().size() == v.size())R\x14keysAndValuesTrimmed:\xab\x01\n\x0ckeys_trimmed\x12\x16.buf.validate.MapRules\x18\xd8\x82\x97& \x01(\x08\x42m\xc2Hj\nh\n\x10map.keys_trimmed\x12*keys must not start or end with whitespace\x1a(this.all(k, k.trim().size() == k.size())R\x0bkeysTrimmedB\xca\x01\n\x15\x63om.metalstack.api.v2B\x14PredefinedRulesProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(metalstack/api/v2/predefined_rules.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto:\xb8\x01\n\nmacaddress\x12\x19.buf.validate.StringRules\x18\xb7\xe6\x95& \x01(\x08\x42z\xc2Hw\nu\n\x11string.macaddress\x12&this string must be a valid macaddress\x1a\x38this.matches(\'^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$\')R\nmacaddress:\x99\x01\n\x07is_name\x12\x19.buf.validate.StringRules\x18\xb8\xe6\x95& \x01(\x08\x42\x62\xc2H_\n]\n\x0estring.is_name\x12#must be within 2 and 128 characters\x1a&this.size() >= 2 && this.size() <= 128R\x06isName:\x9a\x01\n\x0eis_description\x12\x19.buf.validate.StringRules\x18\xb9\xe6\x95& \x01(\x08\x42U\xc2HR\nP\n\x15string.is_description\x12#must be shorter than 256 characters\x1a\x12this.size() <= 256R\risDescription:\xa8\x01\n\x0cis_partition\x12\x19.buf.validate.StringRules\x18\xba\xe6\x95& \x01(\x08\x42g\xc2Hd\nb\n\x13string.is_partition\x12#must be within 2 and 128 characters\x1a&this.size() >= 2 && this.size() <= 128R\x0bisPartition:\x82\x01\n\tis_prefix\x12\x19.buf.validate.StringRules\x18\xbb\xe6\x95& \x01(\x08\x42G\xc2HD\nB\n\x0fstring.prefixes\x12\x1cgiven prefixes must be valid\x1a\x11this.isIpPrefix()R\x08isPrefix:m\n\x06is_uri\x12\x19.buf.validate.StringRules\x18\xbc\xe6\x95& \x01(\x08\x42\x38\xc2H5\n3\n\nstring.uri\x12\x17given uri must be valid\x1a\x0cthis.isUri()R\x05isUri:\xa7\x01\n\x11is_ip_or_hostname\x12\x19.buf.validate.StringRules\x18\xbd\xe6\x95& \x01(\x08\x42^\xc2H[\nY\n\rvalid_address\x12&must be a valid IP address or hostname\x1a this.isIp() || this.isHostname()R\x0eisIpOrHostname:\x9d\x01\n\x07trimmed\x12\x19.buf.validate.StringRules\x18\xbe\xe6\x95& \x01(\x08\x42\x65\xc2Hb\n`\n\x0estring.trimmed\x12+value must not start or end with whitespace\x1a!this.trim().size() == this.size()R\x07trimmed:\x99\x01\n\x07is_user\x12\x19.buf.validate.StringRules\x18\xbf\xe6\x95& \x01(\x08\x42\x62\xc2H_\n]\n\x0estring.is_user\x12#must be within 2 and 512 characters\x1a&this.size() >= 2 && this.size() <= 512R\x06isUser:\x9f\x01\n\tis_option\x12\x19.buf.validate.StringRules\x18\xc0\xe6\x95& \x01(\x08\x42\x64\xc2Ha\n_\n\x10string.is_option\x12#must be within 1 and 128 characters\x1a&this.size() >= 1 && this.size() <= 128R\x08isOption:\x98\x01\n\x06is_key\x12\x19.buf.validate.StringRules\x18\xc1\xe6\x95& \x01(\x08\x42\x63\xc2H`\n^\n\rstring.is_key\x12$must be within 1 and 8192 characters\x1a\'this.size() >= 1 && this.size() <= 8192R\x05isKey:\xb0\x01\n\x0fis_tenant_login\x12\x19.buf.validate.StringRules\x18\xc2\xe6\x95& \x01(\x08\x42j\xc2Hg\ne\n\x16string.is_tenant_login\x12#must be within 2 and 256 characters\x1a&this.size() >= 2 && this.size() <= 256R\risTenantLogin:\x8f\x01\n\x08prefixes\x12\x1b.buf.validate.RepeatedRules\x18\xc7\xb4\x96& \x01(\x08\x42S\xc2HP\nN\n\x11repeated.prefixes\x12\x1cgiven prefixes must be valid\x1a\x1bthis.all(m, m.isIpPrefix())R\x08prefixes:u\n\x03ips\x12\x1b.buf.validate.RepeatedRules\x18\xc8\xb4\x96& \x01(\x08\x42\x43\xc2H@\n>\n\x0crepeated.ips\x12\x17given ips must be valid\x1a\x15this.all(m, m.isIp())R\x03ips:\xe6\x01\n\x11\x61re_host_and_port\x12\x1b.buf.validate.RepeatedRules\x18\xc9\xb4\x96& \x01(\x08\x42\x9a\x01\xc2H\x96\x01\n\x93\x01\n\x1arepeated.are_host_and_port\x12Pgiven entries must all be in the form of : but port is optional\x1a#this.all(m, m.isHostAndPort(false))R\x0e\x61reHostAndPort:\xba\x01\n\x0b\x61ll_trimmed\x12\x1b.buf.validate.RepeatedRules\x18\xca\xb4\x96& \x01(\x08\x42y\xc2Hv\nt\n\x14repeated.all_trimmed\x12\x32given values must not start or end with whitespace\x1a(this.all(m, m.trim().size() == m.size())R\nallTrimmed:\x84\x02\n\x17keys_and_values_trimmed\x12\x16.buf.validate.MapRules\x18\xd7\x82\x97& \x01(\x08\x42\xb1\x01\xc2H\xad\x01\n\xaa\x01\n\x1bmap.keys_and_values_trimmed\x12\x35keys and values must not start or end with whitespace\x1aTthis.all(k, k.trim().size() == k.size()) && this.all(v, v.trim().size() == v.size())R\x14keysAndValuesTrimmed:\xab\x01\n\x0ckeys_trimmed\x12\x16.buf.validate.MapRules\x18\xd8\x82\x97& \x01(\x08\x42m\xc2Hj\nh\n\x10map.keys_trimmed\x12*keys must not start or end with whitespace\x1a(this.all(k, k.trim().size() == k.size())R\x0bkeysTrimmedB\xca\x01\n\x15\x63om.metalstack.api.v2B\x14PredefinedRulesProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -55,6 +55,8 @@ _globals['is_option']._serialized_options = b'\302Ha\n_\n\020string.is_option\022#must be within 1 and 128 characters\032&this.size() >= 1 && this.size() <= 128' _globals['is_key']._loaded_options = None _globals['is_key']._serialized_options = b'\302H`\n^\n\rstring.is_key\022$must be within 1 and 8192 characters\032\'this.size() >= 1 && this.size() <= 8192' + _globals['is_tenant_login']._loaded_options = None + _globals['is_tenant_login']._serialized_options = b'\302Hg\ne\n\026string.is_tenant_login\022#must be within 2 and 256 characters\032&this.size() >= 2 && this.size() <= 256' _globals['prefixes']._loaded_options = None _globals['prefixes']._serialized_options = b'\302HP\nN\n\021repeated.prefixes\022\034given prefixes must be valid\032\033this.all(m, m.isIpPrefix())' _globals['ips']._loaded_options = None diff --git a/python/metalstack/api/v2/predefined_rules_pb2.pyi b/python/metalstack/api/v2/predefined_rules_pb2.pyi index 13f5b236..d46dbfc7 100644 --- a/python/metalstack/api/v2/predefined_rules_pb2.pyi +++ b/python/metalstack/api/v2/predefined_rules_pb2.pyi @@ -25,6 +25,8 @@ IS_OPTION_FIELD_NUMBER: _ClassVar[int] is_option: _descriptor.FieldDescriptor IS_KEY_FIELD_NUMBER: _ClassVar[int] is_key: _descriptor.FieldDescriptor +IS_TENANT_LOGIN_FIELD_NUMBER: _ClassVar[int] +is_tenant_login: _descriptor.FieldDescriptor PREFIXES_FIELD_NUMBER: _ClassVar[int] prefixes: _descriptor.FieldDescriptor IPS_FIELD_NUMBER: _ClassVar[int] diff --git a/python/metalstack/api/v2/project_pb2.py b/python/metalstack/api/v2/project_pb2.py index 1163058c..54099cda 100644 --- a/python/metalstack/api/v2/project_pb2.py +++ b/python/metalstack/api/v2/project_pb2.py @@ -28,7 +28,7 @@ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xe5\x01\n\x07Project\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\x16\n\x06tenant\x18\x05 \x01(\tR\x06tenant\x12\"\n\navatar_url\x18\x06 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"\xf8\x01\n\rProjectMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x31\n\x14inherited_membership\x18\x03 \x01(\x08R\x13inheritedMembership\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x04meta\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\"\xe7\x02\n\rProjectInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12!\n\x0cproject_name\x18\x05 \x01(\tR\x0bprojectName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"\xde\x01\n\x19ProjectServiceListRequest\x12\x13\n\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12(\n\x06tenant\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x02R\x06tenant\x88\x01\x01\x12\x36\n\x06labels\x18\x04 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x03R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\t\n\x07_tenantB\t\n\x07_labels\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\">\n\x18ProjectServiceGetRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x9c\x01\n\x19ProjectServiceGetResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\x12I\n\x0fproject_members\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\xf6\x01\n\x1bProjectServiceCreateRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x05login\x12\x1f\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\"\n\navatar_url\x18\x04 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\r\n\x0b_avatar_url\"T\n\x1cProjectServiceCreateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"A\n\x1bProjectServiceDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cProjectServiceDeleteResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\xf8\x02\n\x1bProjectServiceUpdateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12$\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\navatar_url\x18\x05 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x03R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"T\n\x1cProjectServiceUpdateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x7f\n\x1bProjectServiceInviteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"X\n\x1cProjectServiceInviteResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"F\n ProjectServiceInvitesListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"_\n!ProjectServiceInvitesListResponse\x12:\n\x07invites\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x07invites\"8\n\x1eProjectServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"[\n\x1fProjectServiceInviteGetResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"@\n\x1aProjectServiceLeaveRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x1d\n\x1bProjectServiceLeaveResponse\"_\n!ProjectServiceRemoveMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"$\n\"ProjectServiceRemoveMemberResponse\"\x9d\x01\n!ProjectServiceUpdateMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"m\n\"ProjectServiceUpdateMemberResponse\x12G\n\x0eproject_member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\rprojectMember\";\n!ProjectServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"a\n\"ProjectServiceInviteAcceptResponse\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12!\n\x0cproject_name\x18\x02 \x01(\tR\x0bprojectName\"_\n!ProjectServiceInviteDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"$\n\"ProjectServiceInviteDeleteResponse2\xe2\x0c\n\x0eProjectService\x12m\n\x04List\x12,.metalstack.api.v2.ProjectServiceListRequest\x1a-.metalstack.api.v2.ProjectServiceListResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12m\n\x03Get\x12+.metalstack.api.v2.ProjectServiceGetRequest\x1a,.metalstack.api.v2.ProjectServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.ProjectServiceCreateRequest\x1a/.metalstack.api.v2.ProjectServiceCreateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.api.v2.ProjectServiceDeleteRequest\x1a/.metalstack.api.v2.ProjectServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.ProjectServiceUpdateRequest\x1a/.metalstack.api.v2.ProjectServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12q\n\x05Leave\x12-.metalstack.api.v2.ProjectServiceLeaveRequest\x1a..metalstack.api.v2.ProjectServiceLeaveResponse\"\t\xca\xf3\x18\x01\x03\xe0\xf3\x18\x01\x12\x86\x01\n\x0cRemoveMember\x12\x34.metalstack.api.v2.ProjectServiceRemoveMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceRemoveMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n\x0cUpdateMember\x12\x34.metalstack.api.v2.ProjectServiceUpdateMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceUpdateMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Invite\x12..metalstack.api.v2.ProjectServiceInviteRequest\x1a/.metalstack.api.v2.ProjectServiceInviteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x85\x01\n\x0cInviteAccept\x12\x34.metalstack.api.v2.ProjectServiceInviteAcceptRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12\x86\x01\n\x0cInviteDelete\x12\x34.metalstack.api.v2.ProjectServiceInviteDeleteRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0bInvitesList\x12\x33.metalstack.api.v2.ProjectServiceInvitesListRequest\x1a\x34.metalstack.api.v2.ProjectServiceInvitesListResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12|\n\tInviteGet\x12\x31.metalstack.api.v2.ProjectServiceInviteGetRequest\x1a\x32.metalstack.api.v2.ProjectServiceInviteGetResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cProjectProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xf2\x01\n\x07Project\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\x16\n\x06tenant\x18\x05 \x01(\tR\x06tenant\x12/\n\navatar_url\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"\xf8\x01\n\rProjectMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x31\n\x14inherited_membership\x18\x03 \x01(\x08R\x13inheritedMembership\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x04meta\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\"\xe7\x02\n\rProjectInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12!\n\x0cproject_name\x18\x05 \x01(\tR\x0bprojectName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"\xde\x01\n\x19ProjectServiceListRequest\x12\x13\n\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12(\n\x06tenant\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x02R\x06tenant\x88\x01\x01\x12\x36\n\x06labels\x18\x04 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x03R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\t\n\x07_tenantB\t\n\x07_labels\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\">\n\x18ProjectServiceGetRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x9c\x01\n\x19ProjectServiceGetResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\x12I\n\x0fproject_members\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\x83\x02\n\x1bProjectServiceCreateRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x05login\x12\x1f\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12/\n\navatar_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x00R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\r\n\x0b_avatar_url\"T\n\x1cProjectServiceCreateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"A\n\x1bProjectServiceDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cProjectServiceDeleteResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x85\x03\n\x1bProjectServiceUpdateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12$\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12/\n\navatar_url\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x02R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x03R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"T\n\x1cProjectServiceUpdateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x7f\n\x1bProjectServiceInviteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"X\n\x1cProjectServiceInviteResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"F\n ProjectServiceInvitesListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"_\n!ProjectServiceInvitesListResponse\x12:\n\x07invites\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x07invites\"8\n\x1eProjectServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"[\n\x1fProjectServiceInviteGetResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"@\n\x1aProjectServiceLeaveRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x1d\n\x1bProjectServiceLeaveResponse\"_\n!ProjectServiceRemoveMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"$\n\"ProjectServiceRemoveMemberResponse\"\x9d\x01\n!ProjectServiceUpdateMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"m\n\"ProjectServiceUpdateMemberResponse\x12G\n\x0eproject_member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\rprojectMember\";\n!ProjectServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"a\n\"ProjectServiceInviteAcceptResponse\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12!\n\x0cproject_name\x18\x02 \x01(\tR\x0bprojectName\"_\n!ProjectServiceInviteDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"$\n\"ProjectServiceInviteDeleteResponse2\xe2\x0c\n\x0eProjectService\x12m\n\x04List\x12,.metalstack.api.v2.ProjectServiceListRequest\x1a-.metalstack.api.v2.ProjectServiceListResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12m\n\x03Get\x12+.metalstack.api.v2.ProjectServiceGetRequest\x1a,.metalstack.api.v2.ProjectServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.ProjectServiceCreateRequest\x1a/.metalstack.api.v2.ProjectServiceCreateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.api.v2.ProjectServiceDeleteRequest\x1a/.metalstack.api.v2.ProjectServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.ProjectServiceUpdateRequest\x1a/.metalstack.api.v2.ProjectServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12q\n\x05Leave\x12-.metalstack.api.v2.ProjectServiceLeaveRequest\x1a..metalstack.api.v2.ProjectServiceLeaveResponse\"\t\xca\xf3\x18\x01\x03\xe0\xf3\x18\x01\x12\x86\x01\n\x0cRemoveMember\x12\x34.metalstack.api.v2.ProjectServiceRemoveMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceRemoveMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n\x0cUpdateMember\x12\x34.metalstack.api.v2.ProjectServiceUpdateMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceUpdateMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Invite\x12..metalstack.api.v2.ProjectServiceInviteRequest\x1a/.metalstack.api.v2.ProjectServiceInviteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x85\x01\n\x0cInviteAccept\x12\x34.metalstack.api.v2.ProjectServiceInviteAcceptRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12\x86\x01\n\x0cInviteDelete\x12\x34.metalstack.api.v2.ProjectServiceInviteDeleteRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0bInvitesList\x12\x33.metalstack.api.v2.ProjectServiceInvitesListRequest\x1a\x34.metalstack.api.v2.ProjectServiceInvitesListResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12|\n\tInviteGet\x12\x31.metalstack.api.v2.ProjectServiceInviteGetRequest\x1a\x32.metalstack.api.v2.ProjectServiceInviteGetResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cProjectProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -40,6 +40,8 @@ _globals['_PROJECT'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' _globals['_PROJECT'].fields_by_name['description']._loaded_options = None _globals['_PROJECT'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001' + _globals['_PROJECT'].fields_by_name['avatar_url']._loaded_options = None + _globals['_PROJECT'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001' _globals['_PROJECTMEMBER'].fields_by_name['role']._loaded_options = None _globals['_PROJECTMEMBER'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_PROJECTINVITE'].fields_by_name['role']._loaded_options = None @@ -56,6 +58,8 @@ _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['description']._loaded_options = None _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001' + _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None + _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001' _globals['_PROJECTSERVICEDELETEREQUEST'].fields_by_name['project']._loaded_options = None _globals['_PROJECTSERVICEDELETEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['project']._loaded_options = None @@ -66,6 +70,8 @@ _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['description']._loaded_options = None _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001' + _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None + _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001' _globals['_PROJECTSERVICEINVITEREQUEST'].fields_by_name['project']._loaded_options = None _globals['_PROJECTSERVICEINVITEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_PROJECTSERVICEINVITEREQUEST'].fields_by_name['role']._loaded_options = None @@ -109,63 +115,63 @@ _globals['_PROJECTSERVICE'].methods_by_name['InviteGet']._loaded_options = None _globals['_PROJECTSERVICE'].methods_by_name['InviteGet']._serialized_options = b'\330\363\030\002\340\363\030\002' _globals['_PROJECT']._serialized_start=191 - _globals['_PROJECT']._serialized_end=420 - _globals['_PROJECTMEMBER']._serialized_start=423 - _globals['_PROJECTMEMBER']._serialized_end=671 - _globals['_PROJECTINVITE']._serialized_start=674 - _globals['_PROJECTINVITE']._serialized_end=1033 - _globals['_PROJECTSERVICELISTREQUEST']._serialized_start=1036 - _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=1258 - _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=1260 - _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=1344 - _globals['_PROJECTSERVICEGETREQUEST']._serialized_start=1346 - _globals['_PROJECTSERVICEGETREQUEST']._serialized_end=1408 - _globals['_PROJECTSERVICEGETRESPONSE']._serialized_start=1411 - _globals['_PROJECTSERVICEGETRESPONSE']._serialized_end=1567 - _globals['_PROJECTSERVICECREATEREQUEST']._serialized_start=1570 - _globals['_PROJECTSERVICECREATEREQUEST']._serialized_end=1816 - _globals['_PROJECTSERVICECREATERESPONSE']._serialized_start=1818 - _globals['_PROJECTSERVICECREATERESPONSE']._serialized_end=1902 - _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_start=1904 - _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_end=1969 - _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_start=1971 - _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_end=2055 - _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_start=2058 - _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_end=2434 - _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_start=2436 - _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_end=2520 - _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_start=2522 - _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_end=2649 - _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_start=2651 - _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_end=2739 - _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_start=2741 - _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_end=2811 - _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_start=2813 - _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_end=2908 - _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_start=2910 - _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_end=2966 - _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_start=2968 - _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_end=3059 - _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_start=3061 - _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_end=3125 - _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_start=3127 - _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_end=3156 - _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_start=3158 - _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=3253 - _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=3255 - _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=3291 - _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3294 - _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3451 - _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3453 - _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3562 - _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=3564 - _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=3623 - _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3625 - _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3722 - _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=3724 - _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=3819 - _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=3821 - _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=3857 - _globals['_PROJECTSERVICE']._serialized_start=3860 - _globals['_PROJECTSERVICE']._serialized_end=5494 + _globals['_PROJECT']._serialized_end=433 + _globals['_PROJECTMEMBER']._serialized_start=436 + _globals['_PROJECTMEMBER']._serialized_end=684 + _globals['_PROJECTINVITE']._serialized_start=687 + _globals['_PROJECTINVITE']._serialized_end=1046 + _globals['_PROJECTSERVICELISTREQUEST']._serialized_start=1049 + _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=1271 + _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=1273 + _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=1357 + _globals['_PROJECTSERVICEGETREQUEST']._serialized_start=1359 + _globals['_PROJECTSERVICEGETREQUEST']._serialized_end=1421 + _globals['_PROJECTSERVICEGETRESPONSE']._serialized_start=1424 + _globals['_PROJECTSERVICEGETRESPONSE']._serialized_end=1580 + _globals['_PROJECTSERVICECREATEREQUEST']._serialized_start=1583 + _globals['_PROJECTSERVICECREATEREQUEST']._serialized_end=1842 + _globals['_PROJECTSERVICECREATERESPONSE']._serialized_start=1844 + _globals['_PROJECTSERVICECREATERESPONSE']._serialized_end=1928 + _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_start=1930 + _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_end=1995 + _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_start=1997 + _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_end=2081 + _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_start=2084 + _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_end=2473 + _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_start=2475 + _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_end=2559 + _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_start=2561 + _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_end=2688 + _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_start=2690 + _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_end=2778 + _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_start=2780 + _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_end=2850 + _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_start=2852 + _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_end=2947 + _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_start=2949 + _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_end=3005 + _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_start=3007 + _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_end=3098 + _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_start=3100 + _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_end=3164 + _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_start=3166 + _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_end=3195 + _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_start=3197 + _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=3292 + _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=3294 + _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=3330 + _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3333 + _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3490 + _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3492 + _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3601 + _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=3603 + _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=3662 + _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3664 + _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3761 + _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=3763 + _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=3858 + _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=3860 + _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=3896 + _globals['_PROJECTSERVICE']._serialized_start=3899 + _globals['_PROJECTSERVICE']._serialized_end=5533 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/api/v2/tenant_pb2.py b/python/metalstack/api/v2/tenant_pb2.py index 77c0d8a0..3b2a8d9f 100644 --- a/python/metalstack/api/v2/tenant_pb2.py +++ b/python/metalstack/api/v2/tenant_pb2.py @@ -28,7 +28,7 @@ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/tenant.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xef\x01\n\x06Tenant\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x14\n\x05\x65mail\x18\x04 \x01(\tR\x05\x65mail\x12-\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\x1d\n\navatar_url\x18\x06 \x01(\tR\tavatarUrl\x12\x1d\n\ncreated_by\x18\x07 \x01(\tR\tcreatedBy\"\xdf\x01\n\x0cTenantMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x1a\n\x08projects\x18\x03 \x03(\tR\x08projects\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x04meta\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\"\xfb\x02\n\x0cTenantInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12#\n\rtarget_tenant\x18\x02 \x01(\tR\x0ctargetTenant\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12,\n\x12target_tenant_name\x18\x05 \x01(\tR\x10targetTenantName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"\xa8\x01\n\x18TenantServiceListRequest\x12\x13\n\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\x36\n\x06labels\x18\x03 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x02R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\t\n\x07_labels\"/\n\x17TenantServiceGetRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"\x95\x02\n\x1aTenantServiceCreateRequest\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\"\n\navatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n\x0c_descriptionB\x08\n\x06_emailB\r\n\x0b_avatar_url\"\x97\x03\n\x1aTenantServiceUpdateRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12$\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\"\n\x05\x65mail\x18\x04 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\navatar_url\x18\x06 \x01(\tH\x03R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x07 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x04R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x08\n\x06_emailB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"2\n\x1aTenantServiceDeleteRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"\x95\x01\n\x18TenantServiceGetResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\x12\x46\n\x0etenant_members\x18\x02 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\rtenantMembers\"P\n\x19TenantServiceListResponse\x12\x33\n\x07tenants\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\"P\n\x1bTenantServiceCreateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceUpdateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceDeleteResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"o\n\x1aTenantServiceInviteRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"V\n\x1bTenantServiceInviteResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"7\n\x1fTenantServiceInvitesListRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"]\n TenantServiceInvitesListResponse\x12\x39\n\x07invites\x18\x01 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x07invites\"7\n\x1dTenantServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"Y\n\x1eTenantServiceInviteGetResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"P\n TenantServiceRemoveMemberRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"1\n\x19TenantServiceLeaveRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"\x1c\n\x1aTenantServiceLeaveResponse\"#\n!TenantServiceRemoveMemberResponse\":\n TenantServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"\\\n!TenantServiceInviteAcceptResponse\x12\x16\n\x06tenant\x18\x01 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x02 \x01(\tR\ntenantName\"P\n TenantServiceInviteDeleteRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"#\n!TenantServiceInviteDeleteResponse\"\x8d\x01\n TenantServiceUpdateMemberRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"i\n!TenantServiceUpdateMemberResponse\x12\x44\n\rtenant_member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x0ctenantMember2\xc7\x0c\n\rTenantService\x12q\n\x06\x43reate\x12-.metalstack.api.v2.TenantServiceCreateRequest\x1a..metalstack.api.v2.TenantServiceCreateResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12k\n\x04List\x12+.metalstack.api.v2.TenantServiceListRequest\x1a,.metalstack.api.v2.TenantServiceListResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12l\n\x03Get\x12*.metalstack.api.v2.TenantServiceGetRequest\x1a+.metalstack.api.v2.TenantServiceGetResponse\"\x0c\xc2\xf3\x18\x04\x01\x02\x03\x04\xe0\xf3\x18\x02\x12s\n\x06Update\x12-.metalstack.api.v2.TenantServiceUpdateRequest\x1a..metalstack.api.v2.TenantServiceUpdateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12s\n\x06\x44\x65lete\x12-.metalstack.api.v2.TenantServiceDeleteRequest\x1a..metalstack.api.v2.TenantServiceDeleteResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12o\n\x05Leave\x12,.metalstack.api.v2.TenantServiceLeaveRequest\x1a-.metalstack.api.v2.TenantServiceLeaveResponse\"\t\xc2\xf3\x18\x01\x03\xe0\xf3\x18\x01\x12\x84\x01\n\x0cRemoveMember\x12\x33.metalstack.api.v2.TenantServiceRemoveMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceRemoveMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x84\x01\n\x0cUpdateMember\x12\x33.metalstack.api.v2.TenantServiceUpdateMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceUpdateMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12r\n\x06Invite\x12-.metalstack.api.v2.TenantServiceInviteRequest\x1a..metalstack.api.v2.TenantServiceInviteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0cInviteAccept\x12\x33.metalstack.api.v2.TenantServiceInviteAcceptRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12\x84\x01\n\x0cInviteDelete\x12\x33.metalstack.api.v2.TenantServiceInviteDeleteRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteDeleteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x81\x01\n\x0bInvitesList\x12\x32.metalstack.api.v2.TenantServiceInvitesListRequest\x1a\x33.metalstack.api.v2.TenantServiceInvitesListResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12z\n\tInviteGet\x12\x30.metalstack.api.v2.TenantServiceInviteGetRequest\x1a\x31.metalstack.api.v2.TenantServiceInviteGetResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x42\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bTenantProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/tenant.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\x92\x02\n\x06Tenant\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x1d\n\x05\x65mail\x18\x04 \x01(\tB\x07\xbaH\x04r\x02`\x01R\x05\x65mail\x12-\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12*\n\navatar_url\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01R\tavatarUrl\x12\x1d\n\ncreated_by\x18\x07 \x01(\tR\tcreatedBy\"\xec\x01\n\x0cTenantMember\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x02id\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x1a\n\x08projects\x18\x03 \x03(\tR\x08projects\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x04meta\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\"\xfb\x02\n\x0cTenantInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12#\n\rtarget_tenant\x18\x02 \x01(\tR\x0ctargetTenant\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12,\n\x12target_tenant_name\x18\x05 \x01(\tR\x10targetTenantName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"P\n\x18TenantServiceListRequest\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32\x1e.metalstack.api.v2.TenantQueryR\x05query\"\xe4\x01\n\x0bTenantQuery\x12&\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01H\x00R\x05login\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\x36\n\x06labels\x18\x03 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x02R\x06labels\x88\x01\x01\x12\x31\n\x06paging\x18\x04 \x01(\x0b\x32\x19.metalstack.api.v2.PagingR\x06pagingB\x08\n\x06_loginB\x07\n\x05_nameB\t\n\x07_labels\"/\n\x17TenantServiceGetRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"\xa2\x02\n\x1aTenantServiceCreateRequest\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12/\n\navatar_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x02R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n\x0c_descriptionB\x08\n\x06_emailB\r\n\x0b_avatar_url\"\xb1\x03\n\x1aTenantServiceUpdateRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12$\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\"\n\x05\x65mail\x18\x04 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12/\n\navatar_url\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x03R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x07 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x04R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x08\n\x06_emailB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"?\n\x1aTenantServiceDeleteRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"\x95\x01\n\x18TenantServiceGetResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\x12\x46\n\x0etenant_members\x18\x02 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\rtenantMembers\"P\n\x19TenantServiceListResponse\x12\x33\n\x07tenants\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\"P\n\x1bTenantServiceCreateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceUpdateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceDeleteResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"|\n\x1aTenantServiceInviteRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"V\n\x1bTenantServiceInviteResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"D\n\x1fTenantServiceInvitesListRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"]\n TenantServiceInvitesListResponse\x12\x39\n\x07invites\x18\x01 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x07invites\"7\n\x1dTenantServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"Y\n\x1eTenantServiceInviteGetResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"]\n TenantServiceRemoveMemberRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\">\n\x19TenantServiceLeaveRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"\x1c\n\x1aTenantServiceLeaveResponse\"#\n!TenantServiceRemoveMemberResponse\":\n TenantServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"\\\n!TenantServiceInviteAcceptResponse\x12\x16\n\x06tenant\x18\x01 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x02 \x01(\tR\ntenantName\"]\n TenantServiceInviteDeleteRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"#\n!TenantServiceInviteDeleteResponse\"\xa7\x01\n TenantServiceUpdateMemberRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12#\n\x06member\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06member\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"i\n!TenantServiceUpdateMemberResponse\x12\x44\n\rtenant_member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x0ctenantMember2\xc7\x0c\n\rTenantService\x12q\n\x06\x43reate\x12-.metalstack.api.v2.TenantServiceCreateRequest\x1a..metalstack.api.v2.TenantServiceCreateResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12k\n\x04List\x12+.metalstack.api.v2.TenantServiceListRequest\x1a,.metalstack.api.v2.TenantServiceListResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12l\n\x03Get\x12*.metalstack.api.v2.TenantServiceGetRequest\x1a+.metalstack.api.v2.TenantServiceGetResponse\"\x0c\xc2\xf3\x18\x04\x01\x02\x03\x04\xe0\xf3\x18\x02\x12s\n\x06Update\x12-.metalstack.api.v2.TenantServiceUpdateRequest\x1a..metalstack.api.v2.TenantServiceUpdateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12s\n\x06\x44\x65lete\x12-.metalstack.api.v2.TenantServiceDeleteRequest\x1a..metalstack.api.v2.TenantServiceDeleteResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12o\n\x05Leave\x12,.metalstack.api.v2.TenantServiceLeaveRequest\x1a-.metalstack.api.v2.TenantServiceLeaveResponse\"\t\xc2\xf3\x18\x01\x03\xe0\xf3\x18\x01\x12\x84\x01\n\x0cRemoveMember\x12\x33.metalstack.api.v2.TenantServiceRemoveMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceRemoveMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x84\x01\n\x0cUpdateMember\x12\x33.metalstack.api.v2.TenantServiceUpdateMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceUpdateMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12r\n\x06Invite\x12-.metalstack.api.v2.TenantServiceInviteRequest\x1a..metalstack.api.v2.TenantServiceInviteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0cInviteAccept\x12\x33.metalstack.api.v2.TenantServiceInviteAcceptRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12\x84\x01\n\x0cInviteDelete\x12\x33.metalstack.api.v2.TenantServiceInviteDeleteRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteDeleteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x81\x01\n\x0bInvitesList\x12\x32.metalstack.api.v2.TenantServiceInvitesListRequest\x1a\x33.metalstack.api.v2.TenantServiceInvitesListResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12z\n\tInviteGet\x12\x30.metalstack.api.v2.TenantServiceInviteGetRequest\x1a\x31.metalstack.api.v2.TenantServiceInviteGetResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x42\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bTenantProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,22 +36,36 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\025com.metalstack.api.v2B\013TenantProtoP\001Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\242\002\003MAX\252\002\021Metalstack.Api.V2\312\002\021Metalstack\\Api\\V2\342\002\035Metalstack\\Api\\V2\\GPBMetadata\352\002\023Metalstack::Api::V2' + _globals['_TENANT'].fields_by_name['login']._loaded_options = None + _globals['_TENANT'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' _globals['_TENANT'].fields_by_name['name']._loaded_options = None _globals['_TENANT'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' + _globals['_TENANT'].fields_by_name['email']._loaded_options = None + _globals['_TENANT'].fields_by_name['email']._serialized_options = b'\272H\004r\002`\001' _globals['_TENANT'].fields_by_name['description']._loaded_options = None _globals['_TENANT'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001' + _globals['_TENANT'].fields_by_name['avatar_url']._loaded_options = None + _globals['_TENANT'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001' + _globals['_TENANTMEMBER'].fields_by_name['id']._loaded_options = None + _globals['_TENANTMEMBER'].fields_by_name['id']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' _globals['_TENANTMEMBER'].fields_by_name['role']._loaded_options = None _globals['_TENANTMEMBER'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_TENANTINVITE'].fields_by_name['role']._loaded_options = None _globals['_TENANTINVITE'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' - _globals['_TENANTSERVICELISTREQUEST'].fields_by_name['name']._loaded_options = None - _globals['_TENANTSERVICELISTREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' + _globals['_TENANTQUERY'].fields_by_name['login']._loaded_options = None + _globals['_TENANTQUERY'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTQUERY'].fields_by_name['name']._loaded_options = None + _globals['_TENANTQUERY'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['name']._loaded_options = None _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['description']._loaded_options = None _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001' _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['email']._loaded_options = None _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['email']._serialized_options = b'\272H\004r\002`\001' + _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None + _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001' + _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._loaded_options = None _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._serialized_options = b'\272H\003\310\001\001' _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['name']._loaded_options = None @@ -60,8 +74,26 @@ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['email']._serialized_options = b'\272H\004r\002`\001' _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['description']._loaded_options = None _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001' + _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None + _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001' + _globals['_TENANTSERVICEDELETEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTSERVICEDELETEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTSERVICEINVITEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTSERVICEINVITEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' _globals['_TENANTSERVICEINVITEREQUEST'].fields_by_name['role']._loaded_options = None _globals['_TENANTSERVICEINVITEREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' + _globals['_TENANTSERVICEINVITESLISTREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTSERVICEINVITESLISTREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTSERVICELEAVEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTSERVICELEAVEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTSERVICEINVITEDELETEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTSERVICEINVITEDELETEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['member']._loaded_options = None + _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['role']._loaded_options = None _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_TENANTSERVICE'].methods_by_name['Create']._loaded_options = None @@ -91,63 +123,65 @@ _globals['_TENANTSERVICE'].methods_by_name['InviteGet']._loaded_options = None _globals['_TENANTSERVICE'].methods_by_name['InviteGet']._serialized_options = b'\330\363\030\002\340\363\030\002' _globals['_TENANT']._serialized_start=190 - _globals['_TENANT']._serialized_end=429 - _globals['_TENANTMEMBER']._serialized_start=432 - _globals['_TENANTMEMBER']._serialized_end=655 - _globals['_TENANTINVITE']._serialized_start=658 - _globals['_TENANTINVITE']._serialized_end=1037 - _globals['_TENANTSERVICELISTREQUEST']._serialized_start=1040 - _globals['_TENANTSERVICELISTREQUEST']._serialized_end=1208 - _globals['_TENANTSERVICEGETREQUEST']._serialized_start=1210 - _globals['_TENANTSERVICEGETREQUEST']._serialized_end=1257 - _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=1260 - _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=1537 - _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_start=1540 - _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_end=1947 - _globals['_TENANTSERVICEDELETEREQUEST']._serialized_start=1949 - _globals['_TENANTSERVICEDELETEREQUEST']._serialized_end=1999 - _globals['_TENANTSERVICEGETRESPONSE']._serialized_start=2002 - _globals['_TENANTSERVICEGETRESPONSE']._serialized_end=2151 - _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=2153 - _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=2233 - _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=2235 - _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=2315 - _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_start=2317 - _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_end=2397 - _globals['_TENANTSERVICEDELETERESPONSE']._serialized_start=2399 - _globals['_TENANTSERVICEDELETERESPONSE']._serialized_end=2479 - _globals['_TENANTSERVICEINVITEREQUEST']._serialized_start=2481 - _globals['_TENANTSERVICEINVITEREQUEST']._serialized_end=2592 - _globals['_TENANTSERVICEINVITERESPONSE']._serialized_start=2594 - _globals['_TENANTSERVICEINVITERESPONSE']._serialized_end=2680 - _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_start=2682 - _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_end=2737 - _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_start=2739 - _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_end=2832 - _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_start=2834 - _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_end=2889 - _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_start=2891 - _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_end=2980 - _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_start=2982 - _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_end=3062 - _globals['_TENANTSERVICELEAVEREQUEST']._serialized_start=3064 - _globals['_TENANTSERVICELEAVEREQUEST']._serialized_end=3113 - _globals['_TENANTSERVICELEAVERESPONSE']._serialized_start=3115 - _globals['_TENANTSERVICELEAVERESPONSE']._serialized_end=3143 - _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=3145 - _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=3180 - _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_start=3182 - _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_end=3240 - _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3242 - _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3334 - _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_start=3336 - _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_end=3416 - _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_start=3418 - _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_end=3453 - _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3456 - _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3597 - _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3599 - _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3704 - _globals['_TENANTSERVICE']._serialized_start=3707 - _globals['_TENANTSERVICE']._serialized_end=5314 + _globals['_TENANT']._serialized_end=464 + _globals['_TENANTMEMBER']._serialized_start=467 + _globals['_TENANTMEMBER']._serialized_end=703 + _globals['_TENANTINVITE']._serialized_start=706 + _globals['_TENANTINVITE']._serialized_end=1085 + _globals['_TENANTSERVICELISTREQUEST']._serialized_start=1087 + _globals['_TENANTSERVICELISTREQUEST']._serialized_end=1167 + _globals['_TENANTQUERY']._serialized_start=1170 + _globals['_TENANTQUERY']._serialized_end=1398 + _globals['_TENANTSERVICEGETREQUEST']._serialized_start=1400 + _globals['_TENANTSERVICEGETREQUEST']._serialized_end=1447 + _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=1450 + _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=1740 + _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_start=1743 + _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_end=2176 + _globals['_TENANTSERVICEDELETEREQUEST']._serialized_start=2178 + _globals['_TENANTSERVICEDELETEREQUEST']._serialized_end=2241 + _globals['_TENANTSERVICEGETRESPONSE']._serialized_start=2244 + _globals['_TENANTSERVICEGETRESPONSE']._serialized_end=2393 + _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=2395 + _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=2475 + _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=2477 + _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=2557 + _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_start=2559 + _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_end=2639 + _globals['_TENANTSERVICEDELETERESPONSE']._serialized_start=2641 + _globals['_TENANTSERVICEDELETERESPONSE']._serialized_end=2721 + _globals['_TENANTSERVICEINVITEREQUEST']._serialized_start=2723 + _globals['_TENANTSERVICEINVITEREQUEST']._serialized_end=2847 + _globals['_TENANTSERVICEINVITERESPONSE']._serialized_start=2849 + _globals['_TENANTSERVICEINVITERESPONSE']._serialized_end=2935 + _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_start=2937 + _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_end=3005 + _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_start=3007 + _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_end=3100 + _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_start=3102 + _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_end=3157 + _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_start=3159 + _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_end=3248 + _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_start=3250 + _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_end=3343 + _globals['_TENANTSERVICELEAVEREQUEST']._serialized_start=3345 + _globals['_TENANTSERVICELEAVEREQUEST']._serialized_end=3407 + _globals['_TENANTSERVICELEAVERESPONSE']._serialized_start=3409 + _globals['_TENANTSERVICELEAVERESPONSE']._serialized_end=3437 + _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=3439 + _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=3474 + _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_start=3476 + _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_end=3534 + _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3536 + _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3628 + _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_start=3630 + _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_end=3723 + _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_start=3725 + _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_end=3760 + _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3763 + _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3930 + _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3932 + _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=4037 + _globals['_TENANTSERVICE']._serialized_start=4040 + _globals['_TENANTSERVICE']._serialized_end=5647 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/api/v2/tenant_pb2.pyi b/python/metalstack/api/v2/tenant_pb2.pyi index c677b8c5..009463d5 100644 --- a/python/metalstack/api/v2/tenant_pb2.pyi +++ b/python/metalstack/api/v2/tenant_pb2.pyi @@ -67,14 +67,22 @@ class TenantInvite(_message.Message): def __init__(self, secret: _Optional[str] = ..., target_tenant: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ..., joined: _Optional[bool] = ..., target_tenant_name: _Optional[str] = ..., tenant: _Optional[str] = ..., tenant_name: _Optional[str] = ..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., joined_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class TenantServiceListRequest(_message.Message): - __slots__ = ("id", "name", "labels") - ID_FIELD_NUMBER: _ClassVar[int] + __slots__ = ("query",) + QUERY_FIELD_NUMBER: _ClassVar[int] + query: TenantQuery + def __init__(self, query: _Optional[_Union[TenantQuery, _Mapping]] = ...) -> None: ... + +class TenantQuery(_message.Message): + __slots__ = ("login", "name", "labels", "paging") + LOGIN_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] LABELS_FIELD_NUMBER: _ClassVar[int] - id: str + PAGING_FIELD_NUMBER: _ClassVar[int] + login: str name: str labels: _common_pb2.Labels - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ... + paging: _common_pb2.Paging + def __init__(self, login: _Optional[str] = ..., name: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., paging: _Optional[_Union[_common_pb2.Paging, _Mapping]] = ...) -> None: ... class TenantServiceGetRequest(_message.Message): __slots__ = ("login",) diff --git a/python/metalstack/api/v2/user_pb2.py b/python/metalstack/api/v2/user_pb2.py index 1d32e0c9..708e34da 100644 --- a/python/metalstack/api/v2/user_pb2.py +++ b/python/metalstack/api/v2/user_pb2.py @@ -29,7 +29,7 @@ from metalstack.api.v2 import tenant_pb2 as metalstack_dot_api_dot_v2_dot_tenant__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cmetalstack/api/v2/user.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1fmetalstack/api/v2/project.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\xa1\x02\n\x04User\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x1f\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x14\n\x05\x65mail\x18\x03 \x01(\tR\x05\x65mail\x12\x1d\n\navatar_url\x18\x04 \x01(\tR\tavatarUrl\x12\x33\n\x07tenants\x18\x05 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\x12\x36\n\x08projects\x18\x06 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\x12@\n\x0e\x64\x65\x66\x61ult_tenant\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\rdefaultTenant\"\x17\n\x15UserServiceGetRequest\"E\n\x16UserServiceGetResponse\x12+\n\x04user\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.UserR\x04user2s\n\x0bUserService\x12\x64\n\x03Get\x12(.metalstack.api.v2.UserServiceGetRequest\x1a).metalstack.api.v2.UserServiceGetResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x42\xbf\x01\n\x15\x63om.metalstack.api.v2B\tUserProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cmetalstack/api/v2/user.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1fmetalstack/api/v2/project.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\xc4\x02\n\x04User\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12\x1f\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x1d\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01R\x05\x65mail\x12*\n\navatar_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01R\tavatarUrl\x12\x33\n\x07tenants\x18\x05 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\x12\x36\n\x08projects\x18\x06 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\x12@\n\x0e\x64\x65\x66\x61ult_tenant\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\rdefaultTenant\"\x17\n\x15UserServiceGetRequest\"E\n\x16UserServiceGetResponse\x12+\n\x04user\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.UserR\x04user2s\n\x0bUserService\x12\x64\n\x03Get\x12(.metalstack.api.v2.UserServiceGetRequest\x1a).metalstack.api.v2.UserServiceGetResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x42\xbf\x01\n\x15\x63om.metalstack.api.v2B\tUserProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,16 +37,22 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\025com.metalstack.api.v2B\tUserProtoP\001Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\242\002\003MAX\252\002\021Metalstack.Api.V2\312\002\021Metalstack\\Api\\V2\342\002\035Metalstack\\Api\\V2\\GPBMetadata\352\002\023Metalstack::Api::V2' + _globals['_USER'].fields_by_name['login']._loaded_options = None + _globals['_USER'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' _globals['_USER'].fields_by_name['name']._loaded_options = None _globals['_USER'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' + _globals['_USER'].fields_by_name['email']._loaded_options = None + _globals['_USER'].fields_by_name['email']._serialized_options = b'\272H\004r\002`\001' + _globals['_USER'].fields_by_name['avatar_url']._loaded_options = None + _globals['_USER'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001' _globals['_USERSERVICE'].methods_by_name['Get']._loaded_options = None _globals['_USERSERVICE'].methods_by_name['Get']._serialized_options = b'\330\363\030\002\340\363\030\001' _globals['_USER']._serialized_start=220 - _globals['_USER']._serialized_end=509 - _globals['_USERSERVICEGETREQUEST']._serialized_start=511 - _globals['_USERSERVICEGETREQUEST']._serialized_end=534 - _globals['_USERSERVICEGETRESPONSE']._serialized_start=536 - _globals['_USERSERVICEGETRESPONSE']._serialized_end=605 - _globals['_USERSERVICE']._serialized_start=607 - _globals['_USERSERVICE']._serialized_end=722 + _globals['_USER']._serialized_end=544 + _globals['_USERSERVICEGETREQUEST']._serialized_start=546 + _globals['_USERSERVICEGETREQUEST']._serialized_end=569 + _globals['_USERSERVICEGETRESPONSE']._serialized_start=571 + _globals['_USERSERVICEGETRESPONSE']._serialized_end=640 + _globals['_USERSERVICE']._serialized_start=642 + _globals['_USERSERVICE']._serialized_end=757 # @@protoc_insertion_point(module_scope)