diff --git a/doc/index.html b/doc/index.html index d57f5f76..1e379b19 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1800,22 +1800,10 @@

Table of Contents

MProjectInvite -
  • - MProjectMember -
  • -
  • MProjectQuery
  • -
  • - MProjectServiceAddMemberRequest -
  • - -
  • - MProjectServiceAddMemberResponse -
  • -
  • MProjectServiceCreateRequest
  • @@ -1881,50 +1869,97 @@

    Table of Contents

  • - MProjectServiceLeaveRequest + MProjectServiceListRequest
  • - MProjectServiceLeaveResponse + MProjectServiceListResponse
  • - MProjectServiceListRequest + MProjectServiceUpdateRequest
  • - MProjectServiceListResponse + MProjectServiceUpdateResponse
  • + + +
  • - MProjectServiceRemoveMemberRequest + SProjectService
  • + + + + +
  • + metalstack/api/v2/project_member.proto + @@ -1935,6 +1970,22 @@

    Table of Contents

    metalstack/admin/v2/project.proto +
  • + + +
  • + metalstack/api/v2/tenant_member.proto + @@ -15945,60 +16039,6 @@

    ProjectInvite

    -

    ProjectMember

    -

    ProjectMember defines a user that participates in a project.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeLabelDescription
    idstring

    Id is the user id of the member.

    roleProjectRole

    Role is the role of the member.

    inherited_membershipbool

    InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. -This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. -Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members.

    created_atgoogle.protobuf.Timestamp

    CreatedAt the date when the member was added to the project.

    metaMeta

    Meta for this project member.

    - - - - -

    ProjectQuery

    ProjectQuery is used to search projects.

    @@ -16044,68 +16084,6 @@

    ProjectQuery

    -

    ProjectServiceAddMemberRequest

    -

    ProjectServiceAddMemberRequest is the request payload for adding a member to a project.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeLabelDescription
    projectstring

    Project is the uuid of the project.

    memberstring

    Login of the member to add.

    roleProjectRole

    Role to assign to the new member.

    - - - - - -

    ProjectServiceAddMemberResponse

    -

    ProjectServiceAddMemberResponse is the response payload for the add member request.

    - - - - - - - - - - - - - - - - -
    FieldTypeLabelDescription
    project_memberProjectRole

    ProjectRole is the added project member.

    - - - - -

    ProjectServiceCreateRequest

    ProjectServiceCreateRequest is the request payload to Create a project.

    @@ -16272,13 +16250,6 @@

    ProjectServiceGetResponse

    Project is the project.

    - - project_members - ProjectMember - repeated -

    ProjectMembers in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions.

    - - @@ -16532,8 +16503,8 @@

    ProjectServiceInvit -

    ProjectServiceLeaveRequest

    -

    ProjectServiceLeaveRequest is used to leave a project.

    +

    ProjectServiceListRequest

    +

    ProjectServiceListRequest is the request payload to list all projects.

    @@ -16543,39 +16514,8 @@

    ProjectServiceLeaveRequest

    - - - - - - - -
    projectstring

    Project is the uuid of the project.

    - - - - - -

    ProjectServiceLeaveResponse

    -

    ProjectServiceLeaveResponse is the response payload to a leave project request.

    - - - - - -

    ProjectServiceListRequest

    -

    ProjectServiceListRequest is the request payload to list all projects.

    - - - - - - - - - - - + + @@ -16611,106 +16551,6 @@

    ProjectServiceListResponse -

    ProjectServiceRemoveMemberRequest

    -

    ProjectServiceRemoveMemberRequest is used to remove a member from a project.

    - - -
    FieldTypeLabelDescription
    queryProjectQueryqueryProjectQuery

    Query for projects.

    - - - - - - - - - - - - - - - - - - - - -
    FieldTypeLabelDescription
    projectstring

    Project is the uuid of the project.

    memberstring

    Member is the id of the member to remove from this project.

    - - - - - -

    ProjectServiceRemoveMemberResponse

    -

    ProjectServiceRemoveMemberResponse is the response payload to a remove member request.

    - - - - - -

    ProjectServiceUpdateMemberRequest

    -

    ProjectServiceUpdateMemberRequest is used to update a member of a project.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeLabelDescription
    projectstring

    Project is the uuid of the project.

    memberstring

    Member is the id of the member to remove from this project.

    roleProjectRole

    Role is the role in this project the user will get after the update.

    - - - - - -

    ProjectServiceUpdateMemberResponse

    -

    ProjectServiceUpdateMemberResponse is the response payload to a update member request.

    - - - - - - - - - - - - - - - - -
    FieldTypeLabelDescription
    project_memberProjectMember

    ProjectMember is the updated project member.

    - - - - -

    ProjectServiceUpdateRequest

    ProjectServiceUpdateRequest is the request payload to update a project.

    @@ -16843,34 +16683,6 @@

    ProjectService

    Update a project.

    - - Leave - ProjectServiceLeaveRequest - ProjectServiceLeaveResponse -

    Leave project.

    - - - - AddMember - ProjectServiceAddMemberRequest - ProjectServiceAddMemberResponse -

    AddMember adds a user to a project.

    - - - - RemoveMember - ProjectServiceRemoveMemberRequest - ProjectServiceRemoveMemberResponse -

    RemoveMember removes a user from a project.

    - - - - UpdateMember - ProjectServiceUpdateMemberRequest - ProjectServiceUpdateMemberResponse -

    UpdateMember updates a user for a project.

    - - Invite ProjectServiceInviteRequest @@ -16913,13 +16725,13 @@

    ProjectService

    -

    metalstack/admin/v2/project.proto

    Top +

    metalstack/api/v2/project_member.proto

    Top

    -

    ProjectServiceListRequest

    -

    ProjectServiceListRequest is the request payload for listing projects.

    +

    ProjectMember

    +

    ProjectMember defines a user that participates in a project.

    @@ -16929,10 +16741,40 @@

    ProjectServiceListRequest

    - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16942,8 +16784,8 @@

    ProjectServiceListRequest -

    ProjectServiceListResponse

    -

    ProjectServiceListResponse is the response payload for listing projects.

    +

    ProjectMemberQuery

    +

    ProjectQuery is used to search projects.

    querymetalstack.api.v2.ProjectQueryoptional

    Query for projects.

    memberstring

    Member is the user id of the member.

    roleProjectRole

    Role is the role of the member.

    inherited_membershipbool

    InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. +This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. +Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members.

    created_atgoogle.protobuf.Timestamp

    CreatedAt the date when the member was added to the project.

    metaMeta

    Meta for this project member.

    @@ -16953,10 +16795,17 @@

    ProjectServiceListRespon

    - - - - + + + + + + + + + + + @@ -16966,41 +16815,8 @@

    ProjectServiceListRespon - - - - - - -

    ProjectService

    -

    ProjectService provides project management operations.

    -
    projectsmetalstack.api.v2.Projectrepeated

    Projects contains the list of projects.

    memberstringoptional

    Member is the user id of the member.

    roleProjectRoleoptional

    Role is the role of the member.

    - - - - - - - - - - - - - -
    Method NameRequest TypeResponse TypeDescription
    ListProjectServiceListRequestProjectServiceListResponse

    Returns the list of projects matching the filter criteria.

    - - - - -
    -

    metalstack/admin/v2/size.proto

    Top -
    -

    - - -

    SizeServiceCreateRequest

    -

    SizeServiceCreateRequest is the request payload for creating a size.

    +

    ProjectMemberServiceCreateRequest

    +

    ProjectMemberServiceCreateRequest is the request payload to Create a project.

    @@ -17010,10 +16826,24 @@

    SizeServiceCreateRequest

    - - + + - + + + + + + + + + + + + + + + @@ -17023,8 +16853,8 @@

    SizeServiceCreateRequestSizeServiceCreateResponse

    -

    SizeServiceCreateResponse is the response payload for creating a size.

    +

    ProjectMemberServiceCreateResponse

    +

    ProjectMemberServiceCreateResponse is the response payload to create a project member.

    sizemetalstack.api.v2.Sizeprojectstring

    Size is the size to create.

    Project is the uuid of the project.

    memberstring

    Login of the member to add.

    roleProjectRole

    Role to assign to the new member.

    @@ -17034,10 +16864,10 @@

    SizeServiceCreateResponse

    - - + + - + @@ -17047,8 +16877,8 @@

    SizeServiceCreateResponse -

    SizeServiceDeleteRequest

    -

    SizeServiceDeleteRequest is the request payload for deleting a size.

    +

    ProjectMemberServiceDeleteRequest

    +

    ProjectMemberServiceDeleteRequest is the request payload to delete a project.

    sizemetalstack.api.v2.SizememberProjectMember

    Size contains the created size.

    Member is the created project member

    @@ -17058,10 +16888,17 @@

    SizeServiceDeleteRequest

    - + - + + + + + + + + @@ -17071,8 +16908,8 @@

    SizeServiceDeleteRequestSizeServiceDeleteResponse

    -

    SizeServiceDeleteResponse is the response payload for deleting a size.

    +

    ProjectMemberServiceDeleteResponse

    +

    ProjectMemberServiceDeleteResponse is the response payload to delete a project member.

    idproject string

    ID of the size to delete.

    Project is the uuid of the project.

    memberstring

    Member is the id of the member to remove from this project.

    @@ -17082,10 +16919,10 @@

    SizeServiceDeleteResponse

    - - + + - + @@ -17095,8 +16932,8 @@

    SizeServiceDeleteResponse -

    SizeServiceUpdateRequest

    -

    SizeServiceUpdateRequest is the request payload for updating a size.

    +

    ProjectMemberServiceGetRequest

    +

    ProjectMemberServiceGetRequest is the request payload to get a project.

    sizemetalstack.api.v2.SizememberProjectMember

    Size contains the deleted size.

    Member is the deleted project member

    @@ -17106,45 +16943,41 @@

    SizeServiceUpdateRequest

    - + - - - - - - - - + - + - - + + - - - - - - + +
    idproject string

    Id of this size.

    update_metametalstack.api.v2.UpdateMeta

    UpdateMeta contains the timestamp and strategy to be used in this update request.

    Project is the uuid of the project.

    namemember stringoptional

    Name of this size.

    Member is the user id of the member.

    descriptionstringoptional

    Description of this size.

    + + + + + +

    ProjectMemberServiceGetResponse

    +

    ProjectMemberServiceGetResponse is the response payload to get a projects.

    + + + + + + + - - + + - - - - - - - - + @@ -17154,8 +16987,8 @@

    SizeServiceUpdateRequestSizeServiceUpdateResponse

    -

    SizeServiceUpdateResponse is the response payload for updating a size.

    +

    ProjectMemberServiceLeaveRequest

    +

    ProjectMemberServiceLeaveRequest is used to leave a project. This way a member is not required to ask a project owner to remove him.

    FieldTypeLabelDescription
    constraintsmetalstack.api.v2.SizeConstraintmemberProjectMember repeated

    Constraints which must match that a specific machine is considered of this size.

    labelsmetalstack.api.v2.UpdateLabelsoptional

    Labels to update on this size.

    Member in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions.

    @@ -17165,10 +16998,10 @@

    SizeServiceUpdateResponse

    - - + + - + @@ -17178,55 +17011,32 @@

    SizeServiceUpdateResponse +

    ProjectMemberServiceLeaveResponse

    +

    ProjectMemberServiceLeaveResponse is the response payload to a leave project request.

    - - - + +
    sizemetalstack.api.v2.Sizeprojectstring

    Size contains the updated size.

    Project of the uuid of the project that the user wants to leave.

    + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    memberProjectMember

    Member is the member of this project.

    - -

    SizeService

    -

    SizeService provides size management operations.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Method NameRequest TypeResponse TypeDescription
    CreateSizeServiceCreateRequestSizeServiceCreateResponse

    Creates a new size.

    UpdateSizeServiceUpdateRequestSizeServiceUpdateResponse

    Updates a size.

    DeleteSizeServiceDeleteRequestSizeServiceDeleteResponse

    Deletes a size.

    + - - -
    -

    metalstack/api/v2/size_imageconstraint.proto

    Top -
    -

    - -

    ImageConstraint

    -

    ImageConstraint defines a constraint for an image.

    Examples:

    images:

    ubuntu: ">= 20.04.20211011

    debian: ">= 10.0.20210101

    +

    ProjectMemberServiceListRequest

    +

    ProjectMemberServiceListRequest is the request payload to list all project members.

    @@ -17236,17 +17046,17 @@

    ImageConstraint

    - + - + - - + + - + @@ -17256,8 +17066,8 @@

    ImageConstraint

    -

    SizeImageConstraint

    -

    SizeImageConstraint expresses optional restrictions for specific size to image combinations.

    This might be required if the support for a specific hardware in a given size is only supported with a newer version of the image.

    If the size in question is not found, no restrictions apply.

    If the image in question is not found, no restrictions apply as well.

    If the image in question is found, but does not match the given expression, machine creation must be forbidden.

    +

    ProjectMemberServiceListResponse

    +

    ProjectMemberServiceListResponse is the response payload to list all project members.

    imageproject string

    Image of the constraint.

    Project is the uuid of the project.

    semver_matchstringqueryProjectMemberQuery

    SemverMatch which defines in semver match format which image version should apply.

    Query for projects.

    @@ -17267,38 +17077,10 @@

    SizeImageConstraint

    - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + @@ -17308,8 +17090,8 @@

    SizeImageConstraint

    -

    SizeImageConstraintQuery

    -

    SizeImageConstraintQuery is used to search size image constraints.

    +

    ProjectMemberServiceUpdateRequest

    +

    ProjectMemberServiceUpdateRequest is the request payload to update a project.

    sizestring

    Size where this constraint should apply.

    image_constraintsImageConstraintmembersProjectMember repeated

    ImageConstraints to apply to this size.

    metaMeta

    Meta for this size image constraint.

    namestringoptional

    Name of this size image constraint.

    descriptionstringoptional

    Description of this size image constraint.

    Members is a list of project members.

    @@ -17319,24 +17101,31 @@

    SizeImageConstraintQuery

    - + - - + + - + - - + + - - - - + + + + + + + + + + + @@ -17346,8 +17135,8 @@

    SizeImageConstraintQuery

    SizeImageConstraintServiceTryRequest -

    SizeImageConstraintServiceTryRequest is the request payload for a size image constraint try request.

    +

    ProjectMemberServiceUpdateResponse

    +

    ProjectMemberServiceUpdateResponse is the response payload to update a project member.

    sizeproject stringoptional

    Size of the size image constraint.

    Project is the uuid of the project.

    namemember stringoptional

    Name of the size image constraint to query.

    Member is the id of the member to remove from this project.

    descriptionstringoptional

    Description of the size image constraint to query.

    roleProjectRole

    Role is the role in this project the user will get after the update.

    update_metaUpdateMeta

    UpdateMeta contains the timestamp and strategy to be used in this update request.

    @@ -17357,17 +17146,10 @@

    SizeImageConstra

    - - - - - - - - - + + - + @@ -17377,21 +17159,14 @@

    SizeImageConstra -

    SizeImageConstraintServiceTryResponse

    -

    SizeImageConstraintServiceTryResponse is the response payload for a size image constraint try request.

    - - - - - -

    SizeImageConstraintService

    -

    SizeImageConstraintService provides size and image constraint validation operations.

    +

    ProjectMemberService

    +

    ProjectMemberService provides project management operations.

    sizestring

    Size to try.

    imagestringmemberProjectMember

    Image to try.

    Member is the updated project member

    @@ -17399,10 +17174,45 @@

    SizeImageConstraintService

    - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17412,13 +17222,13 @@

    SizeImageConstraintService
    -

    metalstack/admin/v2/size_imageconstraint.proto

    Top +

    metalstack/admin/v2/project.proto

    Top

    -

    SizeImageConstraintServiceCreateRequest

    -

    SizeImageConstraintServiceCreateRequest is the request payload for creating a size image constraint.

    +

    ProjectServiceAddMemberRequest

    +

    ProjectServiceAddMemberRequest is the request payload for adding a member to a tenant.

    Method NameRequest TypeResponse TypeDescription
    TrySizeImageConstraintServiceTryRequestSizeImageConstraintServiceTryResponse

    Try validates if a given combination of size and image is possible.

    ListProjectMemberServiceListRequestProjectMemberServiceListResponse

    Returns the list of project members.

    GetProjectMemberServiceGetRequestProjectMemberServiceGetResponse

    Returns the project member of the project.

    CreateProjectMemberServiceCreateRequestProjectMemberServiceCreateResponse

    Create a project member.

    DeleteProjectMemberServiceDeleteRequestProjectMemberServiceDeleteResponse

    Delete a project member.

    UpdateProjectMemberServiceUpdateRequestProjectMemberServiceUpdateResponse

    Update a project member.

    LeaveProjectMemberServiceLeaveRequestProjectMemberServiceLeaveResponse

    Leave a project.

    @@ -17428,38 +17238,24 @@

    SizeImageCo

    - + - - - - - - - - - - - - - - - + - + - - + + - - - - + + + + @@ -17469,8 +17265,8 @@

    SizeImageCo -

    SizeImageConstraintServiceCreateResponse

    -

    SizeImageConstraintServiceCreateResponse is the response payload for creating a size image constraint.

    +

    ProjectServiceAddMemberResponse

    +

    ProjectServiceAddMemberResponse is the response payload for the add member request.

    sizeproject string

    Size of the constraint.

    image_constraintsmetalstack.api.v2.ImageConstraintrepeated

    ImageConstraints to apply to this size.

    metametalstack.api.v2.Meta

    Meta for this size image constraint.

    Project is the uuid of the project.

    namemember stringoptional

    Name of this size image constraint.

    Login of the member to add.

    descriptionstringoptional

    Description of this size image constraint.

    rolemetalstack.api.v2.ProjectRole

    Role to assign to the new member.

    @@ -17480,10 +17276,10 @@

    SizeImageC

    - - + + - + @@ -17493,8 +17289,8 @@

    SizeImageC -

    SizeImageConstraintServiceDeleteRequest

    -

    SizeImageConstraintServiceDeleteRequest is the request payload for deleting a size image constraint.

    +

    ProjectServiceCreateRequest

    +

    ProjectServiceCreateRequest is the request payload to Create a project.

    size_image_constraintmetalstack.api.v2.SizeImageConstraintmembermetalstack.api.v2.ProjectMember

    SizeImageConstraint contains the created constraint.

    Member is the added project member.

    @@ -17504,58 +17300,45 @@

    SizeImageCo

    - + - + - -
    sizelogin string

    Size of the constraint.

    Login is the tenant of this project.

    - - - - - -

    SizeImageConstraintServiceDeleteResponse

    -

    SizeImageConstraintServiceDeleteResponse is the response payload for deleting a size image constraint.

    - - - - - - - - - - + + - + - -
    FieldTypeLabelDescription
    size_image_constraintmetalstack.api.v2.SizeImageConstraintnamestring

    SizeImageConstraint contains the deleted constraint.

    Name of this project, unique per tenant.

    - - - - - -

    SizeImageConstraintServiceGetRequest

    -

    SizeImageConstraintServiceGetRequest is the request payload for getting a size image constraint.

    - - - - - - - + + + + + + - + + + + + + + + - + + + + + + + + @@ -17565,8 +17348,8 @@

    SizeImageConst -

    SizeImageConstraintServiceGetResponse

    -

    SizeImageConstraintServiceGetResponse is the response payload for getting a size image constraint.

    +

    ProjectServiceCreateResponse

    +

    ProjectServiceCreateResponse is the response payload for creating a project.

    FieldTypeLabelDescription
    descriptionstring

    Description of this project.

    sizeavatar_url stringoptional

    Avatar URL of the project.

    labelsmetalstack.api.v2.Labels

    Size of the constraint.

    Labels on the project.

    projectstringoptional

    Project is the uuid of the project.

    @@ -17576,10 +17359,10 @@

    SizeImageCons

    - - + + - + @@ -17589,8 +17372,8 @@

    SizeImageCons -

    SizeImageConstraintServiceListRequest

    -

    SizeImageConstraintServiceListRequest is the request payload for listing size image constraints.

    +

    ProjectServiceListRequest

    +

    ProjectServiceListRequest is the request payload for listing projects.

    size_image_constraintmetalstack.api.v2.SizeImageConstraintprojectmetalstack.api.v2.Project

    SizeImageConstraint contains the retrieved constraint.

    Project contains the created project.

    @@ -17601,9 +17384,9 @@

    SizeImageCons

    - - - + + + @@ -17613,8 +17396,8 @@

    SizeImageCons -

    SizeImageConstraintServiceListResponse

    -

    SizeImageConstraintServiceListResponse is the response payload for listing size image constraints.

    +

    ProjectServiceListResponse

    +

    ProjectServiceListResponse is the response payload for listing projects.

    querymetalstack.api.v2.SizeImageConstraintQuery

    Query for size image constraints.

    metalstack.api.v2.ProjectQueryoptional

    Query for projects.

    @@ -17624,10 +17407,10 @@

    SizeImageCon

    - - + + - + @@ -17637,8 +17420,8 @@

    SizeImageCon -

    SizeImageConstraintServiceUpdateRequest

    -

    SizeImageConstraintServiceUpdateRequest is the request payload for updating a size image constraint.

    +

    ProjectServiceRemoveMemberRequest

    +

    ProjectServiceRemoveMemberRequest is the request payload for removing a member from a project.

    size_image_constraintsmetalstack.api.v2.SizeImageConstraintprojectsmetalstack.api.v2.Project repeated

    SizeImageConstraints contains the list of constraints.

    Projects contains the list of projects.

    @@ -17648,38 +17431,17 @@

    SizeImageCo

    - + - - - - - - - - - - - - - - - - - - - - - - + - + - - + + @@ -17689,8 +17451,8 @@

    SizeImageCo -

    SizeImageConstraintServiceUpdateResponse

    -

    SizeImageConstraintServiceUpdateResponse is the response payload for updating a size image constraint.

    +

    ProjectServiceRemoveMemberResponse

    +

    ProjectServiceRemoveMemberResponse is the response payload for the remove member request.

    sizeproject string

    Size of the image constraint to update.

    update_metametalstack.api.v2.UpdateMeta

    UpdateMeta contains the timestamp and strategy to be used in this update request.

    image_constraintsmetalstack.api.v2.ImageConstraintrepeated

    ImageConstraints to apply to this size.

    namestringoptional

    Name of this size image constraint.

    Project is the uuid of the project.

    descriptionmember stringoptional

    Description of this size image constraint.

    Login of the member to remove.

    @@ -17700,10 +17462,10 @@

    SizeImageC

    - - + + - + @@ -17719,8 +17481,8 @@

    SizeImageC -

    SizeImageConstraintService

    -

    SizeImageConstraintService provides size and image constraint management operations.

    +

    ProjectService

    +

    ProjectService provides project management operations.

    size_image_constraintmetalstack.api.v2.SizeImageConstraintmembermetalstack.api.v2.ProjectMember

    SizeImageConstraint contains the updated constraint.

    Member is the removed project member.

    @@ -17729,37 +17491,30 @@

    SizeImageConstraintServi

    - - - + + + - - - - - - - - - - - + + + + - - - - + + + + - - - - + + + + @@ -17769,13 +17524,13 @@

    SizeImageConstraintServi
    -

    metalstack/api/v2/size_reservation.proto

    Top +

    metalstack/admin/v2/size.proto

    Top

    -

    SizeReservation

    -

    SizeReservation.

    +

    SizeServiceCreateRequest

    +

    SizeServiceCreateRequest is the request payload for creating a size.

    Method NameRequest TypeResponse TypeDescription
    CreateSizeImageConstraintServiceCreateRequestSizeImageConstraintServiceCreateResponse

    Creates a size image constraint.

    ProjectServiceCreateRequestProjectServiceCreateResponse

    Creates a new project.

    UpdateSizeImageConstraintServiceUpdateRequestSizeImageConstraintServiceUpdateResponse

    Updates a size image constraint.

    DeleteSizeImageConstraintServiceDeleteRequestSizeImageConstraintServiceDeleteResponse

    Deletes a size image constraint.

    ListProjectServiceListRequestProjectServiceListResponse

    Returns the list of projects matching the filter criteria.

    GetSizeImageConstraintServiceGetRequestSizeImageConstraintServiceGetResponse

    Returns the size image constraint with the specified size.

    AddMemberProjectServiceAddMemberRequestProjectServiceAddMemberResponse

    Add a member to a project.

    ListSizeImageConstraintServiceListRequestSizeImageConstraintServiceListResponse

    Returns the list of size image constraints.

    RemoveMemberProjectServiceRemoveMemberRequestProjectServiceRemoveMemberResponse

    RemoveMember removes a member from a project.

    @@ -17785,59 +17540,34 @@

    SizeReservation

    - - - - - - - - - + + - + - - - - - - + +
    idstring

    Id of this size reservation, is generated on creation.

    metaMetasizemetalstack.api.v2.Size

    Meta for this size reservation.

    Size is the size to create.

    namestring

    Name of this size reservation.

    + + + + + +

    SizeServiceCreateResponse

    +

    SizeServiceCreateResponse is the response payload for creating a size.

    + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -17847,8 +17577,8 @@

    SizeReservation

    -

    SizeReservationQuery

    -

    SizeReservationQuery is used to search size reservations.

    +

    SizeServiceDeleteRequest

    +

    SizeServiceDeleteRequest is the request payload for deleting a size.

    FieldTypeLabelDescription
    descriptionstringsizemetalstack.api.v2.Size

    Description of this size reservation.

    projectstring

    Project of the size reservation.

    sizestring

    Size id of this size reservation.

    partitionsstringrepeated

    Partition ids of this size reservation.

    amountint32

    Amount of reservations of this size reservation.

    Size contains the created size.

    @@ -17860,50 +17590,8 @@

    SizeReservationQuery

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -17913,8 +17601,8 @@

    SizeReservationQuery

    -

    SizeReservationServiceGetRequest

    -

    SizeReservationServiceGetRequest is the request payload for a size get request.

    +

    SizeServiceDeleteResponse

    +

    SizeServiceDeleteResponse is the response payload for deleting a size.

    id stringoptional

    ID of the size reservation to get.

    namestringoptional

    Name of this size reservation.

    descriptionstringoptional

    Description of this size reservation.

    sizestringoptional

    Size id of this size reservation.

    projectstringoptional

    Project of the size reservation.

    partitionstringoptional

    Partition of the size reservation.

    labelsLabelsoptional

    Labels lists only size reservations containing the given labels.

    ID of the size to delete.

    @@ -17924,17 +17612,10 @@

    SizeReservationServi

    - - - - - - - - - + + - + @@ -17944,8 +17625,8 @@

    SizeReservationServi -

    SizeReservationServiceGetResponse

    -

    SizeReservationServiceGetResponse is the response payload for a size reservation get request.

    +

    SizeServiceUpdateRequest

    +

    SizeServiceUpdateRequest is the request payload for updating a size.

    idstring

    ID of the size reservation to get.

    projectstringsizemetalstack.api.v2.Size

    Project of the size reservation.

    Size contains the deleted size.

    @@ -17955,41 +17636,45 @@

    SizeReservationServ

    - - + + - + - -
    size_reservationSizeReservationidstring

    Size reservation.

    Id of this size.

    - - - - - -

    SizeReservationServiceListRequest

    -

    SizeReservationServiceListRequest is the request payload for a size list request.

    - - - - - - - + + + + + + - + - - + + - - - - + + + + + + + + + + + + + + + + + + @@ -17999,8 +17684,8 @@

    SizeReservationServ -

    SizeReservationServiceListResponse

    -

    SizeReservationServiceListResponse is the response payload for a size reservation list request.

    +

    SizeServiceUpdateResponse

    +

    SizeServiceUpdateResponse is the response payload for updating a size.

    FieldTypeLabelDescription
    update_metametalstack.api.v2.UpdateMeta

    UpdateMeta contains the timestamp and strategy to be used in this update request.

    projectname string

    Project of the size reservation.

    optional

    Name of this size.

    querySizeReservationQuery

    Query for size reservations.

    descriptionstringoptional

    Description of this size.

    constraintsmetalstack.api.v2.SizeConstraintrepeated

    Constraints which must match that a specific machine is considered of this size.

    labelsmetalstack.api.v2.UpdateLabelsoptional

    Labels to update on this size.

    @@ -18010,10 +17695,10 @@

    SizeReservationSer

    - - - - + + + + @@ -18029,8 +17714,8 @@

    SizeReservationSer -

    SizeReservationService

    -

    SizeReservationService provides size reservation management operations.

    +

    SizeService

    +

    SizeService provides size management operations.

    size_reservationsSizeReservationrepeated

    Size reservations.

    sizemetalstack.api.v2.Size

    Size contains the updated size.

    @@ -18038,17 +17723,24 @@

    SizeReservationService

    - - - - + + + + - - - - + + + + + + + + + + + @@ -18058,13 +17750,13 @@

    SizeReservationService

    -

    metalstack/admin/v2/size_reservation.proto

    Top +

    metalstack/api/v2/size_imageconstraint.proto

    Top

    -

    SizeReservationServiceCreateRequest

    -

    SizeReservationServiceCreateRequest is the request payload for creating a size reservation.

    +

    ImageConstraint

    +

    ImageConstraint defines a constraint for an image.

    Examples:

    images:

    ubuntu: ">= 20.04.20211011

    debian: ">= 10.0.20210101

    Method NameRequest TypeResponse TypeDescription
    GetSizeReservationServiceGetRequestSizeReservationServiceGetResponse

    Returns the size reservation with the specified ID.

    CreateSizeServiceCreateRequestSizeServiceCreateResponse

    Creates a new size.

    ListSizeReservationServiceListRequestSizeReservationServiceListResponse

    Returns the list of size reservations.

    UpdateSizeServiceUpdateRequestSizeServiceUpdateResponse

    Updates a size.

    DeleteSizeServiceDeleteRequestSizeServiceDeleteResponse

    Deletes a size.

    @@ -18074,10 +17766,17 @@

    SizeReservation

    - - + + - + + + + + + + + @@ -18087,8 +17786,8 @@

    SizeReservation -

    SizeReservationServiceCreateResponse

    -

    SizeReservationServiceCreateResponse is the response payload for creating a size reservation.

    +

    SizeImageConstraint

    +

    SizeImageConstraint expresses optional restrictions for specific size to image combinations.

    This might be required if the support for a specific hardware in a given size is only supported with a newer version of the image.

    If the size in question is not found, no restrictions apply.

    If the image in question is not found, no restrictions apply as well.

    If the image in question is found, but does not match the given expression, machine creation must be forbidden.

    size_reservationmetalstack.api.v2.SizeReservationimagestring

    SizeReservation is the size reservation to create.

    Image of the constraint.

    semver_matchstring

    SemverMatch which defines in semver match format which image version should apply.

    @@ -18098,10 +17797,38 @@

    SizeReservatio

    - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18111,8 +17838,8 @@

    SizeReservatio -

    SizeReservationServiceDeleteRequest

    -

    SizeReservationServiceDeleteRequest is the request payload for deleting a size reservation.

    +

    SizeImageConstraintQuery

    +

    SizeImageConstraintQuery is used to search size image constraints.

    size_reservationmetalstack.api.v2.SizeReservationsizestring

    SizeReservation contains the created reservation.

    Size where this constraint should apply.

    image_constraintsImageConstraintrepeated

    ImageConstraints to apply to this size.

    metaMeta

    Meta for this size image constraint.

    namestringoptional

    Name of this size image constraint.

    descriptionstringoptional

    Description of this size image constraint.

    @@ -18122,7 +17849,810 @@

    SizeReservation

    - + + + + + + + + + + + + + + + + + + + + + +
    idsizestringoptional

    Size of the size image constraint.

    namestringoptional

    Name of the size image constraint to query.

    descriptionstringoptional

    Description of the size image constraint to query.

    + + + + + +

    SizeImageConstraintServiceTryRequest

    +

    SizeImageConstraintServiceTryRequest is the request payload for a size image constraint try request.

    + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    sizestring

    Size to try.

    imagestring

    Image to try.

    + + + + + +

    SizeImageConstraintServiceTryResponse

    +

    SizeImageConstraintServiceTryResponse is the response payload for a size image constraint try request.

    + + + + + + + + + + + +

    SizeImageConstraintService

    +

    SizeImageConstraintService provides size and image constraint validation operations.

    + + + + + + + + + + + + + + +
    Method NameRequest TypeResponse TypeDescription
    TrySizeImageConstraintServiceTryRequestSizeImageConstraintServiceTryResponse

    Try validates if a given combination of size and image is possible.

    + + + + +
    +

    metalstack/admin/v2/size_imageconstraint.proto

    Top +
    +

    + + +

    SizeImageConstraintServiceCreateRequest

    +

    SizeImageConstraintServiceCreateRequest is the request payload for creating a size image constraint.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    sizestring

    Size of the constraint.

    image_constraintsmetalstack.api.v2.ImageConstraintrepeated

    ImageConstraints to apply to this size.

    metametalstack.api.v2.Meta

    Meta for this size image constraint.

    namestringoptional

    Name of this size image constraint.

    descriptionstringoptional

    Description of this size image constraint.

    + + + + + +

    SizeImageConstraintServiceCreateResponse

    +

    SizeImageConstraintServiceCreateResponse is the response payload for creating a size image constraint.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    size_image_constraintmetalstack.api.v2.SizeImageConstraint

    SizeImageConstraint contains the created constraint.

    + + + + + +

    SizeImageConstraintServiceDeleteRequest

    +

    SizeImageConstraintServiceDeleteRequest is the request payload for deleting a size image constraint.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    sizestring

    Size of the constraint.

    + + + + + +

    SizeImageConstraintServiceDeleteResponse

    +

    SizeImageConstraintServiceDeleteResponse is the response payload for deleting a size image constraint.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    size_image_constraintmetalstack.api.v2.SizeImageConstraint

    SizeImageConstraint contains the deleted constraint.

    + + + + + +

    SizeImageConstraintServiceGetRequest

    +

    SizeImageConstraintServiceGetRequest is the request payload for getting a size image constraint.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    sizestring

    Size of the constraint.

    + + + + + +

    SizeImageConstraintServiceGetResponse

    +

    SizeImageConstraintServiceGetResponse is the response payload for getting a size image constraint.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    size_image_constraintmetalstack.api.v2.SizeImageConstraint

    SizeImageConstraint contains the retrieved constraint.

    + + + + + +

    SizeImageConstraintServiceListRequest

    +

    SizeImageConstraintServiceListRequest is the request payload for listing size image constraints.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    querymetalstack.api.v2.SizeImageConstraintQuery

    Query for size image constraints.

    + + + + + +

    SizeImageConstraintServiceListResponse

    +

    SizeImageConstraintServiceListResponse is the response payload for listing size image constraints.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    size_image_constraintsmetalstack.api.v2.SizeImageConstraintrepeated

    SizeImageConstraints contains the list of constraints.

    + + + + + +

    SizeImageConstraintServiceUpdateRequest

    +

    SizeImageConstraintServiceUpdateRequest is the request payload for updating a size image constraint.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    sizestring

    Size of the image constraint to update.

    update_metametalstack.api.v2.UpdateMeta

    UpdateMeta contains the timestamp and strategy to be used in this update request.

    image_constraintsmetalstack.api.v2.ImageConstraintrepeated

    ImageConstraints to apply to this size.

    namestringoptional

    Name of this size image constraint.

    descriptionstringoptional

    Description of this size image constraint.

    + + + + + +

    SizeImageConstraintServiceUpdateResponse

    +

    SizeImageConstraintServiceUpdateResponse is the response payload for updating a size image constraint.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    size_image_constraintmetalstack.api.v2.SizeImageConstraint

    SizeImageConstraint contains the updated constraint.

    + + + + + + + + + + + +

    SizeImageConstraintService

    +

    SizeImageConstraintService provides size and image constraint management operations.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Method NameRequest TypeResponse TypeDescription
    CreateSizeImageConstraintServiceCreateRequestSizeImageConstraintServiceCreateResponse

    Creates a size image constraint.

    UpdateSizeImageConstraintServiceUpdateRequestSizeImageConstraintServiceUpdateResponse

    Updates a size image constraint.

    DeleteSizeImageConstraintServiceDeleteRequestSizeImageConstraintServiceDeleteResponse

    Deletes a size image constraint.

    GetSizeImageConstraintServiceGetRequestSizeImageConstraintServiceGetResponse

    Returns the size image constraint with the specified size.

    ListSizeImageConstraintServiceListRequestSizeImageConstraintServiceListResponse

    Returns the list of size image constraints.

    + + + + +
    +

    metalstack/api/v2/size_reservation.proto

    Top +
    +

    + + +

    SizeReservation

    +

    SizeReservation.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    idstring

    Id of this size reservation, is generated on creation.

    metaMeta

    Meta for this size reservation.

    namestring

    Name of this size reservation.

    descriptionstring

    Description of this size reservation.

    projectstring

    Project of the size reservation.

    sizestring

    Size id of this size reservation.

    partitionsstringrepeated

    Partition ids of this size reservation.

    amountint32

    Amount of reservations of this size reservation.

    + + + + + +

    SizeReservationQuery

    +

    SizeReservationQuery is used to search size reservations.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    idstringoptional

    ID of the size reservation to get.

    namestringoptional

    Name of this size reservation.

    descriptionstringoptional

    Description of this size reservation.

    sizestringoptional

    Size id of this size reservation.

    projectstringoptional

    Project of the size reservation.

    partitionstringoptional

    Partition of the size reservation.

    labelsLabelsoptional

    Labels lists only size reservations containing the given labels.

    + + + + + +

    SizeReservationServiceGetRequest

    +

    SizeReservationServiceGetRequest is the request payload for a size get request.

    + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    idstring

    ID of the size reservation to get.

    projectstring

    Project of the size reservation.

    + + + + + +

    SizeReservationServiceGetResponse

    +

    SizeReservationServiceGetResponse is the response payload for a size reservation get request.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    size_reservationSizeReservation

    Size reservation.

    + + + + + +

    SizeReservationServiceListRequest

    +

    SizeReservationServiceListRequest is the request payload for a size list request.

    + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    projectstring

    Project of the size reservation.

    querySizeReservationQuery

    Query for size reservations.

    + + + + + +

    SizeReservationServiceListResponse

    +

    SizeReservationServiceListResponse is the response payload for a size reservation list request.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    size_reservationsSizeReservationrepeated

    Size reservations.

    + + + + + + + + + + + +

    SizeReservationService

    +

    SizeReservationService provides size reservation management operations.

    + + + + + + + + + + + + + + + + + + + + + +
    Method NameRequest TypeResponse TypeDescription
    GetSizeReservationServiceGetRequestSizeReservationServiceGetResponse

    Returns the size reservation with the specified ID.

    ListSizeReservationServiceListRequestSizeReservationServiceListResponse

    Returns the list of size reservations.

    + + + + +
    +

    metalstack/admin/v2/size_reservation.proto

    Top +
    +

    + + +

    SizeReservationServiceCreateRequest

    +

    SizeReservationServiceCreateRequest is the request payload for creating a size reservation.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    size_reservationmetalstack.api.v2.SizeReservation

    SizeReservation is the size reservation to create.

    + + + + + +

    SizeReservationServiceCreateResponse

    +

    SizeReservationServiceCreateResponse is the response payload for creating a size reservation.

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    size_reservationmetalstack.api.v2.SizeReservation

    SizeReservation contains the created reservation.

    + + + + + +

    SizeReservationServiceDeleteRequest

    +

    SizeReservationServiceDeleteRequest is the request payload for deleting a size reservation.

    + + + + + + + + + + @@ -19377,8 +19907,185 @@

    Tenant

    -

    TenantInvite

    -

    TenantInvite defines invite to tenant.

    +

    TenantInvite

    +

    TenantInvite defines invite to tenant.

    + + +
    FieldTypeLabelDescription
    id string

    ID of the size reservation to delete.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    secretstring

    Secret is the secret part of the invite, typically part of the url.

    target_tenantstring

    TargetTenant is the tenant id for which this invite was created.

    roleTenantRole

    Role is the role in this tenant the user will get after accepting the invitation.

    joinedbool

    Joined is false as long as a user has not accepted the invite.

    target_tenant_namestring

    TargetTenantName is the tenant name for which this invite was created.

    tenantstring

    Tenant is the login of the tenant inviting another user to join this tenant.

    tenant_namestring

    TenantName is the name of the tenant inviting another user to join this tenant.

    expires_atgoogle.protobuf.Timestamp

    ExpiresAt the date when this invite expires.

    joined_atgoogle.protobuf.Timestamp

    JoinedAt the date when the member accepted this invite.

    + + + + + +

    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.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    namestring

    Name of this tenant.

    descriptionstringoptional

    Description of this tenant.

    emailstringoptional

    Email of the tenant, if not set will be inherited from the creator.

    avatar_urlstringoptional

    AvatarUrl of the tenant.

    labelsLabels

    Labels on the tenant.

    + + + + + +

    TenantServiceCreateResponse

    +

    TenantServiceCreateResponse is the response payload of the tenant create request.

    @@ -19388,66 +20095,106 @@

    TenantInvite

    - - - - - - - - - - - - - - - - + + - + - - - - - - + +
    secretstring

    Secret is the secret part of the invite, typically part of the url.

    target_tenantstring

    TargetTenant is the tenant id for which this invite was created.

    roleTenantRoletenantTenant

    Role is the role in this tenant the user will get after accepting the invitation.

    Tenant is the tenant.

    joinedbool

    Joined is false as long as a user has not accepted the invite.

    + + + + + +

    TenantServiceDeleteRequest

    +

    TenantServiceDeleteRequest is the request payload of the tenant delete request.

    + + + + + + + - + - + + +
    FieldTypeLabelDescription
    target_tenant_namelogin string

    TargetTenantName is the tenant name for which this invite was created.

    Login of the tenant.

    + + + + + +

    TenantServiceDeleteResponse

    +

    TenantServiceDeleteResponse is the response payload of the tenant delete request.

    + + + + + + + + - + - + + +
    FieldTypeLabelDescription
    tenantstringTenant

    Tenant is the login of the tenant inviting another user to join this tenant.

    Tenant is the tenant.

    + + + + + +

    TenantServiceGetRequest

    +

    TenantServiceGetRequest is the request payload of the tenant get request.

    + + + + + + + + - + - + - - - - - - + +
    FieldTypeLabelDescription
    tenant_namelogin string

    TenantName is the name of the tenant inviting another user to join this tenant.

    Login of the tenant.

    expires_atgoogle.protobuf.Timestamp

    ExpiresAt the date when this invite expires.

    + + + + + +

    TenantServiceGetResponse

    +

    TenantServiceGetResponse is the response payload of the tenant get request.

    + + + + + + + - - + + - + @@ -19457,8 +20204,8 @@

    TenantInvite

    -

    TenantMember

    -

    TenantMember defines a user that participates in a tenant.

    +

    TenantServiceInviteAcceptRequest

    +

    TenantServiceInviteAcceptRequest is the request payload to a accept invite request.

    FieldTypeLabelDescription
    joined_atgoogle.protobuf.TimestamptenantTenant

    JoinedAt the date when the member accepted this invite.

    Tenant is the tenant.

    @@ -19468,38 +20215,41 @@

    TenantMember

    - + - + - - - - - - + +
    idsecret string

    Id is the user id of the member.

    Secret is the invitation secret part of the invitation url.

    roleTenantRole

    Role is the role of the member.

    + + + + + +

    TenantServiceInviteAcceptResponse

    +

    TenantServiceInviteAcceptResponse is the response payload to a accept invite request.

    + + + + + + + - + - - - - - - - - + - - + + - + @@ -19509,8 +20259,8 @@

    TenantMember

    -

    TenantQuery

    -

    TenantQuery is used to search tenants.

    +

    TenantServiceInviteDeleteRequest

    +

    TenantServiceInviteDeleteRequest is the request payload to a delete invite.

    FieldTypeLabelDescription
    projectstenant stringrepeated

    Projects in which a user is a direct member.

    created_atgoogle.protobuf.Timestamp

    CreatedAt the date when the member was added to the tenant.

    Tenant ID of the joined tenant.

    metaMetatenant_namestring

    Meta for this tenant member.

    TenantName of the joined tenant.

    @@ -19522,29 +20272,15 @@

    TenantQuery

    - - + + - + - - - - - - - - - - - - - - - + @@ -19554,8 +20290,15 @@

    TenantQuery

    -

    TenantServiceAddMemberRequest

    -

    TenantServiceAddMemberRequest is the request payload for adding a member to a tenant.

    +

    TenantServiceInviteDeleteResponse

    +

    TenantServiceInviteDeleteResponse is the response payload of a delete invite request.

    + + + + + +

    TenantServiceInviteGetRequest

    +

    TenantServiceInviteGetRequest is the request payload to get a invite.

    login stringoptional

    Id filters tenants by login.

    Login of the tenant.

    namesecret stringoptional

    Name filters tenants by name.

    labelsLabelsoptional

    Labels lists only projects containing the given labels.

    pagingPaging

    Paging details for the list request.

    Secret of the invite to delete.

    @@ -19565,24 +20308,10 @@

    TenantServiceAddMemberR

    - - - - - - - - + - - - - - - - - + @@ -19592,8 +20321,8 @@

    TenantServiceAddMemberR -

    TenantServiceAddMemberResponse

    -

    TenantServiceAddMemberResponse is the response payload for the add member request.

    +

    TenantServiceInviteGetResponse

    +

    TenantServiceInviteGetResponse is the response payload to a get invite request.

    loginstring

    Login of the tenant to which the member will be added.

    membersecret string

    Login of the member to add.

    roleTenantRole

    Role to assign to the new member.

    Secret of the invite to get.

    @@ -19603,10 +20332,10 @@

    TenantServiceAddMember

    - - + + - + @@ -19616,8 +20345,8 @@

    TenantServiceAddMember -

    TenantServiceCreateRequest

    -

    TenantServiceCreateRequest is the request payload of the tenant create request.

    +

    TenantServiceInviteRequest

    +

    TenantServiceInviteRequest is used to invite a member to a tenant.

    tenant_memberTenantMemberinviteTenantInvite

    TenantMember is the added tenant member.

    Invite is the invite.

    @@ -19627,38 +20356,17 @@

    TenantServiceCreateRequest

    - + - - - - - - - - - - - - - - - - - - - - - - + - - + + - + @@ -19668,8 +20376,8 @@

    TenantServiceCreateRequest -

    TenantServiceCreateResponse

    -

    TenantServiceCreateResponse is the response payload of the tenant create request.

    +

    TenantServiceInviteResponse

    +

    TenantServiceInviteRequest is the response payload to a invite member request.

    namelogin string

    Name of this tenant.

    descriptionstringoptional

    Description of this tenant.

    emailstringoptional

    Email of the tenant, if not set will be inherited from the creator.

    avatar_urlstringoptional

    AvatarUrl of the tenant.

    Login of the tenant.

    labelsLabelsroleTenantRole

    Labels on the tenant.

    Role of this user in this tenant.

    @@ -19679,10 +20387,10 @@

    TenantServiceCreateRespon

    - - + + - + @@ -19692,8 +20400,8 @@

    TenantServiceCreateRespon -

    TenantServiceDeleteRequest

    -

    TenantServiceDeleteRequest is the request payload of the tenant delete request.

    +

    TenantServiceInvitesListRequest

    +

    TenantServiceInvitesListRequest is the request payload to a list invites request.

    tenantTenantinviteTenantInvite

    Tenant is the tenant.

    Invite contains a secret which can be sent to a potential user.

    @@ -19716,8 +20424,8 @@

    TenantServiceDeleteRequest -

    TenantServiceDeleteResponse

    -

    TenantServiceDeleteResponse is the response payload of the tenant delete request.

    +

    TenantServiceInvitesListResponse

    +

    TenantServiceInvitesListResponse is the response payload to a list invites request.

    @@ -19727,10 +20435,10 @@

    TenantServiceDeleteRespon

    - - - - + + + + @@ -19740,8 +20448,8 @@

    TenantServiceDeleteRespon -

    TenantServiceGetRequest

    -

    TenantServiceGetRequest is the request payload of the tenant get request.

    +

    TenantServiceListRequest

    +

    TenantServiceListRequest is the request payload of the tenant list request.

    tenantTenant

    Tenant is the tenant.

    invitesTenantInviterepeated

    Invites that have not yet accepted the invitation to this tenant.

    @@ -19751,10 +20459,10 @@

    TenantServiceGetRequest

    - - + + - + @@ -19764,8 +20472,8 @@

    TenantServiceGetRequest

    -

    TenantServiceGetResponse

    -

    TenantServiceGetResponse is the response payload of the tenant get request.

    +

    TenantServiceListResponse

    +

    TenantServiceListResponse is the response payload of the tenant list request.

    loginstringqueryTenantQuery

    Login of the tenant.

    Query for tenants.

    @@ -19775,17 +20483,10 @@

    TenantServiceGetResponse

    - + - - - - - - - - + @@ -19795,8 +20496,8 @@

    TenantServiceGetResponse

    TenantServiceInviteAcceptRequest -

    TenantServiceInviteAcceptRequest is the request payload to a accept invite request.

    +

    TenantServiceUpdateRequest

    +

    TenantServiceUpdateRequest is the request payload of the tenant update request.

    tenanttenants Tenant

    Tenant is the tenant.

    tenant_membersTenantMember repeated

    TenantMembers of this tenant.

    Tenants is the list of tenants.

    @@ -19806,41 +20507,52 @@

    TenantServiceInviteA

    - + - + - -
    secretlogin string

    Secret is the invitation secret part of the invitation url.

    Login of the tenant.

    - - - - - -

    TenantServiceInviteAcceptResponse

    -

    TenantServiceInviteAcceptResponse is the response payload to a accept invite request.

    - - - - - - - + + + + + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + @@ -19850,8 +20562,8 @@

    TenantServiceInvite -

    TenantServiceInviteDeleteRequest

    -

    TenantServiceInviteDeleteRequest is the request payload to a delete invite.

    +

    TenantServiceUpdateResponse

    +

    TenantServiceUpdateResponse is the response payload of the tenant update request.

    FieldTypeLabelDescription
    update_metaUpdateMeta

    UpdateMeta contains the timestamp and strategy to be used in this update request.

    tenantname string

    Tenant ID of the joined tenant.

    optional

    Name of the tenant.

    tenant_nameemail string

    TenantName of the joined tenant.

    optional

    Email of the tenant.

    descriptionstringoptional

    Description of this tenant.

    avatar_urlstringoptional

    AvatarUrl of the tenant.

    labelsUpdateLabelsoptional

    Labels on the tenant.

    @@ -19861,17 +20573,10 @@

    TenantServiceInviteD

    - - - - - - - - - + + - + @@ -19881,15 +20586,104 @@

    TenantServiceInviteD -

    TenantServiceInviteDeleteResponse

    -

    TenantServiceInviteDeleteResponse is the response payload of a delete invite request.

    - + + + + + +

    TenantService

    +

    TenantService provides tenant management operations.

    +
    loginstring

    Login of the tenant.

    secretstringtenantTenant

    Secret of the invite to delete.

    Tenant is the tenant.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Method NameRequest TypeResponse TypeDescription
    CreateTenantServiceCreateRequestTenantServiceCreateResponse

    Creates a new tenant.

    ListTenantServiceListRequestTenantServiceListResponse

    Returns the list of tenants.

    GetTenantServiceGetRequestTenantServiceGetResponse

    Get a tenant.

    UpdateTenantServiceUpdateRequestTenantServiceUpdateResponse

    Update a tenant.

    DeleteTenantServiceDeleteRequestTenantServiceDeleteResponse

    Delete a tenant.

    InviteTenantServiceInviteRequestTenantServiceInviteResponse

    Invite a user to a tenant.

    InviteAcceptTenantServiceInviteAcceptRequestTenantServiceInviteAcceptResponse

    InviteAccept is called from a user to accept an invitation.

    InviteDeleteTenantServiceInviteDeleteRequestTenantServiceInviteDeleteResponse

    InviteDelete deletes a pending invitation.

    InvitesListTenantServiceInvitesListRequestTenantServiceInvitesListResponse

    InvitesList list all invites to a tenant.

    InviteGetTenantServiceInviteGetRequestTenantServiceInviteGetResponse

    InviteGet get an invite.

    + -

    TenantServiceInviteGetRequest

    -

    TenantServiceInviteGetRequest is the request payload to get a invite.

    +
    +

    metalstack/api/v2/tenant_member.proto

    Top +
    +

    + + +

    TenantMember

    +

    TenantMember defines a user that participates in a tenant.

    @@ -19899,10 +20693,45 @@

    TenantServiceInviteGetR

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -19912,8 +20741,8 @@

    TenantServiceInviteGetR -

    TenantServiceInviteGetResponse

    -

    TenantServiceInviteGetResponse is the response payload to a get invite request.

    +

    TenantMemberQuery

    +

    TenantMemberQuery is used to search tenant members.

    secretmemberstring

    Member is the user id of the member.

    roleTenantRole

    Role is the role of the member.

    projectsstringrepeated

    Projects in which a user is a direct member.

    created_atgoogle.protobuf.Timestamp

    CreatedAt the date when the member was added to the tenant.

    metaMeta

    Meta for this tenant member.

    tenant string

    Secret of the invite to get.

    Tenant is the tenant that this member participates in.

    @@ -19923,10 +20752,24 @@

    TenantServiceInviteGet

    - - - - + + + + + + + + + + + + + + + + + + @@ -19936,8 +20779,8 @@

    TenantServiceInviteGet -

    TenantServiceInviteRequest

    -

    TenantServiceInviteRequest is used to invite a member to a tenant.

    +

    TenantMemberServiceCreateRequest

    +

    TenantMemberServiceCreateRequest is the request payload for adding a member to a tenant.

    inviteTenantInvite

    Invite is the invite.

    memberstringoptional

    Member is the user id of the member.

    roleTenantRoleoptional

    Role is the role of the member.

    projectsstringrepeated

    Projects in which a user is a direct member.

    @@ -19950,14 +20793,21 @@

    TenantServiceInviteRequest

    - + + + + + + + + - + @@ -19967,8 +20817,8 @@

    TenantServiceInviteRequest -

    TenantServiceInviteResponse

    -

    TenantServiceInviteRequest is the response payload to a invite member request.

    +

    TenantMemberServiceCreateResponse

    +

    TenantMemberServiceCreateResponse is the response payload of the tenant member create request.

    login string

    Login of the tenant.

    Login of the tenant to which the member will be added.

    memberstring

    Login of the member to add.

    role TenantRole

    Role of this user in this tenant.

    Role to assign to the new member.

    @@ -19978,10 +20828,10 @@

    TenantServiceInviteRespon

    - - + + - + @@ -19991,8 +20841,8 @@

    TenantServiceInviteRespon -

    TenantServiceInvitesListRequest

    -

    TenantServiceInvitesListRequest is the request payload to a list invites request.

    +

    TenantMemberServiceDeleteRequest

    +

    TenantMemberServiceDeleteRequest is used to remove a member from a tenant.

    inviteTenantInvitememberTenantMember

    Invite contains a secret which can be sent to a potential user.

    Member is the member of this tenant.

    @@ -20008,6 +20858,13 @@

    TenantServiceInvitesL

    + + + + + + +

    Login of the tenant.

    memberstring

    Member is the id of the member to remove from this tenant.

    @@ -20015,8 +20872,8 @@

    TenantServiceInvitesL -

    TenantServiceInvitesListResponse

    -

    TenantServiceInvitesListResponse is the response payload to a list invites request.

    +

    TenantMemberServiceDeleteResponse

    +

    TenantMemberServiceDeleteResponse is the response payload of the tenant member delete request.

    @@ -20026,10 +20883,10 @@

    TenantServiceInvites

    - - - - + + + + @@ -20039,8 +20896,8 @@

    TenantServiceInvites -

    TenantServiceLeaveRequest

    -

    TenantServiceLeaveTenantRequest is used to leave a tenant.

    +

    TenantMemberServiceGetRequest

    +

    TenantMemberServiceGetRequest is the request payload of the tenant member get request.

    invitesTenantInviterepeated

    Invites that have not yet accepted the invitation to this tenant.

    memberTenantMember

    Member is the member of this tenant.

    @@ -20056,35 +20913,11 @@

    TenantServiceLeaveRequest

    Login of the tenant.

    - -

    - - - - - -

    TenantServiceLeaveResponse

    -

    TenantServiceLeaveTenantResponse is the response payload to a leave tenant request.

    - - - - - -

    TenantServiceListRequest

    -

    TenantServiceListRequest is the request payload of the tenant list request.

    - - - - - - - - - - + + - + @@ -20094,8 +20927,8 @@

    TenantServiceListRequest

    TenantServiceListResponse -

    TenantServiceListResponse is the response payload of the tenant list request.

    +

    TenantMemberServiceGetResponse

    +

    TenantMemberServiceGetResponse is the response payload of the tenant member get request.

    FieldTypeLabelDescription
    queryTenantQuerymemberstring

    Query for tenants.

    Member is the user id of the member.

    @@ -20105,10 +20938,10 @@

    TenantServiceListResponse

    - - - - + + + + @@ -20118,8 +20951,8 @@

    TenantServiceListResponseTenantServiceRemoveMemberRequest

    -

    TenantServiceRemoveMemberRequest is used to remove a member from a tenant.

    +

    TenantMemberServiceLeaveRequest

    +

    TenantMemberServiceLeaveRequest is used to leave a tenant. This way a member is not required to ask a tenant owner to remove him.

    tenantsTenantrepeated

    Tenants is the list of tenants.

    memberTenantMember

    Member is the member of this tenant.

    @@ -20132,14 +20965,7 @@

    TenantServiceRemoveM

    - - - - - - - - + @@ -20149,8 +20975,8 @@

    TenantServiceRemoveM -

    TenantServiceRemoveMemberResponse

    -

    TenantServiceRemoveMemberResponse is the response payload to a remove member request.

    +

    TenantMemberServiceLeaveResponse

    +

    TenantMemberServiceLeaveResponse is the response payload to a leave tenant request.

    login string

    Login of the tenant.

    memberstring

    Member is the id of the member to remove from this tenant.

    Login of the tenant that the user wants to leave.

    @@ -20160,10 +20986,10 @@

    TenantServiceRemove

    - + - + @@ -20173,8 +20999,8 @@

    TenantServiceRemove -

    TenantServiceUpdateMemberRequest

    -

    TenantServiceUpdateMemberRequest is used to update a member from a tenant.

    +

    TenantMemberServiceListRequest

    +

    TenantMemberServiceListRequest is the request payload of the tenant member list request.

    tenant_membermember TenantMember

    TenantMember is the removed tenant member.

    Member is the member of this tenant.

    @@ -20191,17 +21017,10 @@

    TenantServiceUpdateM

    - - - - - - - - - + + - + @@ -20211,8 +21030,8 @@

    TenantServiceUpdateM -

    TenantServiceUpdateMemberResponse

    -

    TenantServiceUpdateMemberResponse is the response payload to a update member request.

    +

    TenantMemberServiceListResponse

    +

    TenantMemberServiceListResponse is the response payload of the tenant member list request.

    memberstring

    Member is the id of the member to update in this tenant.

    roleTenantRolequeryTenantMemberQuery

    Role of this user in this tenant.

    Query for tenant members.

    @@ -20222,10 +21041,10 @@

    TenantServiceUpdate

    - + - - + + @@ -20235,8 +21054,8 @@

    TenantServiceUpdate -

    TenantServiceUpdateRequest

    -

    TenantServiceUpdateRequest is the request payload of the tenant update request.

    +

    TenantMemberServiceUpdateRequest

    +

    TenantMemberServiceUpdateRequest is used to update a member from a tenant.

    tenant_membermembers TenantMember

    TenantMember is the updated membership.

    repeated

    Members is the list of tenant members.

    @@ -20253,45 +21072,24 @@

    TenantServiceUpdateRequest

    - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - + - - - - + + + + @@ -20301,8 +21099,8 @@

    TenantServiceUpdateRequest -

    TenantServiceUpdateResponse

    -

    TenantServiceUpdateResponse is the response payload of the tenant update request.

    +

    TenantMemberServiceUpdateResponse

    +

    TenantMemberServiceUpdateResponse is the response payload of the tenant member update request.

    update_metaUpdateMeta

    UpdateMeta contains the timestamp and strategy to be used in this update request.

    namestringoptional

    Name of the tenant.

    emailstringoptional

    Email of the tenant.

    descriptionmember stringoptional

    Description of this tenant.

    Member is the id of the member to update in this tenant.

    avatar_urlstringroleTenantRole optional

    AvatarUrl of the tenant.

    Role of this user in this tenant.

    labelsUpdateLabelsoptional

    Labels on the tenant.

    update_metaUpdateMeta

    UpdateMeta contains the timestamp and strategy to be used in this update request.

    @@ -20312,10 +21110,10 @@

    TenantServiceUpdateRespon

    - - + + - + @@ -20331,8 +21129,8 @@

    TenantServiceUpdateRespon -

    TenantService

    -

    TenantService provides tenant management operations.

    +

    TenantMemberService

    +

    TenantMemberService provides tenant member management operations.

    tenantTenantmemberTenantMember

    Tenant is the tenant.

    Member is the member of this tenant.

    @@ -20341,102 +21139,46 @@

    TenantService

    - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Method NameRequest TypeResponse TypeDescription
    CreateTenantServiceCreateRequestTenantServiceCreateResponse

    Creates a new tenant.

    TenantMemberServiceCreateRequestTenantMemberServiceCreateResponse

    Creates a new tenant member.

    ListTenantServiceListRequestTenantServiceListResponse

    Returns the list of tenants.

    TenantMemberServiceListRequestTenantMemberServiceListResponse

    Returns the list of tenant members.

    GetTenantServiceGetRequestTenantServiceGetResponse

    Get a tenant.

    TenantMemberServiceGetRequestTenantMemberServiceGetResponse

    Get a tenant member.

    UpdateTenantServiceUpdateRequestTenantServiceUpdateResponse

    Update a tenant.

    TenantMemberServiceUpdateRequestTenantMemberServiceUpdateResponse

    Update a tenant member.

    DeleteTenantServiceDeleteRequestTenantServiceDeleteResponseTenantMemberServiceDeleteRequestTenantMemberServiceDeleteResponse

    Delete a tenant.

    LeaveTenantServiceLeaveRequestTenantServiceLeaveResponseTenantMemberServiceLeaveRequestTenantMemberServiceLeaveResponse

    Leave removes a member from a tenant.

    AddMemberTenantServiceAddMemberRequestTenantServiceAddMemberResponse

    AddMember adds a member to a tenant.

    RemoveMemberTenantServiceRemoveMemberRequestTenantServiceRemoveMemberResponse

    RemoveMember removes a member from a tenant.

    UpdateMemberTenantServiceUpdateMemberRequestTenantServiceUpdateMemberResponse

    UpdateMember update a member of a tenant.

    InviteTenantServiceInviteRequestTenantServiceInviteResponse

    Invite a user to a tenant.

    InviteAcceptTenantServiceInviteAcceptRequestTenantServiceInviteAcceptResponse

    InviteAccept is called from a user to accept an invitation.

    InviteDeleteTenantServiceInviteDeleteRequestTenantServiceInviteDeleteResponse

    InviteDelete deletes a pending invitation.

    InvitesListTenantServiceInvitesListRequestTenantServiceInvitesListResponse

    InvitesList list all invites to a tenant.

    InviteGetTenantServiceInviteGetRequestTenantServiceInviteGetResponse

    InviteGet get an invite.

    @@ -20498,10 +21240,10 @@

    TenantServiceAddMemb - tenant_member + member metalstack.api.v2.TenantMember -

    TenantMember is the added tenant member.

    +

    Member is the added tenant member.

    @@ -20556,6 +21298,13 @@

    TenantServiceCreateReque

    Labels on the tenant.

    + + login + string + optional +

    Login of the tenant.

    + + @@ -20684,10 +21433,10 @@

    TenantServiceRemo - tenant_member + member metalstack.api.v2.TenantMember -

    TenantMember is the removed tenant member.

    +

    Member is the removed tenant member.

    diff --git a/generate/generate.go b/generate/generate.go index 24d0d4d1..388e4944 100644 --- a/generate/generate.go +++ b/generate/generate.go @@ -278,6 +278,13 @@ func svcs(root string) (map[string]api, error) { _, name, _ := strings.Cut(*fd.Package, "metalstack.") name = strings.ReplaceAll(name, ".", "") + switch name { + case "cliv2": + continue + default: + // noop + } + a, ok := result[name] if !ok { a = api{ diff --git a/go/client/client.go b/go/client/client.go index 40b546e1..2f8fed2b 100755 --- a/go/client/client.go +++ b/go/client/client.go @@ -76,10 +76,12 @@ type ( Network() apiv2connect.NetworkServiceClient Partition() apiv2connect.PartitionServiceClient Project() apiv2connect.ProjectServiceClient + ProjectMember() apiv2connect.ProjectMemberServiceClient Size() apiv2connect.SizeServiceClient SizeImageConstraint() apiv2connect.SizeImageConstraintServiceClient SizeReservation() apiv2connect.SizeReservationServiceClient Tenant() apiv2connect.TenantServiceClient + TenantMember() apiv2connect.TenantMemberServiceClient Token() apiv2connect.TokenServiceClient User() apiv2connect.UserServiceClient Version() apiv2connect.VersionServiceClient @@ -96,10 +98,12 @@ type ( networkservice apiv2connect.NetworkServiceClient partitionservice apiv2connect.PartitionServiceClient projectservice apiv2connect.ProjectServiceClient + projectmemberservice apiv2connect.ProjectMemberServiceClient sizeservice apiv2connect.SizeServiceClient sizeimageconstraintservice apiv2connect.SizeImageConstraintServiceClient sizereservationservice apiv2connect.SizeReservationServiceClient tenantservice apiv2connect.TenantServiceClient + tenantmemberservice apiv2connect.TenantMemberServiceClient tokenservice apiv2connect.TokenServiceClient userservice apiv2connect.UserServiceClient versionservice apiv2connect.VersionServiceClient @@ -344,6 +348,12 @@ func (c *client) Apiv2() Apiv2 { connect.WithInterceptors(c.interceptors...), compress.WithAll(compress.LevelBalanced), ), + projectmemberservice: apiv2connect.NewProjectMemberServiceClient( + c.config.HttpClient(), + c.config.BaseURL, + connect.WithInterceptors(c.interceptors...), + compress.WithAll(compress.LevelBalanced), + ), sizeservice: apiv2connect.NewSizeServiceClient( c.config.HttpClient(), c.config.BaseURL, @@ -368,6 +378,12 @@ func (c *client) Apiv2() Apiv2 { connect.WithInterceptors(c.interceptors...), compress.WithAll(compress.LevelBalanced), ), + tenantmemberservice: apiv2connect.NewTenantMemberServiceClient( + c.config.HttpClient(), + c.config.BaseURL, + connect.WithInterceptors(c.interceptors...), + compress.WithAll(compress.LevelBalanced), + ), tokenservice: apiv2connect.NewTokenServiceClient( c.config.HttpClient(), c.config.BaseURL, @@ -420,6 +436,9 @@ func (c *apiv2) Partition() apiv2connect.PartitionServiceClient { func (c *apiv2) Project() apiv2connect.ProjectServiceClient { return c.projectservice } +func (c *apiv2) ProjectMember() apiv2connect.ProjectMemberServiceClient { + return c.projectmemberservice +} func (c *apiv2) Size() apiv2connect.SizeServiceClient { return c.sizeservice } @@ -432,6 +451,9 @@ func (c *apiv2) SizeReservation() apiv2connect.SizeReservationServiceClient { func (c *apiv2) Tenant() apiv2connect.TenantServiceClient { return c.tenantservice } +func (c *apiv2) TenantMember() apiv2connect.TenantMemberServiceClient { + return c.tenantmemberservice +} func (c *apiv2) Token() apiv2connect.TokenServiceClient { return c.tokenservice } diff --git a/go/metalstack/admin/v2/adminv2connect/project.connect.go b/go/metalstack/admin/v2/adminv2connect/project.connect.go index 9d614b2f..c7f706c1 100644 --- a/go/metalstack/admin/v2/adminv2connect/project.connect.go +++ b/go/metalstack/admin/v2/adminv2connect/project.connect.go @@ -33,14 +33,28 @@ const ( // reflection-formatted method names, remove the leading slash and convert the remaining slash to a // period. const ( + // ProjectServiceCreateProcedure is the fully-qualified name of the ProjectService's Create RPC. + ProjectServiceCreateProcedure = "/metalstack.admin.v2.ProjectService/Create" // ProjectServiceListProcedure is the fully-qualified name of the ProjectService's List RPC. ProjectServiceListProcedure = "/metalstack.admin.v2.ProjectService/List" + // ProjectServiceAddMemberProcedure is the fully-qualified name of the ProjectService's AddMember + // RPC. + ProjectServiceAddMemberProcedure = "/metalstack.admin.v2.ProjectService/AddMember" + // ProjectServiceRemoveMemberProcedure is the fully-qualified name of the ProjectService's + // RemoveMember RPC. + ProjectServiceRemoveMemberProcedure = "/metalstack.admin.v2.ProjectService/RemoveMember" ) // ProjectServiceClient is a client for the metalstack.admin.v2.ProjectService service. type ProjectServiceClient interface { + // Creates a new project. + Create(context.Context, *v2.ProjectServiceCreateRequest) (*v2.ProjectServiceCreateResponse, error) // Returns the list of projects matching the filter criteria. List(context.Context, *v2.ProjectServiceListRequest) (*v2.ProjectServiceListResponse, error) + // Add a member to a project. + AddMember(context.Context, *v2.ProjectServiceAddMemberRequest) (*v2.ProjectServiceAddMemberResponse, error) + // RemoveMember removes a member from a project. + RemoveMember(context.Context, *v2.ProjectServiceRemoveMemberRequest) (*v2.ProjectServiceRemoveMemberResponse, error) } // NewProjectServiceClient constructs a client for the metalstack.admin.v2.ProjectService service. @@ -54,18 +68,48 @@ func NewProjectServiceClient(httpClient connect.HTTPClient, baseURL string, opts baseURL = strings.TrimRight(baseURL, "/") projectServiceMethods := v2.File_metalstack_admin_v2_project_proto.Services().ByName("ProjectService").Methods() return &projectServiceClient{ + create: connect.NewClient[v2.ProjectServiceCreateRequest, v2.ProjectServiceCreateResponse]( + httpClient, + baseURL+ProjectServiceCreateProcedure, + connect.WithSchema(projectServiceMethods.ByName("Create")), + connect.WithClientOptions(opts...), + ), list: connect.NewClient[v2.ProjectServiceListRequest, v2.ProjectServiceListResponse]( httpClient, baseURL+ProjectServiceListProcedure, connect.WithSchema(projectServiceMethods.ByName("List")), connect.WithClientOptions(opts...), ), + addMember: connect.NewClient[v2.ProjectServiceAddMemberRequest, v2.ProjectServiceAddMemberResponse]( + httpClient, + baseURL+ProjectServiceAddMemberProcedure, + connect.WithSchema(projectServiceMethods.ByName("AddMember")), + connect.WithClientOptions(opts...), + ), + removeMember: connect.NewClient[v2.ProjectServiceRemoveMemberRequest, v2.ProjectServiceRemoveMemberResponse]( + httpClient, + baseURL+ProjectServiceRemoveMemberProcedure, + connect.WithSchema(projectServiceMethods.ByName("RemoveMember")), + connect.WithClientOptions(opts...), + ), } } // projectServiceClient implements ProjectServiceClient. type projectServiceClient struct { - list *connect.Client[v2.ProjectServiceListRequest, v2.ProjectServiceListResponse] + create *connect.Client[v2.ProjectServiceCreateRequest, v2.ProjectServiceCreateResponse] + list *connect.Client[v2.ProjectServiceListRequest, v2.ProjectServiceListResponse] + addMember *connect.Client[v2.ProjectServiceAddMemberRequest, v2.ProjectServiceAddMemberResponse] + removeMember *connect.Client[v2.ProjectServiceRemoveMemberRequest, v2.ProjectServiceRemoveMemberResponse] +} + +// Create calls metalstack.admin.v2.ProjectService.Create. +func (c *projectServiceClient) Create(ctx context.Context, req *v2.ProjectServiceCreateRequest) (*v2.ProjectServiceCreateResponse, error) { + response, err := c.create.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err } // List calls metalstack.admin.v2.ProjectService.List. @@ -77,10 +121,34 @@ func (c *projectServiceClient) List(ctx context.Context, req *v2.ProjectServiceL return nil, err } +// AddMember calls metalstack.admin.v2.ProjectService.AddMember. +func (c *projectServiceClient) AddMember(ctx context.Context, req *v2.ProjectServiceAddMemberRequest) (*v2.ProjectServiceAddMemberResponse, error) { + response, err := c.addMember.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// RemoveMember calls metalstack.admin.v2.ProjectService.RemoveMember. +func (c *projectServiceClient) RemoveMember(ctx context.Context, req *v2.ProjectServiceRemoveMemberRequest) (*v2.ProjectServiceRemoveMemberResponse, error) { + response, err := c.removeMember.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + // ProjectServiceHandler is an implementation of the metalstack.admin.v2.ProjectService service. type ProjectServiceHandler interface { + // Creates a new project. + Create(context.Context, *v2.ProjectServiceCreateRequest) (*v2.ProjectServiceCreateResponse, error) // Returns the list of projects matching the filter criteria. List(context.Context, *v2.ProjectServiceListRequest) (*v2.ProjectServiceListResponse, error) + // Add a member to a project. + AddMember(context.Context, *v2.ProjectServiceAddMemberRequest) (*v2.ProjectServiceAddMemberResponse, error) + // RemoveMember removes a member from a project. + RemoveMember(context.Context, *v2.ProjectServiceRemoveMemberRequest) (*v2.ProjectServiceRemoveMemberResponse, error) } // NewProjectServiceHandler builds an HTTP handler from the service implementation. It returns the @@ -90,16 +158,40 @@ type ProjectServiceHandler interface { // and JSON codecs. They also support gzip compression. func NewProjectServiceHandler(svc ProjectServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { projectServiceMethods := v2.File_metalstack_admin_v2_project_proto.Services().ByName("ProjectService").Methods() + projectServiceCreateHandler := connect.NewUnaryHandlerSimple( + ProjectServiceCreateProcedure, + svc.Create, + connect.WithSchema(projectServiceMethods.ByName("Create")), + connect.WithHandlerOptions(opts...), + ) projectServiceListHandler := connect.NewUnaryHandlerSimple( ProjectServiceListProcedure, svc.List, connect.WithSchema(projectServiceMethods.ByName("List")), connect.WithHandlerOptions(opts...), ) + projectServiceAddMemberHandler := connect.NewUnaryHandlerSimple( + ProjectServiceAddMemberProcedure, + svc.AddMember, + connect.WithSchema(projectServiceMethods.ByName("AddMember")), + connect.WithHandlerOptions(opts...), + ) + projectServiceRemoveMemberHandler := connect.NewUnaryHandlerSimple( + ProjectServiceRemoveMemberProcedure, + svc.RemoveMember, + connect.WithSchema(projectServiceMethods.ByName("RemoveMember")), + connect.WithHandlerOptions(opts...), + ) return "/metalstack.admin.v2.ProjectService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { + case ProjectServiceCreateProcedure: + projectServiceCreateHandler.ServeHTTP(w, r) case ProjectServiceListProcedure: projectServiceListHandler.ServeHTTP(w, r) + case ProjectServiceAddMemberProcedure: + projectServiceAddMemberHandler.ServeHTTP(w, r) + case ProjectServiceRemoveMemberProcedure: + projectServiceRemoveMemberHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -109,6 +201,18 @@ func NewProjectServiceHandler(svc ProjectServiceHandler, opts ...connect.Handler // UnimplementedProjectServiceHandler returns CodeUnimplemented from all methods. type UnimplementedProjectServiceHandler struct{} +func (UnimplementedProjectServiceHandler) Create(context.Context, *v2.ProjectServiceCreateRequest) (*v2.ProjectServiceCreateResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.ProjectService.Create is not implemented")) +} + func (UnimplementedProjectServiceHandler) List(context.Context, *v2.ProjectServiceListRequest) (*v2.ProjectServiceListResponse, error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.ProjectService.List is not implemented")) } + +func (UnimplementedProjectServiceHandler) AddMember(context.Context, *v2.ProjectServiceAddMemberRequest) (*v2.ProjectServiceAddMemberResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.ProjectService.AddMember is not implemented")) +} + +func (UnimplementedProjectServiceHandler) RemoveMember(context.Context, *v2.ProjectServiceRemoveMemberRequest) (*v2.ProjectServiceRemoveMemberResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.ProjectService.RemoveMember is not implemented")) +} diff --git a/go/metalstack/admin/v2/project.pb.go b/go/metalstack/admin/v2/project.pb.go index e00042f6..1d513076 100644 --- a/go/metalstack/admin/v2/project.pb.go +++ b/go/metalstack/admin/v2/project.pb.go @@ -7,6 +7,7 @@ package adminv2 import ( + _ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate" v2 "github.com/metal-stack/api/go/metalstack/api/v2" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -114,19 +115,394 @@ func (x *ProjectServiceListResponse) GetProjects() []*v2.Project { return nil } +// ProjectServiceCreateRequest is the request payload to Create a project. +type ProjectServiceCreateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Login is the tenant of this project. + Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` + // Name of this project, unique per tenant. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // Description of this project. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Avatar URL of the project. + AvatarUrl *string `protobuf:"bytes,4,opt,name=avatar_url,json=avatarUrl,proto3,oneof" json:"avatar_url,omitempty"` + // Labels on the project. + Labels *v2.Labels `protobuf:"bytes,5,opt,name=labels,proto3" json:"labels,omitempty"` + // Project is the uuid of the project. + Project *string `protobuf:"bytes,6,opt,name=project,proto3,oneof" json:"project,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectServiceCreateRequest) Reset() { + *x = ProjectServiceCreateRequest{} + mi := &file_metalstack_admin_v2_project_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectServiceCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectServiceCreateRequest) ProtoMessage() {} + +func (x *ProjectServiceCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_admin_v2_project_proto_msgTypes[2] + 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 ProjectServiceCreateRequest.ProtoReflect.Descriptor instead. +func (*ProjectServiceCreateRequest) Descriptor() ([]byte, []int) { + return file_metalstack_admin_v2_project_proto_rawDescGZIP(), []int{2} +} + +func (x *ProjectServiceCreateRequest) GetLogin() string { + if x != nil { + return x.Login + } + return "" +} + +func (x *ProjectServiceCreateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ProjectServiceCreateRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ProjectServiceCreateRequest) GetAvatarUrl() string { + if x != nil && x.AvatarUrl != nil { + return *x.AvatarUrl + } + return "" +} + +func (x *ProjectServiceCreateRequest) GetLabels() *v2.Labels { + if x != nil { + return x.Labels + } + return nil +} + +func (x *ProjectServiceCreateRequest) GetProject() string { + if x != nil && x.Project != nil { + return *x.Project + } + return "" +} + +// ProjectServiceCreateResponse is the response payload for creating a project. +type ProjectServiceCreateResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Project contains the created project. + Project *v2.Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectServiceCreateResponse) Reset() { + *x = ProjectServiceCreateResponse{} + mi := &file_metalstack_admin_v2_project_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectServiceCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectServiceCreateResponse) ProtoMessage() {} + +func (x *ProjectServiceCreateResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_admin_v2_project_proto_msgTypes[3] + 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 ProjectServiceCreateResponse.ProtoReflect.Descriptor instead. +func (*ProjectServiceCreateResponse) Descriptor() ([]byte, []int) { + return file_metalstack_admin_v2_project_proto_rawDescGZIP(), []int{3} +} + +func (x *ProjectServiceCreateResponse) GetProject() *v2.Project { + if x != nil { + return x.Project + } + return nil +} + +// ProjectServiceAddMemberRequest is the request payload for adding a member to a tenant. +type ProjectServiceAddMemberRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Project is the uuid of the project. + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // Login of the member to add. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + // Role to assign to the new member. + Role v2.ProjectRole `protobuf:"varint,3,opt,name=role,proto3,enum=metalstack.api.v2.ProjectRole" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectServiceAddMemberRequest) Reset() { + *x = ProjectServiceAddMemberRequest{} + mi := &file_metalstack_admin_v2_project_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectServiceAddMemberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectServiceAddMemberRequest) ProtoMessage() {} + +func (x *ProjectServiceAddMemberRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_admin_v2_project_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 ProjectServiceAddMemberRequest.ProtoReflect.Descriptor instead. +func (*ProjectServiceAddMemberRequest) Descriptor() ([]byte, []int) { + return file_metalstack_admin_v2_project_proto_rawDescGZIP(), []int{4} +} + +func (x *ProjectServiceAddMemberRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ProjectServiceAddMemberRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +func (x *ProjectServiceAddMemberRequest) GetRole() v2.ProjectRole { + if x != nil { + return x.Role + } + return v2.ProjectRole(0) +} + +// ProjectServiceAddMemberResponse is the response payload for the add member request. +type ProjectServiceAddMemberResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the added project member. + Member *v2.ProjectMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectServiceAddMemberResponse) Reset() { + *x = ProjectServiceAddMemberResponse{} + mi := &file_metalstack_admin_v2_project_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectServiceAddMemberResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectServiceAddMemberResponse) ProtoMessage() {} + +func (x *ProjectServiceAddMemberResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_admin_v2_project_proto_msgTypes[5] + 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 ProjectServiceAddMemberResponse.ProtoReflect.Descriptor instead. +func (*ProjectServiceAddMemberResponse) Descriptor() ([]byte, []int) { + return file_metalstack_admin_v2_project_proto_rawDescGZIP(), []int{5} +} + +func (x *ProjectServiceAddMemberResponse) GetMember() *v2.ProjectMember { + if x != nil { + return x.Member + } + return nil +} + +// ProjectServiceRemoveMemberRequest is the request payload for removing a member from a project. +type ProjectServiceRemoveMemberRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Project is the uuid of the project. + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // Login of the member to remove. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectServiceRemoveMemberRequest) Reset() { + *x = ProjectServiceRemoveMemberRequest{} + mi := &file_metalstack_admin_v2_project_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectServiceRemoveMemberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectServiceRemoveMemberRequest) ProtoMessage() {} + +func (x *ProjectServiceRemoveMemberRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_admin_v2_project_proto_msgTypes[6] + 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 ProjectServiceRemoveMemberRequest.ProtoReflect.Descriptor instead. +func (*ProjectServiceRemoveMemberRequest) Descriptor() ([]byte, []int) { + return file_metalstack_admin_v2_project_proto_rawDescGZIP(), []int{6} +} + +func (x *ProjectServiceRemoveMemberRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ProjectServiceRemoveMemberRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +// ProjectServiceRemoveMemberResponse is the response payload for the remove member request. +type ProjectServiceRemoveMemberResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the removed project member. + Member *v2.ProjectMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectServiceRemoveMemberResponse) Reset() { + *x = ProjectServiceRemoveMemberResponse{} + mi := &file_metalstack_admin_v2_project_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectServiceRemoveMemberResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectServiceRemoveMemberResponse) ProtoMessage() {} + +func (x *ProjectServiceRemoveMemberResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_admin_v2_project_proto_msgTypes[7] + 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 ProjectServiceRemoveMemberResponse.ProtoReflect.Descriptor instead. +func (*ProjectServiceRemoveMemberResponse) Descriptor() ([]byte, []int) { + return file_metalstack_admin_v2_project_proto_rawDescGZIP(), []int{7} +} + +func (x *ProjectServiceRemoveMemberResponse) GetMember() *v2.ProjectMember { + if x != nil { + return x.Member + } + return nil +} + var File_metalstack_admin_v2_project_proto protoreflect.FileDescriptor const file_metalstack_admin_v2_project_proto_rawDesc = "" + "\n" + - "!metalstack/admin/v2/project.proto\x12\x13metalstack.admin.v2\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/project.proto\"a\n" + + "!metalstack/admin/v2/project.proto\x12\x13metalstack.admin.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&metalstack/api/v2/project_member.proto\"a\n" + "\x19ProjectServiceListRequest\x12:\n" + "\x05query\x18\x01 \x01(\v2\x1f.metalstack.api.v2.ProjectQueryH\x00R\x05query\x88\x01\x01B\b\n" + "\x06_query\"T\n" + "\x1aProjectServiceListResponse\x126\n" + - "\bprojects\x18\x01 \x03(\v2\x1a.metalstack.api.v2.ProjectR\bprojects2\x85\x01\n" + - "\x0eProjectService\x12s\n" + + "\bprojects\x18\x01 \x03(\v2\x1a.metalstack.api.v2.ProjectR\bprojects\"\xb8\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" + + "\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\x06labels\x12'\n" + + "\aproject\x18\x06 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01H\x01R\aproject\x88\x01\x01B\r\n" + + "\v_avatar_urlB\n" + + "\n" + + "\b_project\"T\n" + + "\x1cProjectServiceCreateResponse\x124\n" + + "\aproject\x18\x01 \x01(\v2\x1a.metalstack.api.v2.ProjectR\aproject\"\xa7\x01\n" + + "\x1eProjectServiceAddMemberRequest\x12\"\n" + + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\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\x1e.metalstack.api.v2.ProjectRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"[\n" + + "\x1fProjectServiceAddMemberResponse\x128\n" + + "\x06member\x18\x01 \x01(\v2 .metalstack.api.v2.ProjectMemberR\x06member\"l\n" + + "!ProjectServiceRemoveMemberRequest\x12\"\n" + + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12#\n" + + "\x06member\x18\x02 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06member\"^\n" + + "\"ProjectServiceRemoveMemberResponse\x128\n" + + "\x06member\x18\x01 \x01(\v2 .metalstack.api.v2.ProjectMemberR\x06member2\x90\x04\n" + + "\x0eProjectService\x12x\n" + + "\x06Create\x120.metalstack.admin.v2.ProjectServiceCreateRequest\x1a1.metalstack.admin.v2.ProjectServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12s\n" + "\x04List\x12..metalstack.admin.v2.ProjectServiceListRequest\x1a/.metalstack.admin.v2.ProjectServiceListResponse\"\n" + - "\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02B\xd0\x01\n" + + "\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x81\x01\n" + + "\tAddMember\x123.metalstack.admin.v2.ProjectServiceAddMemberRequest\x1a4.metalstack.admin.v2.ProjectServiceAddMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x8a\x01\n" + + "\fRemoveMember\x126.metalstack.admin.v2.ProjectServiceRemoveMemberRequest\x1a7.metalstack.admin.v2.ProjectServiceRemoveMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01B\xd0\x01\n" + "\x17com.metalstack.admin.v2B\fProjectProtoP\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" var ( @@ -141,23 +517,43 @@ func file_metalstack_admin_v2_project_proto_rawDescGZIP() []byte { return file_metalstack_admin_v2_project_proto_rawDescData } -var file_metalstack_admin_v2_project_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_metalstack_admin_v2_project_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_metalstack_admin_v2_project_proto_goTypes = []any{ - (*ProjectServiceListRequest)(nil), // 0: metalstack.admin.v2.ProjectServiceListRequest - (*ProjectServiceListResponse)(nil), // 1: metalstack.admin.v2.ProjectServiceListResponse - (*v2.ProjectQuery)(nil), // 2: metalstack.api.v2.ProjectQuery - (*v2.Project)(nil), // 3: metalstack.api.v2.Project + (*ProjectServiceListRequest)(nil), // 0: metalstack.admin.v2.ProjectServiceListRequest + (*ProjectServiceListResponse)(nil), // 1: metalstack.admin.v2.ProjectServiceListResponse + (*ProjectServiceCreateRequest)(nil), // 2: metalstack.admin.v2.ProjectServiceCreateRequest + (*ProjectServiceCreateResponse)(nil), // 3: metalstack.admin.v2.ProjectServiceCreateResponse + (*ProjectServiceAddMemberRequest)(nil), // 4: metalstack.admin.v2.ProjectServiceAddMemberRequest + (*ProjectServiceAddMemberResponse)(nil), // 5: metalstack.admin.v2.ProjectServiceAddMemberResponse + (*ProjectServiceRemoveMemberRequest)(nil), // 6: metalstack.admin.v2.ProjectServiceRemoveMemberRequest + (*ProjectServiceRemoveMemberResponse)(nil), // 7: metalstack.admin.v2.ProjectServiceRemoveMemberResponse + (*v2.ProjectQuery)(nil), // 8: metalstack.api.v2.ProjectQuery + (*v2.Project)(nil), // 9: metalstack.api.v2.Project + (*v2.Labels)(nil), // 10: metalstack.api.v2.Labels + (v2.ProjectRole)(0), // 11: metalstack.api.v2.ProjectRole + (*v2.ProjectMember)(nil), // 12: metalstack.api.v2.ProjectMember } var file_metalstack_admin_v2_project_proto_depIdxs = []int32{ - 2, // 0: metalstack.admin.v2.ProjectServiceListRequest.query:type_name -> metalstack.api.v2.ProjectQuery - 3, // 1: metalstack.admin.v2.ProjectServiceListResponse.projects:type_name -> metalstack.api.v2.Project - 0, // 2: metalstack.admin.v2.ProjectService.List:input_type -> metalstack.admin.v2.ProjectServiceListRequest - 1, // 3: metalstack.admin.v2.ProjectService.List:output_type -> metalstack.admin.v2.ProjectServiceListResponse - 3, // [3:4] is the sub-list for method output_type - 2, // [2:3] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 8, // 0: metalstack.admin.v2.ProjectServiceListRequest.query:type_name -> metalstack.api.v2.ProjectQuery + 9, // 1: metalstack.admin.v2.ProjectServiceListResponse.projects:type_name -> metalstack.api.v2.Project + 10, // 2: metalstack.admin.v2.ProjectServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels + 9, // 3: metalstack.admin.v2.ProjectServiceCreateResponse.project:type_name -> metalstack.api.v2.Project + 11, // 4: metalstack.admin.v2.ProjectServiceAddMemberRequest.role:type_name -> metalstack.api.v2.ProjectRole + 12, // 5: metalstack.admin.v2.ProjectServiceAddMemberResponse.member:type_name -> metalstack.api.v2.ProjectMember + 12, // 6: metalstack.admin.v2.ProjectServiceRemoveMemberResponse.member:type_name -> metalstack.api.v2.ProjectMember + 2, // 7: metalstack.admin.v2.ProjectService.Create:input_type -> metalstack.admin.v2.ProjectServiceCreateRequest + 0, // 8: metalstack.admin.v2.ProjectService.List:input_type -> metalstack.admin.v2.ProjectServiceListRequest + 4, // 9: metalstack.admin.v2.ProjectService.AddMember:input_type -> metalstack.admin.v2.ProjectServiceAddMemberRequest + 6, // 10: metalstack.admin.v2.ProjectService.RemoveMember:input_type -> metalstack.admin.v2.ProjectServiceRemoveMemberRequest + 3, // 11: metalstack.admin.v2.ProjectService.Create:output_type -> metalstack.admin.v2.ProjectServiceCreateResponse + 1, // 12: metalstack.admin.v2.ProjectService.List:output_type -> metalstack.admin.v2.ProjectServiceListResponse + 5, // 13: metalstack.admin.v2.ProjectService.AddMember:output_type -> metalstack.admin.v2.ProjectServiceAddMemberResponse + 7, // 14: metalstack.admin.v2.ProjectService.RemoveMember:output_type -> metalstack.admin.v2.ProjectServiceRemoveMemberResponse + 11, // [11:15] is the sub-list for method output_type + 7, // [7:11] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_metalstack_admin_v2_project_proto_init() } @@ -166,13 +562,14 @@ func file_metalstack_admin_v2_project_proto_init() { return } file_metalstack_admin_v2_project_proto_msgTypes[0].OneofWrappers = []any{} + file_metalstack_admin_v2_project_proto_msgTypes[2].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_metalstack_admin_v2_project_proto_rawDesc), len(file_metalstack_admin_v2_project_proto_rawDesc)), NumEnums: 0, - NumMessages: 2, + NumMessages: 8, NumExtensions: 0, NumServices: 1, }, diff --git a/go/metalstack/admin/v2/tenant.pb.go b/go/metalstack/admin/v2/tenant.pb.go index 7c0e7a87..2983636e 100644 --- a/go/metalstack/admin/v2/tenant.pb.go +++ b/go/metalstack/admin/v2/tenant.pb.go @@ -35,7 +35,9 @@ type TenantServiceCreateRequest struct { // AvatarUrl of the tenant. AvatarUrl *string `protobuf:"bytes,4,opt,name=avatar_url,json=avatarUrl,proto3,oneof" json:"avatar_url,omitempty"` // Labels on the tenant. - Labels *v2.Labels `protobuf:"bytes,5,opt,name=labels,proto3" json:"labels,omitempty"` + Labels *v2.Labels `protobuf:"bytes,5,opt,name=labels,proto3" json:"labels,omitempty"` + // Login of the tenant. + Login *string `protobuf:"bytes,6,opt,name=login,proto3,oneof" json:"login,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -105,6 +107,13 @@ func (x *TenantServiceCreateRequest) GetLabels() *v2.Labels { return nil } +func (x *TenantServiceCreateRequest) GetLogin() string { + if x != nil && x.Login != nil { + return *x.Login + } + return "" +} + // TenantServiceCreateResponse is the response payload for creating a tenant. type TenantServiceCreateResponse struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -319,8 +328,8 @@ func (x *TenantServiceAddMemberRequest) GetRole() v2.TenantRole { // TenantServiceAddMemberResponse is the response payload for the add member request. type TenantServiceAddMemberResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - // TenantMember is the added tenant member. - TenantMember *v2.TenantMember `protobuf:"bytes,1,opt,name=tenant_member,json=tenantMember,proto3" json:"tenant_member,omitempty"` + // Member is the added tenant member. + Member *v2.TenantMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -355,9 +364,9 @@ func (*TenantServiceAddMemberResponse) Descriptor() ([]byte, []int) { return file_metalstack_admin_v2_tenant_proto_rawDescGZIP(), []int{5} } -func (x *TenantServiceAddMemberResponse) GetTenantMember() *v2.TenantMember { +func (x *TenantServiceAddMemberResponse) GetMember() *v2.TenantMember { if x != nil { - return x.TenantMember + return x.Member } return nil } @@ -420,8 +429,8 @@ func (x *TenantServiceRemoveMemberRequest) GetMember() string { // TenantServiceRemoveMemberResponse is the response payload for the remove member request. type TenantServiceRemoveMemberResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - // TenantMember is the removed tenant member. - TenantMember *v2.TenantMember `protobuf:"bytes,1,opt,name=tenant_member,json=tenantMember,proto3" json:"tenant_member,omitempty"` + // Member is the removed tenant member. + Member *v2.TenantMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -456,9 +465,9 @@ func (*TenantServiceRemoveMemberResponse) Descriptor() ([]byte, []int) { return file_metalstack_admin_v2_tenant_proto_rawDescGZIP(), []int{7} } -func (x *TenantServiceRemoveMemberResponse) GetTenantMember() *v2.TenantMember { +func (x *TenantServiceRemoveMemberResponse) GetMember() *v2.TenantMember { if x != nil { - return x.TenantMember + return x.Member } return nil } @@ -467,17 +476,19 @@ 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\"\xa2\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\x1a%metalstack/api/v2/tenant_member.proto\"\xd4\x02\n" + "\x1aTenantServiceCreateRequest\x12\x1f\n" + - "\x04name\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x04name\x122\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" + "\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" + + "\x06labels\x18\x05 \x01(\v2\x19.metalstack.api.v2.LabelsR\x06labels\x12&\n" + + "\x05login\x18\x06 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01H\x03R\x05login\x88\x01\x01B\x0e\n" + "\f_descriptionB\b\n" + "\x06_emailB\r\n" + - "\v_avatar_url\"P\n" + + "\v_avatar_urlB\b\n" + + "\x06_login\"P\n" + "\x1bTenantServiceCreateResponse\x121\n" + "\x06tenant\x18\x01 \x01(\v2\x19.metalstack.api.v2.TenantR\x06tenant\"P\n" + "\x18TenantServiceListRequest\x124\n" + @@ -490,14 +501,14 @@ const file_metalstack_admin_v2_tenant_proto_rawDesc = "" + "\x1dTenantServiceAddMemberRequest\x12#\n" + "\x06tenant\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06tenant\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\"f\n" + - "\x1eTenantServiceAddMemberResponse\x12D\n" + - "\rtenant_member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\ftenantMember\"l\n" + + "\x04role\x18\x03 \x01(\x0e2\x1d.metalstack.api.v2.TenantRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"Y\n" + + "\x1eTenantServiceAddMemberResponse\x127\n" + + "\x06member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\x06member\"l\n" + " TenantServiceRemoveMemberRequest\x12#\n" + "\x06tenant\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06tenant\x12#\n" + - "\x06member\x18\x02 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06member\"i\n" + - "!TenantServiceRemoveMemberResponse\x12D\n" + - "\rtenant_member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\ftenantMember2\x86\x04\n" + + "\x06member\x18\x02 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06member\"\\\n" + + "!TenantServiceRemoveMemberResponse\x127\n" + + "\x06member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\x06member2\x86\x04\n" + "\rTenantService\x12v\n" + "\x06Create\x12/.metalstack.admin.v2.TenantServiceCreateRequest\x1a0.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" + @@ -540,8 +551,8 @@ var file_metalstack_admin_v2_tenant_proto_depIdxs = []int32{ 10, // 2: metalstack.admin.v2.TenantServiceListRequest.query:type_name -> metalstack.api.v2.TenantQuery 9, // 3: metalstack.admin.v2.TenantServiceListResponse.tenants:type_name -> metalstack.api.v2.Tenant 11, // 4: metalstack.admin.v2.TenantServiceAddMemberRequest.role:type_name -> metalstack.api.v2.TenantRole - 12, // 5: metalstack.admin.v2.TenantServiceAddMemberResponse.tenant_member:type_name -> metalstack.api.v2.TenantMember - 12, // 6: metalstack.admin.v2.TenantServiceRemoveMemberResponse.tenant_member:type_name -> metalstack.api.v2.TenantMember + 12, // 5: metalstack.admin.v2.TenantServiceAddMemberResponse.member:type_name -> metalstack.api.v2.TenantMember + 12, // 6: metalstack.admin.v2.TenantServiceRemoveMemberResponse.member:type_name -> metalstack.api.v2.TenantMember 0, // 7: metalstack.admin.v2.TenantService.Create:input_type -> metalstack.admin.v2.TenantServiceCreateRequest 2, // 8: metalstack.admin.v2.TenantService.List:input_type -> metalstack.admin.v2.TenantServiceListRequest 4, // 9: metalstack.admin.v2.TenantService.AddMember:input_type -> metalstack.admin.v2.TenantServiceAddMemberRequest diff --git a/go/metalstack/api/v2/apiv2connect/project.connect.go b/go/metalstack/api/v2/apiv2connect/project.connect.go index 74e16577..343d8296 100644 --- a/go/metalstack/api/v2/apiv2connect/project.connect.go +++ b/go/metalstack/api/v2/apiv2connect/project.connect.go @@ -43,17 +43,6 @@ const ( ProjectServiceDeleteProcedure = "/metalstack.api.v2.ProjectService/Delete" // ProjectServiceUpdateProcedure is the fully-qualified name of the ProjectService's Update RPC. ProjectServiceUpdateProcedure = "/metalstack.api.v2.ProjectService/Update" - // ProjectServiceLeaveProcedure is the fully-qualified name of the ProjectService's Leave RPC. - ProjectServiceLeaveProcedure = "/metalstack.api.v2.ProjectService/Leave" - // ProjectServiceAddMemberProcedure is the fully-qualified name of the ProjectService's AddMember - // RPC. - ProjectServiceAddMemberProcedure = "/metalstack.api.v2.ProjectService/AddMember" - // ProjectServiceRemoveMemberProcedure is the fully-qualified name of the ProjectService's - // RemoveMember RPC. - ProjectServiceRemoveMemberProcedure = "/metalstack.api.v2.ProjectService/RemoveMember" - // ProjectServiceUpdateMemberProcedure is the fully-qualified name of the ProjectService's - // UpdateMember RPC. - ProjectServiceUpdateMemberProcedure = "/metalstack.api.v2.ProjectService/UpdateMember" // ProjectServiceInviteProcedure is the fully-qualified name of the ProjectService's Invite RPC. ProjectServiceInviteProcedure = "/metalstack.api.v2.ProjectService/Invite" // ProjectServiceInviteAcceptProcedure is the fully-qualified name of the ProjectService's @@ -82,14 +71,6 @@ type ProjectServiceClient interface { Delete(context.Context, *v2.ProjectServiceDeleteRequest) (*v2.ProjectServiceDeleteResponse, error) // Update a project. Update(context.Context, *v2.ProjectServiceUpdateRequest) (*v2.ProjectServiceUpdateResponse, error) - // Leave project. - Leave(context.Context, *v2.ProjectServiceLeaveRequest) (*v2.ProjectServiceLeaveResponse, error) - // AddMember adds a user to a project. - AddMember(context.Context, *v2.ProjectServiceAddMemberRequest) (*v2.ProjectServiceAddMemberResponse, error) - // RemoveMember removes a user from a project. - RemoveMember(context.Context, *v2.ProjectServiceRemoveMemberRequest) (*v2.ProjectServiceRemoveMemberResponse, error) - // UpdateMember updates a user for a project. - UpdateMember(context.Context, *v2.ProjectServiceUpdateMemberRequest) (*v2.ProjectServiceUpdateMemberResponse, error) // Invite a user to a project. Invite(context.Context, *v2.ProjectServiceInviteRequest) (*v2.ProjectServiceInviteResponse, error) // InviteAccept is called by a user to accept an invitation. @@ -143,30 +124,6 @@ func NewProjectServiceClient(httpClient connect.HTTPClient, baseURL string, opts connect.WithSchema(projectServiceMethods.ByName("Update")), connect.WithClientOptions(opts...), ), - leave: connect.NewClient[v2.ProjectServiceLeaveRequest, v2.ProjectServiceLeaveResponse]( - httpClient, - baseURL+ProjectServiceLeaveProcedure, - connect.WithSchema(projectServiceMethods.ByName("Leave")), - connect.WithClientOptions(opts...), - ), - addMember: connect.NewClient[v2.ProjectServiceAddMemberRequest, v2.ProjectServiceAddMemberResponse]( - httpClient, - baseURL+ProjectServiceAddMemberProcedure, - connect.WithSchema(projectServiceMethods.ByName("AddMember")), - connect.WithClientOptions(opts...), - ), - removeMember: connect.NewClient[v2.ProjectServiceRemoveMemberRequest, v2.ProjectServiceRemoveMemberResponse]( - httpClient, - baseURL+ProjectServiceRemoveMemberProcedure, - connect.WithSchema(projectServiceMethods.ByName("RemoveMember")), - connect.WithClientOptions(opts...), - ), - updateMember: connect.NewClient[v2.ProjectServiceUpdateMemberRequest, v2.ProjectServiceUpdateMemberResponse]( - httpClient, - baseURL+ProjectServiceUpdateMemberProcedure, - connect.WithSchema(projectServiceMethods.ByName("UpdateMember")), - connect.WithClientOptions(opts...), - ), invite: connect.NewClient[v2.ProjectServiceInviteRequest, v2.ProjectServiceInviteResponse]( httpClient, baseURL+ProjectServiceInviteProcedure, @@ -207,10 +164,6 @@ type projectServiceClient struct { create *connect.Client[v2.ProjectServiceCreateRequest, v2.ProjectServiceCreateResponse] delete *connect.Client[v2.ProjectServiceDeleteRequest, v2.ProjectServiceDeleteResponse] update *connect.Client[v2.ProjectServiceUpdateRequest, v2.ProjectServiceUpdateResponse] - leave *connect.Client[v2.ProjectServiceLeaveRequest, v2.ProjectServiceLeaveResponse] - addMember *connect.Client[v2.ProjectServiceAddMemberRequest, v2.ProjectServiceAddMemberResponse] - removeMember *connect.Client[v2.ProjectServiceRemoveMemberRequest, v2.ProjectServiceRemoveMemberResponse] - updateMember *connect.Client[v2.ProjectServiceUpdateMemberRequest, v2.ProjectServiceUpdateMemberResponse] invite *connect.Client[v2.ProjectServiceInviteRequest, v2.ProjectServiceInviteResponse] inviteAccept *connect.Client[v2.ProjectServiceInviteAcceptRequest, v2.ProjectServiceInviteAcceptResponse] inviteDelete *connect.Client[v2.ProjectServiceInviteDeleteRequest, v2.ProjectServiceInviteDeleteResponse] @@ -263,42 +216,6 @@ func (c *projectServiceClient) Update(ctx context.Context, req *v2.ProjectServic return nil, err } -// Leave calls metalstack.api.v2.ProjectService.Leave. -func (c *projectServiceClient) Leave(ctx context.Context, req *v2.ProjectServiceLeaveRequest) (*v2.ProjectServiceLeaveResponse, error) { - response, err := c.leave.CallUnary(ctx, connect.NewRequest(req)) - if response != nil { - return response.Msg, err - } - return nil, err -} - -// AddMember calls metalstack.api.v2.ProjectService.AddMember. -func (c *projectServiceClient) AddMember(ctx context.Context, req *v2.ProjectServiceAddMemberRequest) (*v2.ProjectServiceAddMemberResponse, error) { - response, err := c.addMember.CallUnary(ctx, connect.NewRequest(req)) - if response != nil { - return response.Msg, err - } - return nil, err -} - -// RemoveMember calls metalstack.api.v2.ProjectService.RemoveMember. -func (c *projectServiceClient) RemoveMember(ctx context.Context, req *v2.ProjectServiceRemoveMemberRequest) (*v2.ProjectServiceRemoveMemberResponse, error) { - response, err := c.removeMember.CallUnary(ctx, connect.NewRequest(req)) - if response != nil { - return response.Msg, err - } - return nil, err -} - -// UpdateMember calls metalstack.api.v2.ProjectService.UpdateMember. -func (c *projectServiceClient) UpdateMember(ctx context.Context, req *v2.ProjectServiceUpdateMemberRequest) (*v2.ProjectServiceUpdateMemberResponse, error) { - response, err := c.updateMember.CallUnary(ctx, connect.NewRequest(req)) - if response != nil { - return response.Msg, err - } - return nil, err -} - // Invite calls metalstack.api.v2.ProjectService.Invite. func (c *projectServiceClient) Invite(ctx context.Context, req *v2.ProjectServiceInviteRequest) (*v2.ProjectServiceInviteResponse, error) { response, err := c.invite.CallUnary(ctx, connect.NewRequest(req)) @@ -356,14 +273,6 @@ type ProjectServiceHandler interface { Delete(context.Context, *v2.ProjectServiceDeleteRequest) (*v2.ProjectServiceDeleteResponse, error) // Update a project. Update(context.Context, *v2.ProjectServiceUpdateRequest) (*v2.ProjectServiceUpdateResponse, error) - // Leave project. - Leave(context.Context, *v2.ProjectServiceLeaveRequest) (*v2.ProjectServiceLeaveResponse, error) - // AddMember adds a user to a project. - AddMember(context.Context, *v2.ProjectServiceAddMemberRequest) (*v2.ProjectServiceAddMemberResponse, error) - // RemoveMember removes a user from a project. - RemoveMember(context.Context, *v2.ProjectServiceRemoveMemberRequest) (*v2.ProjectServiceRemoveMemberResponse, error) - // UpdateMember updates a user for a project. - UpdateMember(context.Context, *v2.ProjectServiceUpdateMemberRequest) (*v2.ProjectServiceUpdateMemberResponse, error) // Invite a user to a project. Invite(context.Context, *v2.ProjectServiceInviteRequest) (*v2.ProjectServiceInviteResponse, error) // InviteAccept is called by a user to accept an invitation. @@ -413,30 +322,6 @@ func NewProjectServiceHandler(svc ProjectServiceHandler, opts ...connect.Handler connect.WithSchema(projectServiceMethods.ByName("Update")), connect.WithHandlerOptions(opts...), ) - projectServiceLeaveHandler := connect.NewUnaryHandlerSimple( - ProjectServiceLeaveProcedure, - svc.Leave, - connect.WithSchema(projectServiceMethods.ByName("Leave")), - connect.WithHandlerOptions(opts...), - ) - projectServiceAddMemberHandler := connect.NewUnaryHandlerSimple( - ProjectServiceAddMemberProcedure, - svc.AddMember, - connect.WithSchema(projectServiceMethods.ByName("AddMember")), - connect.WithHandlerOptions(opts...), - ) - projectServiceRemoveMemberHandler := connect.NewUnaryHandlerSimple( - ProjectServiceRemoveMemberProcedure, - svc.RemoveMember, - connect.WithSchema(projectServiceMethods.ByName("RemoveMember")), - connect.WithHandlerOptions(opts...), - ) - projectServiceUpdateMemberHandler := connect.NewUnaryHandlerSimple( - ProjectServiceUpdateMemberProcedure, - svc.UpdateMember, - connect.WithSchema(projectServiceMethods.ByName("UpdateMember")), - connect.WithHandlerOptions(opts...), - ) projectServiceInviteHandler := connect.NewUnaryHandlerSimple( ProjectServiceInviteProcedure, svc.Invite, @@ -479,14 +364,6 @@ func NewProjectServiceHandler(svc ProjectServiceHandler, opts ...connect.Handler projectServiceDeleteHandler.ServeHTTP(w, r) case ProjectServiceUpdateProcedure: projectServiceUpdateHandler.ServeHTTP(w, r) - case ProjectServiceLeaveProcedure: - projectServiceLeaveHandler.ServeHTTP(w, r) - case ProjectServiceAddMemberProcedure: - projectServiceAddMemberHandler.ServeHTTP(w, r) - case ProjectServiceRemoveMemberProcedure: - projectServiceRemoveMemberHandler.ServeHTTP(w, r) - case ProjectServiceUpdateMemberProcedure: - projectServiceUpdateMemberHandler.ServeHTTP(w, r) case ProjectServiceInviteProcedure: projectServiceInviteHandler.ServeHTTP(w, r) case ProjectServiceInviteAcceptProcedure: @@ -526,22 +403,6 @@ func (UnimplementedProjectServiceHandler) Update(context.Context, *v2.ProjectSer return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectService.Update is not implemented")) } -func (UnimplementedProjectServiceHandler) Leave(context.Context, *v2.ProjectServiceLeaveRequest) (*v2.ProjectServiceLeaveResponse, error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectService.Leave is not implemented")) -} - -func (UnimplementedProjectServiceHandler) AddMember(context.Context, *v2.ProjectServiceAddMemberRequest) (*v2.ProjectServiceAddMemberResponse, error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectService.AddMember is not implemented")) -} - -func (UnimplementedProjectServiceHandler) RemoveMember(context.Context, *v2.ProjectServiceRemoveMemberRequest) (*v2.ProjectServiceRemoveMemberResponse, error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectService.RemoveMember is not implemented")) -} - -func (UnimplementedProjectServiceHandler) UpdateMember(context.Context, *v2.ProjectServiceUpdateMemberRequest) (*v2.ProjectServiceUpdateMemberResponse, error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectService.UpdateMember is not implemented")) -} - func (UnimplementedProjectServiceHandler) Invite(context.Context, *v2.ProjectServiceInviteRequest) (*v2.ProjectServiceInviteResponse, error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectService.Invite is not implemented")) } diff --git a/go/metalstack/api/v2/apiv2connect/project_member.connect.go b/go/metalstack/api/v2/apiv2connect/project_member.connect.go new file mode 100644 index 00000000..df8e3175 --- /dev/null +++ b/go/metalstack/api/v2/apiv2connect/project_member.connect.go @@ -0,0 +1,291 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: metalstack/api/v2/project_member.proto + +package apiv2connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v2 "github.com/metal-stack/api/go/metalstack/api/v2" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // ProjectMemberServiceName is the fully-qualified name of the ProjectMemberService service. + ProjectMemberServiceName = "metalstack.api.v2.ProjectMemberService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // ProjectMemberServiceListProcedure is the fully-qualified name of the ProjectMemberService's List + // RPC. + ProjectMemberServiceListProcedure = "/metalstack.api.v2.ProjectMemberService/List" + // ProjectMemberServiceGetProcedure is the fully-qualified name of the ProjectMemberService's Get + // RPC. + ProjectMemberServiceGetProcedure = "/metalstack.api.v2.ProjectMemberService/Get" + // ProjectMemberServiceCreateProcedure is the fully-qualified name of the ProjectMemberService's + // Create RPC. + ProjectMemberServiceCreateProcedure = "/metalstack.api.v2.ProjectMemberService/Create" + // ProjectMemberServiceDeleteProcedure is the fully-qualified name of the ProjectMemberService's + // Delete RPC. + ProjectMemberServiceDeleteProcedure = "/metalstack.api.v2.ProjectMemberService/Delete" + // ProjectMemberServiceUpdateProcedure is the fully-qualified name of the ProjectMemberService's + // Update RPC. + ProjectMemberServiceUpdateProcedure = "/metalstack.api.v2.ProjectMemberService/Update" + // ProjectMemberServiceLeaveProcedure is the fully-qualified name of the ProjectMemberService's + // Leave RPC. + ProjectMemberServiceLeaveProcedure = "/metalstack.api.v2.ProjectMemberService/Leave" +) + +// ProjectMemberServiceClient is a client for the metalstack.api.v2.ProjectMemberService service. +type ProjectMemberServiceClient interface { + // Returns the list of project members. + List(context.Context, *v2.ProjectMemberServiceListRequest) (*v2.ProjectMemberServiceListResponse, error) + // Returns the project member of the project. + Get(context.Context, *v2.ProjectMemberServiceGetRequest) (*v2.ProjectMemberServiceGetResponse, error) + // Create a project member. + Create(context.Context, *v2.ProjectMemberServiceCreateRequest) (*v2.ProjectMemberServiceCreateResponse, error) + // Delete a project member. + Delete(context.Context, *v2.ProjectMemberServiceDeleteRequest) (*v2.ProjectMemberServiceDeleteResponse, error) + // Update a project member. + Update(context.Context, *v2.ProjectMemberServiceUpdateRequest) (*v2.ProjectMemberServiceUpdateResponse, error) + // Leave a project. + Leave(context.Context, *v2.ProjectMemberServiceLeaveRequest) (*v2.ProjectMemberServiceLeaveResponse, error) +} + +// NewProjectMemberServiceClient constructs a client for the metalstack.api.v2.ProjectMemberService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewProjectMemberServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) ProjectMemberServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + projectMemberServiceMethods := v2.File_metalstack_api_v2_project_member_proto.Services().ByName("ProjectMemberService").Methods() + return &projectMemberServiceClient{ + list: connect.NewClient[v2.ProjectMemberServiceListRequest, v2.ProjectMemberServiceListResponse]( + httpClient, + baseURL+ProjectMemberServiceListProcedure, + connect.WithSchema(projectMemberServiceMethods.ByName("List")), + connect.WithClientOptions(opts...), + ), + get: connect.NewClient[v2.ProjectMemberServiceGetRequest, v2.ProjectMemberServiceGetResponse]( + httpClient, + baseURL+ProjectMemberServiceGetProcedure, + connect.WithSchema(projectMemberServiceMethods.ByName("Get")), + connect.WithClientOptions(opts...), + ), + create: connect.NewClient[v2.ProjectMemberServiceCreateRequest, v2.ProjectMemberServiceCreateResponse]( + httpClient, + baseURL+ProjectMemberServiceCreateProcedure, + connect.WithSchema(projectMemberServiceMethods.ByName("Create")), + connect.WithClientOptions(opts...), + ), + delete: connect.NewClient[v2.ProjectMemberServiceDeleteRequest, v2.ProjectMemberServiceDeleteResponse]( + httpClient, + baseURL+ProjectMemberServiceDeleteProcedure, + connect.WithSchema(projectMemberServiceMethods.ByName("Delete")), + connect.WithClientOptions(opts...), + ), + update: connect.NewClient[v2.ProjectMemberServiceUpdateRequest, v2.ProjectMemberServiceUpdateResponse]( + httpClient, + baseURL+ProjectMemberServiceUpdateProcedure, + connect.WithSchema(projectMemberServiceMethods.ByName("Update")), + connect.WithClientOptions(opts...), + ), + leave: connect.NewClient[v2.ProjectMemberServiceLeaveRequest, v2.ProjectMemberServiceLeaveResponse]( + httpClient, + baseURL+ProjectMemberServiceLeaveProcedure, + connect.WithSchema(projectMemberServiceMethods.ByName("Leave")), + connect.WithClientOptions(opts...), + ), + } +} + +// projectMemberServiceClient implements ProjectMemberServiceClient. +type projectMemberServiceClient struct { + list *connect.Client[v2.ProjectMemberServiceListRequest, v2.ProjectMemberServiceListResponse] + get *connect.Client[v2.ProjectMemberServiceGetRequest, v2.ProjectMemberServiceGetResponse] + create *connect.Client[v2.ProjectMemberServiceCreateRequest, v2.ProjectMemberServiceCreateResponse] + delete *connect.Client[v2.ProjectMemberServiceDeleteRequest, v2.ProjectMemberServiceDeleteResponse] + update *connect.Client[v2.ProjectMemberServiceUpdateRequest, v2.ProjectMemberServiceUpdateResponse] + leave *connect.Client[v2.ProjectMemberServiceLeaveRequest, v2.ProjectMemberServiceLeaveResponse] +} + +// List calls metalstack.api.v2.ProjectMemberService.List. +func (c *projectMemberServiceClient) List(ctx context.Context, req *v2.ProjectMemberServiceListRequest) (*v2.ProjectMemberServiceListResponse, error) { + response, err := c.list.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// Get calls metalstack.api.v2.ProjectMemberService.Get. +func (c *projectMemberServiceClient) Get(ctx context.Context, req *v2.ProjectMemberServiceGetRequest) (*v2.ProjectMemberServiceGetResponse, error) { + response, err := c.get.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// Create calls metalstack.api.v2.ProjectMemberService.Create. +func (c *projectMemberServiceClient) Create(ctx context.Context, req *v2.ProjectMemberServiceCreateRequest) (*v2.ProjectMemberServiceCreateResponse, error) { + response, err := c.create.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// Delete calls metalstack.api.v2.ProjectMemberService.Delete. +func (c *projectMemberServiceClient) Delete(ctx context.Context, req *v2.ProjectMemberServiceDeleteRequest) (*v2.ProjectMemberServiceDeleteResponse, error) { + response, err := c.delete.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// Update calls metalstack.api.v2.ProjectMemberService.Update. +func (c *projectMemberServiceClient) Update(ctx context.Context, req *v2.ProjectMemberServiceUpdateRequest) (*v2.ProjectMemberServiceUpdateResponse, error) { + response, err := c.update.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// Leave calls metalstack.api.v2.ProjectMemberService.Leave. +func (c *projectMemberServiceClient) Leave(ctx context.Context, req *v2.ProjectMemberServiceLeaveRequest) (*v2.ProjectMemberServiceLeaveResponse, error) { + response, err := c.leave.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// ProjectMemberServiceHandler is an implementation of the metalstack.api.v2.ProjectMemberService +// service. +type ProjectMemberServiceHandler interface { + // Returns the list of project members. + List(context.Context, *v2.ProjectMemberServiceListRequest) (*v2.ProjectMemberServiceListResponse, error) + // Returns the project member of the project. + Get(context.Context, *v2.ProjectMemberServiceGetRequest) (*v2.ProjectMemberServiceGetResponse, error) + // Create a project member. + Create(context.Context, *v2.ProjectMemberServiceCreateRequest) (*v2.ProjectMemberServiceCreateResponse, error) + // Delete a project member. + Delete(context.Context, *v2.ProjectMemberServiceDeleteRequest) (*v2.ProjectMemberServiceDeleteResponse, error) + // Update a project member. + Update(context.Context, *v2.ProjectMemberServiceUpdateRequest) (*v2.ProjectMemberServiceUpdateResponse, error) + // Leave a project. + Leave(context.Context, *v2.ProjectMemberServiceLeaveRequest) (*v2.ProjectMemberServiceLeaveResponse, error) +} + +// NewProjectMemberServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewProjectMemberServiceHandler(svc ProjectMemberServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + projectMemberServiceMethods := v2.File_metalstack_api_v2_project_member_proto.Services().ByName("ProjectMemberService").Methods() + projectMemberServiceListHandler := connect.NewUnaryHandlerSimple( + ProjectMemberServiceListProcedure, + svc.List, + connect.WithSchema(projectMemberServiceMethods.ByName("List")), + connect.WithHandlerOptions(opts...), + ) + projectMemberServiceGetHandler := connect.NewUnaryHandlerSimple( + ProjectMemberServiceGetProcedure, + svc.Get, + connect.WithSchema(projectMemberServiceMethods.ByName("Get")), + connect.WithHandlerOptions(opts...), + ) + projectMemberServiceCreateHandler := connect.NewUnaryHandlerSimple( + ProjectMemberServiceCreateProcedure, + svc.Create, + connect.WithSchema(projectMemberServiceMethods.ByName("Create")), + connect.WithHandlerOptions(opts...), + ) + projectMemberServiceDeleteHandler := connect.NewUnaryHandlerSimple( + ProjectMemberServiceDeleteProcedure, + svc.Delete, + connect.WithSchema(projectMemberServiceMethods.ByName("Delete")), + connect.WithHandlerOptions(opts...), + ) + projectMemberServiceUpdateHandler := connect.NewUnaryHandlerSimple( + ProjectMemberServiceUpdateProcedure, + svc.Update, + connect.WithSchema(projectMemberServiceMethods.ByName("Update")), + connect.WithHandlerOptions(opts...), + ) + projectMemberServiceLeaveHandler := connect.NewUnaryHandlerSimple( + ProjectMemberServiceLeaveProcedure, + svc.Leave, + connect.WithSchema(projectMemberServiceMethods.ByName("Leave")), + connect.WithHandlerOptions(opts...), + ) + return "/metalstack.api.v2.ProjectMemberService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case ProjectMemberServiceListProcedure: + projectMemberServiceListHandler.ServeHTTP(w, r) + case ProjectMemberServiceGetProcedure: + projectMemberServiceGetHandler.ServeHTTP(w, r) + case ProjectMemberServiceCreateProcedure: + projectMemberServiceCreateHandler.ServeHTTP(w, r) + case ProjectMemberServiceDeleteProcedure: + projectMemberServiceDeleteHandler.ServeHTTP(w, r) + case ProjectMemberServiceUpdateProcedure: + projectMemberServiceUpdateHandler.ServeHTTP(w, r) + case ProjectMemberServiceLeaveProcedure: + projectMemberServiceLeaveHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedProjectMemberServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedProjectMemberServiceHandler struct{} + +func (UnimplementedProjectMemberServiceHandler) List(context.Context, *v2.ProjectMemberServiceListRequest) (*v2.ProjectMemberServiceListResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectMemberService.List is not implemented")) +} + +func (UnimplementedProjectMemberServiceHandler) Get(context.Context, *v2.ProjectMemberServiceGetRequest) (*v2.ProjectMemberServiceGetResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectMemberService.Get is not implemented")) +} + +func (UnimplementedProjectMemberServiceHandler) Create(context.Context, *v2.ProjectMemberServiceCreateRequest) (*v2.ProjectMemberServiceCreateResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectMemberService.Create is not implemented")) +} + +func (UnimplementedProjectMemberServiceHandler) Delete(context.Context, *v2.ProjectMemberServiceDeleteRequest) (*v2.ProjectMemberServiceDeleteResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectMemberService.Delete is not implemented")) +} + +func (UnimplementedProjectMemberServiceHandler) Update(context.Context, *v2.ProjectMemberServiceUpdateRequest) (*v2.ProjectMemberServiceUpdateResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectMemberService.Update is not implemented")) +} + +func (UnimplementedProjectMemberServiceHandler) Leave(context.Context, *v2.ProjectMemberServiceLeaveRequest) (*v2.ProjectMemberServiceLeaveResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.ProjectMemberService.Leave is not implemented")) +} diff --git a/go/metalstack/api/v2/apiv2connect/tenant.connect.go b/go/metalstack/api/v2/apiv2connect/tenant.connect.go index 9b99279a..1c209907 100644 --- a/go/metalstack/api/v2/apiv2connect/tenant.connect.go +++ b/go/metalstack/api/v2/apiv2connect/tenant.connect.go @@ -43,16 +43,6 @@ const ( TenantServiceUpdateProcedure = "/metalstack.api.v2.TenantService/Update" // TenantServiceDeleteProcedure is the fully-qualified name of the TenantService's Delete RPC. TenantServiceDeleteProcedure = "/metalstack.api.v2.TenantService/Delete" - // TenantServiceLeaveProcedure is the fully-qualified name of the TenantService's Leave RPC. - TenantServiceLeaveProcedure = "/metalstack.api.v2.TenantService/Leave" - // TenantServiceAddMemberProcedure is the fully-qualified name of the TenantService's AddMember RPC. - TenantServiceAddMemberProcedure = "/metalstack.api.v2.TenantService/AddMember" - // TenantServiceRemoveMemberProcedure is the fully-qualified name of the TenantService's - // RemoveMember RPC. - TenantServiceRemoveMemberProcedure = "/metalstack.api.v2.TenantService/RemoveMember" - // TenantServiceUpdateMemberProcedure is the fully-qualified name of the TenantService's - // UpdateMember RPC. - TenantServiceUpdateMemberProcedure = "/metalstack.api.v2.TenantService/UpdateMember" // TenantServiceInviteProcedure is the fully-qualified name of the TenantService's Invite RPC. TenantServiceInviteProcedure = "/metalstack.api.v2.TenantService/Invite" // TenantServiceInviteAcceptProcedure is the fully-qualified name of the TenantService's @@ -80,14 +70,6 @@ type TenantServiceClient interface { Update(context.Context, *v2.TenantServiceUpdateRequest) (*v2.TenantServiceUpdateResponse, error) // Delete a tenant. Delete(context.Context, *v2.TenantServiceDeleteRequest) (*v2.TenantServiceDeleteResponse, error) - // Leave removes a member from a tenant. - Leave(context.Context, *v2.TenantServiceLeaveRequest) (*v2.TenantServiceLeaveResponse, error) - // AddMember adds a member to a tenant. - AddMember(context.Context, *v2.TenantServiceAddMemberRequest) (*v2.TenantServiceAddMemberResponse, error) - // RemoveMember removes a member from a tenant. - RemoveMember(context.Context, *v2.TenantServiceRemoveMemberRequest) (*v2.TenantServiceRemoveMemberResponse, error) - // UpdateMember update a member of a tenant. - UpdateMember(context.Context, *v2.TenantServiceUpdateMemberRequest) (*v2.TenantServiceUpdateMemberResponse, error) // Invite a user to a tenant. Invite(context.Context, *v2.TenantServiceInviteRequest) (*v2.TenantServiceInviteResponse, error) // InviteAccept is called from a user to accept an invitation. @@ -141,30 +123,6 @@ func NewTenantServiceClient(httpClient connect.HTTPClient, baseURL string, opts connect.WithSchema(tenantServiceMethods.ByName("Delete")), connect.WithClientOptions(opts...), ), - leave: connect.NewClient[v2.TenantServiceLeaveRequest, v2.TenantServiceLeaveResponse]( - httpClient, - baseURL+TenantServiceLeaveProcedure, - connect.WithSchema(tenantServiceMethods.ByName("Leave")), - connect.WithClientOptions(opts...), - ), - addMember: connect.NewClient[v2.TenantServiceAddMemberRequest, v2.TenantServiceAddMemberResponse]( - httpClient, - baseURL+TenantServiceAddMemberProcedure, - connect.WithSchema(tenantServiceMethods.ByName("AddMember")), - connect.WithClientOptions(opts...), - ), - removeMember: connect.NewClient[v2.TenantServiceRemoveMemberRequest, v2.TenantServiceRemoveMemberResponse]( - httpClient, - baseURL+TenantServiceRemoveMemberProcedure, - connect.WithSchema(tenantServiceMethods.ByName("RemoveMember")), - connect.WithClientOptions(opts...), - ), - updateMember: connect.NewClient[v2.TenantServiceUpdateMemberRequest, v2.TenantServiceUpdateMemberResponse]( - httpClient, - baseURL+TenantServiceUpdateMemberProcedure, - connect.WithSchema(tenantServiceMethods.ByName("UpdateMember")), - connect.WithClientOptions(opts...), - ), invite: connect.NewClient[v2.TenantServiceInviteRequest, v2.TenantServiceInviteResponse]( httpClient, baseURL+TenantServiceInviteProcedure, @@ -205,10 +163,6 @@ type tenantServiceClient struct { get *connect.Client[v2.TenantServiceGetRequest, v2.TenantServiceGetResponse] update *connect.Client[v2.TenantServiceUpdateRequest, v2.TenantServiceUpdateResponse] delete *connect.Client[v2.TenantServiceDeleteRequest, v2.TenantServiceDeleteResponse] - leave *connect.Client[v2.TenantServiceLeaveRequest, v2.TenantServiceLeaveResponse] - addMember *connect.Client[v2.TenantServiceAddMemberRequest, v2.TenantServiceAddMemberResponse] - removeMember *connect.Client[v2.TenantServiceRemoveMemberRequest, v2.TenantServiceRemoveMemberResponse] - updateMember *connect.Client[v2.TenantServiceUpdateMemberRequest, v2.TenantServiceUpdateMemberResponse] invite *connect.Client[v2.TenantServiceInviteRequest, v2.TenantServiceInviteResponse] inviteAccept *connect.Client[v2.TenantServiceInviteAcceptRequest, v2.TenantServiceInviteAcceptResponse] inviteDelete *connect.Client[v2.TenantServiceInviteDeleteRequest, v2.TenantServiceInviteDeleteResponse] @@ -261,42 +215,6 @@ func (c *tenantServiceClient) Delete(ctx context.Context, req *v2.TenantServiceD return nil, err } -// Leave calls metalstack.api.v2.TenantService.Leave. -func (c *tenantServiceClient) Leave(ctx context.Context, req *v2.TenantServiceLeaveRequest) (*v2.TenantServiceLeaveResponse, error) { - response, err := c.leave.CallUnary(ctx, connect.NewRequest(req)) - if response != nil { - return response.Msg, err - } - return nil, err -} - -// AddMember calls metalstack.api.v2.TenantService.AddMember. -func (c *tenantServiceClient) AddMember(ctx context.Context, req *v2.TenantServiceAddMemberRequest) (*v2.TenantServiceAddMemberResponse, error) { - response, err := c.addMember.CallUnary(ctx, connect.NewRequest(req)) - if response != nil { - return response.Msg, err - } - return nil, err -} - -// RemoveMember calls metalstack.api.v2.TenantService.RemoveMember. -func (c *tenantServiceClient) RemoveMember(ctx context.Context, req *v2.TenantServiceRemoveMemberRequest) (*v2.TenantServiceRemoveMemberResponse, error) { - response, err := c.removeMember.CallUnary(ctx, connect.NewRequest(req)) - if response != nil { - return response.Msg, err - } - return nil, err -} - -// UpdateMember calls metalstack.api.v2.TenantService.UpdateMember. -func (c *tenantServiceClient) UpdateMember(ctx context.Context, req *v2.TenantServiceUpdateMemberRequest) (*v2.TenantServiceUpdateMemberResponse, error) { - response, err := c.updateMember.CallUnary(ctx, connect.NewRequest(req)) - if response != nil { - return response.Msg, err - } - return nil, err -} - // Invite calls metalstack.api.v2.TenantService.Invite. func (c *tenantServiceClient) Invite(ctx context.Context, req *v2.TenantServiceInviteRequest) (*v2.TenantServiceInviteResponse, error) { response, err := c.invite.CallUnary(ctx, connect.NewRequest(req)) @@ -354,14 +272,6 @@ type TenantServiceHandler interface { Update(context.Context, *v2.TenantServiceUpdateRequest) (*v2.TenantServiceUpdateResponse, error) // Delete a tenant. Delete(context.Context, *v2.TenantServiceDeleteRequest) (*v2.TenantServiceDeleteResponse, error) - // Leave removes a member from a tenant. - Leave(context.Context, *v2.TenantServiceLeaveRequest) (*v2.TenantServiceLeaveResponse, error) - // AddMember adds a member to a tenant. - AddMember(context.Context, *v2.TenantServiceAddMemberRequest) (*v2.TenantServiceAddMemberResponse, error) - // RemoveMember removes a member from a tenant. - RemoveMember(context.Context, *v2.TenantServiceRemoveMemberRequest) (*v2.TenantServiceRemoveMemberResponse, error) - // UpdateMember update a member of a tenant. - UpdateMember(context.Context, *v2.TenantServiceUpdateMemberRequest) (*v2.TenantServiceUpdateMemberResponse, error) // Invite a user to a tenant. Invite(context.Context, *v2.TenantServiceInviteRequest) (*v2.TenantServiceInviteResponse, error) // InviteAccept is called from a user to accept an invitation. @@ -411,30 +321,6 @@ func NewTenantServiceHandler(svc TenantServiceHandler, opts ...connect.HandlerOp connect.WithSchema(tenantServiceMethods.ByName("Delete")), connect.WithHandlerOptions(opts...), ) - tenantServiceLeaveHandler := connect.NewUnaryHandlerSimple( - TenantServiceLeaveProcedure, - svc.Leave, - connect.WithSchema(tenantServiceMethods.ByName("Leave")), - connect.WithHandlerOptions(opts...), - ) - tenantServiceAddMemberHandler := connect.NewUnaryHandlerSimple( - TenantServiceAddMemberProcedure, - svc.AddMember, - connect.WithSchema(tenantServiceMethods.ByName("AddMember")), - connect.WithHandlerOptions(opts...), - ) - tenantServiceRemoveMemberHandler := connect.NewUnaryHandlerSimple( - TenantServiceRemoveMemberProcedure, - svc.RemoveMember, - connect.WithSchema(tenantServiceMethods.ByName("RemoveMember")), - connect.WithHandlerOptions(opts...), - ) - tenantServiceUpdateMemberHandler := connect.NewUnaryHandlerSimple( - TenantServiceUpdateMemberProcedure, - svc.UpdateMember, - connect.WithSchema(tenantServiceMethods.ByName("UpdateMember")), - connect.WithHandlerOptions(opts...), - ) tenantServiceInviteHandler := connect.NewUnaryHandlerSimple( TenantServiceInviteProcedure, svc.Invite, @@ -477,14 +363,6 @@ func NewTenantServiceHandler(svc TenantServiceHandler, opts ...connect.HandlerOp tenantServiceUpdateHandler.ServeHTTP(w, r) case TenantServiceDeleteProcedure: tenantServiceDeleteHandler.ServeHTTP(w, r) - case TenantServiceLeaveProcedure: - tenantServiceLeaveHandler.ServeHTTP(w, r) - case TenantServiceAddMemberProcedure: - tenantServiceAddMemberHandler.ServeHTTP(w, r) - case TenantServiceRemoveMemberProcedure: - tenantServiceRemoveMemberHandler.ServeHTTP(w, r) - case TenantServiceUpdateMemberProcedure: - tenantServiceUpdateMemberHandler.ServeHTTP(w, r) case TenantServiceInviteProcedure: tenantServiceInviteHandler.ServeHTTP(w, r) case TenantServiceInviteAcceptProcedure: @@ -524,22 +402,6 @@ func (UnimplementedTenantServiceHandler) Delete(context.Context, *v2.TenantServi return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantService.Delete is not implemented")) } -func (UnimplementedTenantServiceHandler) Leave(context.Context, *v2.TenantServiceLeaveRequest) (*v2.TenantServiceLeaveResponse, error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantService.Leave is not implemented")) -} - -func (UnimplementedTenantServiceHandler) AddMember(context.Context, *v2.TenantServiceAddMemberRequest) (*v2.TenantServiceAddMemberResponse, error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantService.AddMember is not implemented")) -} - -func (UnimplementedTenantServiceHandler) RemoveMember(context.Context, *v2.TenantServiceRemoveMemberRequest) (*v2.TenantServiceRemoveMemberResponse, error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantService.RemoveMember is not implemented")) -} - -func (UnimplementedTenantServiceHandler) UpdateMember(context.Context, *v2.TenantServiceUpdateMemberRequest) (*v2.TenantServiceUpdateMemberResponse, error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantService.UpdateMember is not implemented")) -} - func (UnimplementedTenantServiceHandler) Invite(context.Context, *v2.TenantServiceInviteRequest) (*v2.TenantServiceInviteResponse, error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantService.Invite is not implemented")) } diff --git a/go/metalstack/api/v2/apiv2connect/tenant_member.connect.go b/go/metalstack/api/v2/apiv2connect/tenant_member.connect.go new file mode 100644 index 00000000..3cce4c07 --- /dev/null +++ b/go/metalstack/api/v2/apiv2connect/tenant_member.connect.go @@ -0,0 +1,290 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: metalstack/api/v2/tenant_member.proto + +package apiv2connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v2 "github.com/metal-stack/api/go/metalstack/api/v2" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // TenantMemberServiceName is the fully-qualified name of the TenantMemberService service. + TenantMemberServiceName = "metalstack.api.v2.TenantMemberService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // TenantMemberServiceCreateProcedure is the fully-qualified name of the TenantMemberService's + // Create RPC. + TenantMemberServiceCreateProcedure = "/metalstack.api.v2.TenantMemberService/Create" + // TenantMemberServiceListProcedure is the fully-qualified name of the TenantMemberService's List + // RPC. + TenantMemberServiceListProcedure = "/metalstack.api.v2.TenantMemberService/List" + // TenantMemberServiceGetProcedure is the fully-qualified name of the TenantMemberService's Get RPC. + TenantMemberServiceGetProcedure = "/metalstack.api.v2.TenantMemberService/Get" + // TenantMemberServiceUpdateProcedure is the fully-qualified name of the TenantMemberService's + // Update RPC. + TenantMemberServiceUpdateProcedure = "/metalstack.api.v2.TenantMemberService/Update" + // TenantMemberServiceDeleteProcedure is the fully-qualified name of the TenantMemberService's + // Delete RPC. + TenantMemberServiceDeleteProcedure = "/metalstack.api.v2.TenantMemberService/Delete" + // TenantMemberServiceLeaveProcedure is the fully-qualified name of the TenantMemberService's Leave + // RPC. + TenantMemberServiceLeaveProcedure = "/metalstack.api.v2.TenantMemberService/Leave" +) + +// TenantMemberServiceClient is a client for the metalstack.api.v2.TenantMemberService service. +type TenantMemberServiceClient interface { + // Creates a new tenant member. + Create(context.Context, *v2.TenantMemberServiceCreateRequest) (*v2.TenantMemberServiceCreateResponse, error) + // Returns the list of tenant members. + List(context.Context, *v2.TenantMemberServiceListRequest) (*v2.TenantMemberServiceListResponse, error) + // Get a tenant member. + Get(context.Context, *v2.TenantMemberServiceGetRequest) (*v2.TenantMemberServiceGetResponse, error) + // Update a tenant member. + Update(context.Context, *v2.TenantMemberServiceUpdateRequest) (*v2.TenantMemberServiceUpdateResponse, error) + // Delete a tenant. + Delete(context.Context, *v2.TenantMemberServiceDeleteRequest) (*v2.TenantMemberServiceDeleteResponse, error) + // Leave removes a member from a tenant. + Leave(context.Context, *v2.TenantMemberServiceLeaveRequest) (*v2.TenantMemberServiceLeaveResponse, error) +} + +// NewTenantMemberServiceClient constructs a client for the metalstack.api.v2.TenantMemberService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewTenantMemberServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) TenantMemberServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + tenantMemberServiceMethods := v2.File_metalstack_api_v2_tenant_member_proto.Services().ByName("TenantMemberService").Methods() + return &tenantMemberServiceClient{ + create: connect.NewClient[v2.TenantMemberServiceCreateRequest, v2.TenantMemberServiceCreateResponse]( + httpClient, + baseURL+TenantMemberServiceCreateProcedure, + connect.WithSchema(tenantMemberServiceMethods.ByName("Create")), + connect.WithClientOptions(opts...), + ), + list: connect.NewClient[v2.TenantMemberServiceListRequest, v2.TenantMemberServiceListResponse]( + httpClient, + baseURL+TenantMemberServiceListProcedure, + connect.WithSchema(tenantMemberServiceMethods.ByName("List")), + connect.WithClientOptions(opts...), + ), + get: connect.NewClient[v2.TenantMemberServiceGetRequest, v2.TenantMemberServiceGetResponse]( + httpClient, + baseURL+TenantMemberServiceGetProcedure, + connect.WithSchema(tenantMemberServiceMethods.ByName("Get")), + connect.WithClientOptions(opts...), + ), + update: connect.NewClient[v2.TenantMemberServiceUpdateRequest, v2.TenantMemberServiceUpdateResponse]( + httpClient, + baseURL+TenantMemberServiceUpdateProcedure, + connect.WithSchema(tenantMemberServiceMethods.ByName("Update")), + connect.WithClientOptions(opts...), + ), + delete: connect.NewClient[v2.TenantMemberServiceDeleteRequest, v2.TenantMemberServiceDeleteResponse]( + httpClient, + baseURL+TenantMemberServiceDeleteProcedure, + connect.WithSchema(tenantMemberServiceMethods.ByName("Delete")), + connect.WithClientOptions(opts...), + ), + leave: connect.NewClient[v2.TenantMemberServiceLeaveRequest, v2.TenantMemberServiceLeaveResponse]( + httpClient, + baseURL+TenantMemberServiceLeaveProcedure, + connect.WithSchema(tenantMemberServiceMethods.ByName("Leave")), + connect.WithClientOptions(opts...), + ), + } +} + +// tenantMemberServiceClient implements TenantMemberServiceClient. +type tenantMemberServiceClient struct { + create *connect.Client[v2.TenantMemberServiceCreateRequest, v2.TenantMemberServiceCreateResponse] + list *connect.Client[v2.TenantMemberServiceListRequest, v2.TenantMemberServiceListResponse] + get *connect.Client[v2.TenantMemberServiceGetRequest, v2.TenantMemberServiceGetResponse] + update *connect.Client[v2.TenantMemberServiceUpdateRequest, v2.TenantMemberServiceUpdateResponse] + delete *connect.Client[v2.TenantMemberServiceDeleteRequest, v2.TenantMemberServiceDeleteResponse] + leave *connect.Client[v2.TenantMemberServiceLeaveRequest, v2.TenantMemberServiceLeaveResponse] +} + +// Create calls metalstack.api.v2.TenantMemberService.Create. +func (c *tenantMemberServiceClient) Create(ctx context.Context, req *v2.TenantMemberServiceCreateRequest) (*v2.TenantMemberServiceCreateResponse, error) { + response, err := c.create.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// List calls metalstack.api.v2.TenantMemberService.List. +func (c *tenantMemberServiceClient) List(ctx context.Context, req *v2.TenantMemberServiceListRequest) (*v2.TenantMemberServiceListResponse, error) { + response, err := c.list.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// Get calls metalstack.api.v2.TenantMemberService.Get. +func (c *tenantMemberServiceClient) Get(ctx context.Context, req *v2.TenantMemberServiceGetRequest) (*v2.TenantMemberServiceGetResponse, error) { + response, err := c.get.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// Update calls metalstack.api.v2.TenantMemberService.Update. +func (c *tenantMemberServiceClient) Update(ctx context.Context, req *v2.TenantMemberServiceUpdateRequest) (*v2.TenantMemberServiceUpdateResponse, error) { + response, err := c.update.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// Delete calls metalstack.api.v2.TenantMemberService.Delete. +func (c *tenantMemberServiceClient) Delete(ctx context.Context, req *v2.TenantMemberServiceDeleteRequest) (*v2.TenantMemberServiceDeleteResponse, error) { + response, err := c.delete.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// Leave calls metalstack.api.v2.TenantMemberService.Leave. +func (c *tenantMemberServiceClient) Leave(ctx context.Context, req *v2.TenantMemberServiceLeaveRequest) (*v2.TenantMemberServiceLeaveResponse, error) { + response, err := c.leave.CallUnary(ctx, connect.NewRequest(req)) + if response != nil { + return response.Msg, err + } + return nil, err +} + +// TenantMemberServiceHandler is an implementation of the metalstack.api.v2.TenantMemberService +// service. +type TenantMemberServiceHandler interface { + // Creates a new tenant member. + Create(context.Context, *v2.TenantMemberServiceCreateRequest) (*v2.TenantMemberServiceCreateResponse, error) + // Returns the list of tenant members. + List(context.Context, *v2.TenantMemberServiceListRequest) (*v2.TenantMemberServiceListResponse, error) + // Get a tenant member. + Get(context.Context, *v2.TenantMemberServiceGetRequest) (*v2.TenantMemberServiceGetResponse, error) + // Update a tenant member. + Update(context.Context, *v2.TenantMemberServiceUpdateRequest) (*v2.TenantMemberServiceUpdateResponse, error) + // Delete a tenant. + Delete(context.Context, *v2.TenantMemberServiceDeleteRequest) (*v2.TenantMemberServiceDeleteResponse, error) + // Leave removes a member from a tenant. + Leave(context.Context, *v2.TenantMemberServiceLeaveRequest) (*v2.TenantMemberServiceLeaveResponse, error) +} + +// NewTenantMemberServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewTenantMemberServiceHandler(svc TenantMemberServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + tenantMemberServiceMethods := v2.File_metalstack_api_v2_tenant_member_proto.Services().ByName("TenantMemberService").Methods() + tenantMemberServiceCreateHandler := connect.NewUnaryHandlerSimple( + TenantMemberServiceCreateProcedure, + svc.Create, + connect.WithSchema(tenantMemberServiceMethods.ByName("Create")), + connect.WithHandlerOptions(opts...), + ) + tenantMemberServiceListHandler := connect.NewUnaryHandlerSimple( + TenantMemberServiceListProcedure, + svc.List, + connect.WithSchema(tenantMemberServiceMethods.ByName("List")), + connect.WithHandlerOptions(opts...), + ) + tenantMemberServiceGetHandler := connect.NewUnaryHandlerSimple( + TenantMemberServiceGetProcedure, + svc.Get, + connect.WithSchema(tenantMemberServiceMethods.ByName("Get")), + connect.WithHandlerOptions(opts...), + ) + tenantMemberServiceUpdateHandler := connect.NewUnaryHandlerSimple( + TenantMemberServiceUpdateProcedure, + svc.Update, + connect.WithSchema(tenantMemberServiceMethods.ByName("Update")), + connect.WithHandlerOptions(opts...), + ) + tenantMemberServiceDeleteHandler := connect.NewUnaryHandlerSimple( + TenantMemberServiceDeleteProcedure, + svc.Delete, + connect.WithSchema(tenantMemberServiceMethods.ByName("Delete")), + connect.WithHandlerOptions(opts...), + ) + tenantMemberServiceLeaveHandler := connect.NewUnaryHandlerSimple( + TenantMemberServiceLeaveProcedure, + svc.Leave, + connect.WithSchema(tenantMemberServiceMethods.ByName("Leave")), + connect.WithHandlerOptions(opts...), + ) + return "/metalstack.api.v2.TenantMemberService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case TenantMemberServiceCreateProcedure: + tenantMemberServiceCreateHandler.ServeHTTP(w, r) + case TenantMemberServiceListProcedure: + tenantMemberServiceListHandler.ServeHTTP(w, r) + case TenantMemberServiceGetProcedure: + tenantMemberServiceGetHandler.ServeHTTP(w, r) + case TenantMemberServiceUpdateProcedure: + tenantMemberServiceUpdateHandler.ServeHTTP(w, r) + case TenantMemberServiceDeleteProcedure: + tenantMemberServiceDeleteHandler.ServeHTTP(w, r) + case TenantMemberServiceLeaveProcedure: + tenantMemberServiceLeaveHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedTenantMemberServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedTenantMemberServiceHandler struct{} + +func (UnimplementedTenantMemberServiceHandler) Create(context.Context, *v2.TenantMemberServiceCreateRequest) (*v2.TenantMemberServiceCreateResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantMemberService.Create is not implemented")) +} + +func (UnimplementedTenantMemberServiceHandler) List(context.Context, *v2.TenantMemberServiceListRequest) (*v2.TenantMemberServiceListResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantMemberService.List is not implemented")) +} + +func (UnimplementedTenantMemberServiceHandler) Get(context.Context, *v2.TenantMemberServiceGetRequest) (*v2.TenantMemberServiceGetResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantMemberService.Get is not implemented")) +} + +func (UnimplementedTenantMemberServiceHandler) Update(context.Context, *v2.TenantMemberServiceUpdateRequest) (*v2.TenantMemberServiceUpdateResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantMemberService.Update is not implemented")) +} + +func (UnimplementedTenantMemberServiceHandler) Delete(context.Context, *v2.TenantMemberServiceDeleteRequest) (*v2.TenantMemberServiceDeleteResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantMemberService.Delete is not implemented")) +} + +func (UnimplementedTenantMemberServiceHandler) Leave(context.Context, *v2.TenantMemberServiceLeaveRequest) (*v2.TenantMemberServiceLeaveResponse, error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.api.v2.TenantMemberService.Leave is not implemented")) +} diff --git a/go/metalstack/api/v2/project.pb.go b/go/metalstack/api/v2/project.pb.go index 61fba4c8..e3de8e56 100644 --- a/go/metalstack/api/v2/project.pb.go +++ b/go/metalstack/api/v2/project.pb.go @@ -115,90 +115,6 @@ func (x *Project) GetAvatarUrl() string { return "" } -// ProjectMember defines a user that participates in a project. -type ProjectMember struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Id is the user id of the member. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Role is the role of the member. - Role ProjectRole `protobuf:"varint,2,opt,name=role,proto3,enum=metalstack.api.v2.ProjectRole" json:"role,omitempty"` - // InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. - // This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. - // Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members. - InheritedMembership bool `protobuf:"varint,3,opt,name=inherited_membership,json=inheritedMembership,proto3" json:"inherited_membership,omitempty"` - // CreatedAt the date when the member was added to the project. - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // Meta for this project member. - Meta *Meta `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ProjectMember) Reset() { - *x = ProjectMember{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ProjectMember) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMember) ProtoMessage() {} - -func (x *ProjectMember) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[1] - 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 ProjectMember.ProtoReflect.Descriptor instead. -func (*ProjectMember) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{1} -} - -func (x *ProjectMember) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *ProjectMember) GetRole() ProjectRole { - if x != nil { - return x.Role - } - return ProjectRole_PROJECT_ROLE_UNSPECIFIED -} - -func (x *ProjectMember) GetInheritedMembership() bool { - if x != nil { - return x.InheritedMembership - } - return false -} - -func (x *ProjectMember) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *ProjectMember) GetMeta() *Meta { - if x != nil { - return x.Meta - } - return nil -} - // ProjectInvite defines invite to project. type ProjectInvite struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -226,7 +142,7 @@ type ProjectInvite struct { func (x *ProjectInvite) Reset() { *x = ProjectInvite{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[2] + mi := &file_metalstack_api_v2_project_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -238,7 +154,7 @@ func (x *ProjectInvite) String() string { func (*ProjectInvite) ProtoMessage() {} func (x *ProjectInvite) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[2] + mi := &file_metalstack_api_v2_project_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -251,7 +167,7 @@ func (x *ProjectInvite) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectInvite.ProtoReflect.Descriptor instead. func (*ProjectInvite) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{2} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{1} } func (x *ProjectInvite) GetSecret() string { @@ -328,7 +244,7 @@ type ProjectServiceListRequest struct { func (x *ProjectServiceListRequest) Reset() { *x = ProjectServiceListRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[3] + mi := &file_metalstack_api_v2_project_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -340,7 +256,7 @@ func (x *ProjectServiceListRequest) String() string { func (*ProjectServiceListRequest) ProtoMessage() {} func (x *ProjectServiceListRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[3] + mi := &file_metalstack_api_v2_project_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -353,7 +269,7 @@ func (x *ProjectServiceListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceListRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceListRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{3} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{2} } func (x *ProjectServiceListRequest) GetQuery() *ProjectQuery { @@ -380,7 +296,7 @@ type ProjectQuery struct { func (x *ProjectQuery) Reset() { *x = ProjectQuery{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[4] + mi := &file_metalstack_api_v2_project_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -392,7 +308,7 @@ func (x *ProjectQuery) String() string { func (*ProjectQuery) ProtoMessage() {} func (x *ProjectQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[4] + mi := &file_metalstack_api_v2_project_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -405,7 +321,7 @@ func (x *ProjectQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectQuery.ProtoReflect.Descriptor instead. func (*ProjectQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{4} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{3} } func (x *ProjectQuery) GetUuid() string { @@ -447,7 +363,7 @@ type ProjectServiceListResponse struct { func (x *ProjectServiceListResponse) Reset() { *x = ProjectServiceListResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[5] + mi := &file_metalstack_api_v2_project_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -459,7 +375,7 @@ func (x *ProjectServiceListResponse) String() string { func (*ProjectServiceListResponse) ProtoMessage() {} func (x *ProjectServiceListResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[5] + mi := &file_metalstack_api_v2_project_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -472,7 +388,7 @@ func (x *ProjectServiceListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceListResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceListResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{5} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{4} } func (x *ProjectServiceListResponse) GetProjects() []*Project { @@ -493,7 +409,7 @@ type ProjectServiceGetRequest struct { func (x *ProjectServiceGetRequest) Reset() { *x = ProjectServiceGetRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[6] + mi := &file_metalstack_api_v2_project_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -505,7 +421,7 @@ func (x *ProjectServiceGetRequest) String() string { func (*ProjectServiceGetRequest) ProtoMessage() {} func (x *ProjectServiceGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[6] + mi := &file_metalstack_api_v2_project_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -518,7 +434,7 @@ func (x *ProjectServiceGetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceGetRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceGetRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{6} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{5} } func (x *ProjectServiceGetRequest) GetProject() string { @@ -532,16 +448,14 @@ func (x *ProjectServiceGetRequest) GetProject() string { type ProjectServiceGetResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Project is the project. - Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // ProjectMembers in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions. - ProjectMembers []*ProjectMember `protobuf:"bytes,2,rep,name=project_members,json=projectMembers,proto3" json:"project_members,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProjectServiceGetResponse) Reset() { *x = ProjectServiceGetResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[7] + mi := &file_metalstack_api_v2_project_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -553,7 +467,7 @@ func (x *ProjectServiceGetResponse) String() string { func (*ProjectServiceGetResponse) ProtoMessage() {} func (x *ProjectServiceGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[7] + mi := &file_metalstack_api_v2_project_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -566,7 +480,7 @@ func (x *ProjectServiceGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceGetResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceGetResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{7} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{6} } func (x *ProjectServiceGetResponse) GetProject() *Project { @@ -576,13 +490,6 @@ func (x *ProjectServiceGetResponse) GetProject() *Project { return nil } -func (x *ProjectServiceGetResponse) GetProjectMembers() []*ProjectMember { - if x != nil { - return x.ProjectMembers - } - return nil -} - // ProjectServiceCreateRequest is the request payload to Create a project. type ProjectServiceCreateRequest struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -603,7 +510,7 @@ type ProjectServiceCreateRequest struct { func (x *ProjectServiceCreateRequest) Reset() { *x = ProjectServiceCreateRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[8] + mi := &file_metalstack_api_v2_project_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -615,7 +522,7 @@ func (x *ProjectServiceCreateRequest) String() string { func (*ProjectServiceCreateRequest) ProtoMessage() {} func (x *ProjectServiceCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[8] + mi := &file_metalstack_api_v2_project_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -628,7 +535,7 @@ func (x *ProjectServiceCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceCreateRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceCreateRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{8} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{7} } func (x *ProjectServiceCreateRequest) GetLogin() string { @@ -677,7 +584,7 @@ type ProjectServiceCreateResponse struct { func (x *ProjectServiceCreateResponse) Reset() { *x = ProjectServiceCreateResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[9] + mi := &file_metalstack_api_v2_project_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -689,7 +596,7 @@ func (x *ProjectServiceCreateResponse) String() string { func (*ProjectServiceCreateResponse) ProtoMessage() {} func (x *ProjectServiceCreateResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[9] + mi := &file_metalstack_api_v2_project_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -702,7 +609,7 @@ func (x *ProjectServiceCreateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceCreateResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceCreateResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{9} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{8} } func (x *ProjectServiceCreateResponse) GetProject() *Project { @@ -723,7 +630,7 @@ type ProjectServiceDeleteRequest struct { func (x *ProjectServiceDeleteRequest) Reset() { *x = ProjectServiceDeleteRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[10] + mi := &file_metalstack_api_v2_project_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -735,7 +642,7 @@ func (x *ProjectServiceDeleteRequest) String() string { func (*ProjectServiceDeleteRequest) ProtoMessage() {} func (x *ProjectServiceDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[10] + mi := &file_metalstack_api_v2_project_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -748,7 +655,7 @@ func (x *ProjectServiceDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceDeleteRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceDeleteRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{10} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{9} } func (x *ProjectServiceDeleteRequest) GetProject() string { @@ -769,7 +676,7 @@ type ProjectServiceDeleteResponse struct { func (x *ProjectServiceDeleteResponse) Reset() { *x = ProjectServiceDeleteResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[11] + mi := &file_metalstack_api_v2_project_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -781,7 +688,7 @@ func (x *ProjectServiceDeleteResponse) String() string { func (*ProjectServiceDeleteResponse) ProtoMessage() {} func (x *ProjectServiceDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[11] + mi := &file_metalstack_api_v2_project_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -794,7 +701,7 @@ func (x *ProjectServiceDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceDeleteResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceDeleteResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{11} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{10} } func (x *ProjectServiceDeleteResponse) GetProject() *Project { @@ -825,7 +732,7 @@ type ProjectServiceUpdateRequest struct { func (x *ProjectServiceUpdateRequest) Reset() { *x = ProjectServiceUpdateRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[12] + mi := &file_metalstack_api_v2_project_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -837,7 +744,7 @@ func (x *ProjectServiceUpdateRequest) String() string { func (*ProjectServiceUpdateRequest) ProtoMessage() {} func (x *ProjectServiceUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[12] + mi := &file_metalstack_api_v2_project_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -850,7 +757,7 @@ func (x *ProjectServiceUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceUpdateRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceUpdateRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{12} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{11} } func (x *ProjectServiceUpdateRequest) GetProject() string { @@ -906,7 +813,7 @@ type ProjectServiceUpdateResponse struct { func (x *ProjectServiceUpdateResponse) Reset() { *x = ProjectServiceUpdateResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[13] + mi := &file_metalstack_api_v2_project_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -918,7 +825,7 @@ func (x *ProjectServiceUpdateResponse) String() string { func (*ProjectServiceUpdateResponse) ProtoMessage() {} func (x *ProjectServiceUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[13] + mi := &file_metalstack_api_v2_project_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -931,7 +838,7 @@ func (x *ProjectServiceUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceUpdateResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceUpdateResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{13} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{12} } func (x *ProjectServiceUpdateResponse) GetProject() *Project { @@ -954,7 +861,7 @@ type ProjectServiceInviteRequest struct { func (x *ProjectServiceInviteRequest) Reset() { *x = ProjectServiceInviteRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[14] + mi := &file_metalstack_api_v2_project_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -966,7 +873,7 @@ func (x *ProjectServiceInviteRequest) String() string { func (*ProjectServiceInviteRequest) ProtoMessage() {} func (x *ProjectServiceInviteRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[14] + mi := &file_metalstack_api_v2_project_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -979,7 +886,7 @@ func (x *ProjectServiceInviteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceInviteRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceInviteRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{14} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{13} } func (x *ProjectServiceInviteRequest) GetProject() string { @@ -1009,7 +916,7 @@ type ProjectServiceInviteResponse struct { func (x *ProjectServiceInviteResponse) Reset() { *x = ProjectServiceInviteResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[15] + mi := &file_metalstack_api_v2_project_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1021,7 +928,7 @@ func (x *ProjectServiceInviteResponse) String() string { func (*ProjectServiceInviteResponse) ProtoMessage() {} func (x *ProjectServiceInviteResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[15] + mi := &file_metalstack_api_v2_project_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1034,7 +941,7 @@ func (x *ProjectServiceInviteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceInviteResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceInviteResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{15} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{14} } func (x *ProjectServiceInviteResponse) GetInvite() *ProjectInvite { @@ -1055,7 +962,7 @@ type ProjectServiceInvitesListRequest struct { func (x *ProjectServiceInvitesListRequest) Reset() { *x = ProjectServiceInvitesListRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[16] + mi := &file_metalstack_api_v2_project_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1067,7 +974,7 @@ func (x *ProjectServiceInvitesListRequest) String() string { func (*ProjectServiceInvitesListRequest) ProtoMessage() {} func (x *ProjectServiceInvitesListRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[16] + mi := &file_metalstack_api_v2_project_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1080,7 +987,7 @@ func (x *ProjectServiceInvitesListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceInvitesListRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceInvitesListRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{16} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{15} } func (x *ProjectServiceInvitesListRequest) GetProject() string { @@ -1101,7 +1008,7 @@ type ProjectServiceInvitesListResponse struct { func (x *ProjectServiceInvitesListResponse) Reset() { *x = ProjectServiceInvitesListResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[17] + mi := &file_metalstack_api_v2_project_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1113,7 +1020,7 @@ func (x *ProjectServiceInvitesListResponse) String() string { func (*ProjectServiceInvitesListResponse) ProtoMessage() {} func (x *ProjectServiceInvitesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[17] + mi := &file_metalstack_api_v2_project_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1126,7 +1033,7 @@ func (x *ProjectServiceInvitesListResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ProjectServiceInvitesListResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceInvitesListResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{17} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{16} } func (x *ProjectServiceInvitesListResponse) GetInvites() []*ProjectInvite { @@ -1147,7 +1054,7 @@ type ProjectServiceInviteGetRequest struct { func (x *ProjectServiceInviteGetRequest) Reset() { *x = ProjectServiceInviteGetRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[18] + mi := &file_metalstack_api_v2_project_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1159,7 +1066,7 @@ func (x *ProjectServiceInviteGetRequest) String() string { func (*ProjectServiceInviteGetRequest) ProtoMessage() {} func (x *ProjectServiceInviteGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[18] + mi := &file_metalstack_api_v2_project_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1172,7 +1079,7 @@ func (x *ProjectServiceInviteGetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceInviteGetRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceInviteGetRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{18} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{17} } func (x *ProjectServiceInviteGetRequest) GetSecret() string { @@ -1193,7 +1100,7 @@ type ProjectServiceInviteGetResponse struct { func (x *ProjectServiceInviteGetResponse) Reset() { *x = ProjectServiceInviteGetResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[19] + mi := &file_metalstack_api_v2_project_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1205,7 +1112,7 @@ func (x *ProjectServiceInviteGetResponse) String() string { func (*ProjectServiceInviteGetResponse) ProtoMessage() {} func (x *ProjectServiceInviteGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[19] + mi := &file_metalstack_api_v2_project_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1218,7 +1125,7 @@ func (x *ProjectServiceInviteGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectServiceInviteGetResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceInviteGetResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{19} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{18} } func (x *ProjectServiceInviteGetResponse) GetInvite() *ProjectInvite { @@ -1228,401 +1135,6 @@ func (x *ProjectServiceInviteGetResponse) GetInvite() *ProjectInvite { return nil } -// ProjectServiceLeaveRequest is used to leave a project. -type ProjectServiceLeaveRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Project is the uuid of the project. - Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ProjectServiceLeaveRequest) Reset() { - *x = ProjectServiceLeaveRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ProjectServiceLeaveRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectServiceLeaveRequest) ProtoMessage() {} - -func (x *ProjectServiceLeaveRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[20] - 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 ProjectServiceLeaveRequest.ProtoReflect.Descriptor instead. -func (*ProjectServiceLeaveRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{20} -} - -func (x *ProjectServiceLeaveRequest) GetProject() string { - if x != nil { - return x.Project - } - return "" -} - -// ProjectServiceLeaveResponse is the response payload to a leave project request. -type ProjectServiceLeaveResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ProjectServiceLeaveResponse) Reset() { - *x = ProjectServiceLeaveResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ProjectServiceLeaveResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectServiceLeaveResponse) ProtoMessage() {} - -func (x *ProjectServiceLeaveResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[21] - 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 ProjectServiceLeaveResponse.ProtoReflect.Descriptor instead. -func (*ProjectServiceLeaveResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{21} -} - -// ProjectServiceAddMemberRequest is the request payload for adding a member to a project. -type ProjectServiceAddMemberRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Project is the uuid of the project. - Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // Login of the member to add. - Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` - // Role to assign to the new member. - Role ProjectRole `protobuf:"varint,3,opt,name=role,proto3,enum=metalstack.api.v2.ProjectRole" json:"role,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ProjectServiceAddMemberRequest) Reset() { - *x = ProjectServiceAddMemberRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ProjectServiceAddMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectServiceAddMemberRequest) ProtoMessage() {} - -func (x *ProjectServiceAddMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[22] - 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 ProjectServiceAddMemberRequest.ProtoReflect.Descriptor instead. -func (*ProjectServiceAddMemberRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{22} -} - -func (x *ProjectServiceAddMemberRequest) GetProject() string { - if x != nil { - return x.Project - } - return "" -} - -func (x *ProjectServiceAddMemberRequest) GetMember() string { - if x != nil { - return x.Member - } - return "" -} - -func (x *ProjectServiceAddMemberRequest) GetRole() ProjectRole { - if x != nil { - return x.Role - } - return ProjectRole_PROJECT_ROLE_UNSPECIFIED -} - -// ProjectServiceAddMemberResponse is the response payload for the add member request. -type ProjectServiceAddMemberResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // ProjectRole is the added project member. - ProjectMember ProjectRole `protobuf:"varint,1,opt,name=project_member,json=projectMember,proto3,enum=metalstack.api.v2.ProjectRole" json:"project_member,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ProjectServiceAddMemberResponse) Reset() { - *x = ProjectServiceAddMemberResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ProjectServiceAddMemberResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectServiceAddMemberResponse) ProtoMessage() {} - -func (x *ProjectServiceAddMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[23] - 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 ProjectServiceAddMemberResponse.ProtoReflect.Descriptor instead. -func (*ProjectServiceAddMemberResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{23} -} - -func (x *ProjectServiceAddMemberResponse) GetProjectMember() ProjectRole { - if x != nil { - return x.ProjectMember - } - return ProjectRole_PROJECT_ROLE_UNSPECIFIED -} - -// ProjectServiceRemoveMemberRequest is used to remove a member from a project. -type ProjectServiceRemoveMemberRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Project is the uuid of the project. - Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // Member is the id of the member to remove from this project. - Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ProjectServiceRemoveMemberRequest) Reset() { - *x = ProjectServiceRemoveMemberRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ProjectServiceRemoveMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectServiceRemoveMemberRequest) ProtoMessage() {} - -func (x *ProjectServiceRemoveMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[24] - 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 ProjectServiceRemoveMemberRequest.ProtoReflect.Descriptor instead. -func (*ProjectServiceRemoveMemberRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{24} -} - -func (x *ProjectServiceRemoveMemberRequest) GetProject() string { - if x != nil { - return x.Project - } - return "" -} - -func (x *ProjectServiceRemoveMemberRequest) GetMember() string { - if x != nil { - return x.Member - } - return "" -} - -// ProjectServiceRemoveMemberResponse is the response payload to a remove member request. -type ProjectServiceRemoveMemberResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ProjectServiceRemoveMemberResponse) Reset() { - *x = ProjectServiceRemoveMemberResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ProjectServiceRemoveMemberResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectServiceRemoveMemberResponse) ProtoMessage() {} - -func (x *ProjectServiceRemoveMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[25] - 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 ProjectServiceRemoveMemberResponse.ProtoReflect.Descriptor instead. -func (*ProjectServiceRemoveMemberResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{25} -} - -// ProjectServiceUpdateMemberRequest is used to update a member of a project. -type ProjectServiceUpdateMemberRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Project is the uuid of the project. - Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // Member is the id of the member to remove from this project. - Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` - // Role is the role in this project the user will get after the update. - Role ProjectRole `protobuf:"varint,3,opt,name=role,proto3,enum=metalstack.api.v2.ProjectRole" json:"role,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ProjectServiceUpdateMemberRequest) Reset() { - *x = ProjectServiceUpdateMemberRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ProjectServiceUpdateMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectServiceUpdateMemberRequest) ProtoMessage() {} - -func (x *ProjectServiceUpdateMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[26] - 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 ProjectServiceUpdateMemberRequest.ProtoReflect.Descriptor instead. -func (*ProjectServiceUpdateMemberRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{26} -} - -func (x *ProjectServiceUpdateMemberRequest) GetProject() string { - if x != nil { - return x.Project - } - return "" -} - -func (x *ProjectServiceUpdateMemberRequest) GetMember() string { - if x != nil { - return x.Member - } - return "" -} - -func (x *ProjectServiceUpdateMemberRequest) GetRole() ProjectRole { - if x != nil { - return x.Role - } - return ProjectRole_PROJECT_ROLE_UNSPECIFIED -} - -// ProjectServiceUpdateMemberResponse is the response payload to a update member request. -type ProjectServiceUpdateMemberResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // ProjectMember is the updated project member. - ProjectMember *ProjectMember `protobuf:"bytes,1,opt,name=project_member,json=projectMember,proto3" json:"project_member,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ProjectServiceUpdateMemberResponse) Reset() { - *x = ProjectServiceUpdateMemberResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ProjectServiceUpdateMemberResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectServiceUpdateMemberResponse) ProtoMessage() {} - -func (x *ProjectServiceUpdateMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[27] - 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 ProjectServiceUpdateMemberResponse.ProtoReflect.Descriptor instead. -func (*ProjectServiceUpdateMemberResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{27} -} - -func (x *ProjectServiceUpdateMemberResponse) GetProjectMember() *ProjectMember { - if x != nil { - return x.ProjectMember - } - return nil -} - // ProjectServiceInviteAcceptRequest is the request payload to a accept invite request. type ProjectServiceInviteAcceptRequest struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1634,7 +1146,7 @@ type ProjectServiceInviteAcceptRequest struct { func (x *ProjectServiceInviteAcceptRequest) Reset() { *x = ProjectServiceInviteAcceptRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[28] + mi := &file_metalstack_api_v2_project_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1646,7 +1158,7 @@ func (x *ProjectServiceInviteAcceptRequest) String() string { func (*ProjectServiceInviteAcceptRequest) ProtoMessage() {} func (x *ProjectServiceInviteAcceptRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[28] + mi := &file_metalstack_api_v2_project_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1659,7 +1171,7 @@ func (x *ProjectServiceInviteAcceptRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ProjectServiceInviteAcceptRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceInviteAcceptRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{28} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{19} } func (x *ProjectServiceInviteAcceptRequest) GetSecret() string { @@ -1682,7 +1194,7 @@ type ProjectServiceInviteAcceptResponse struct { func (x *ProjectServiceInviteAcceptResponse) Reset() { *x = ProjectServiceInviteAcceptResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[29] + mi := &file_metalstack_api_v2_project_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1694,7 +1206,7 @@ func (x *ProjectServiceInviteAcceptResponse) String() string { func (*ProjectServiceInviteAcceptResponse) ProtoMessage() {} func (x *ProjectServiceInviteAcceptResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[29] + mi := &file_metalstack_api_v2_project_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1707,7 +1219,7 @@ func (x *ProjectServiceInviteAcceptResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ProjectServiceInviteAcceptResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceInviteAcceptResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{29} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{20} } func (x *ProjectServiceInviteAcceptResponse) GetProject() string { @@ -1737,7 +1249,7 @@ type ProjectServiceInviteDeleteRequest struct { func (x *ProjectServiceInviteDeleteRequest) Reset() { *x = ProjectServiceInviteDeleteRequest{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[30] + mi := &file_metalstack_api_v2_project_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1749,7 +1261,7 @@ func (x *ProjectServiceInviteDeleteRequest) String() string { func (*ProjectServiceInviteDeleteRequest) ProtoMessage() {} func (x *ProjectServiceInviteDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[30] + mi := &file_metalstack_api_v2_project_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1762,7 +1274,7 @@ func (x *ProjectServiceInviteDeleteRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ProjectServiceInviteDeleteRequest.ProtoReflect.Descriptor instead. func (*ProjectServiceInviteDeleteRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{30} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{21} } func (x *ProjectServiceInviteDeleteRequest) GetProject() string { @@ -1788,7 +1300,7 @@ type ProjectServiceInviteDeleteResponse struct { func (x *ProjectServiceInviteDeleteResponse) Reset() { *x = ProjectServiceInviteDeleteResponse{} - mi := &file_metalstack_api_v2_project_proto_msgTypes[31] + mi := &file_metalstack_api_v2_project_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1800,7 +1312,7 @@ func (x *ProjectServiceInviteDeleteResponse) String() string { func (*ProjectServiceInviteDeleteResponse) ProtoMessage() {} func (x *ProjectServiceInviteDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_project_proto_msgTypes[31] + mi := &file_metalstack_api_v2_project_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1813,7 +1325,7 @@ func (x *ProjectServiceInviteDeleteResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ProjectServiceInviteDeleteResponse.ProtoReflect.Descriptor instead. func (*ProjectServiceInviteDeleteResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{31} + return file_metalstack_api_v2_project_proto_rawDescGZIP(), []int{22} } var File_metalstack_api_v2_project_proto protoreflect.FileDescriptor @@ -1829,14 +1341,7 @@ const file_metalstack_api_v2_project_proto_rawDesc = "" + "\x06tenant\x18\x05 \x01(\tR\x06tenant\x12/\n" + "\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" + - "\x04role\x18\x02 \x01(\x0e2\x1e.metalstack.api.v2.ProjectRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x121\n" + - "\x14inherited_membership\x18\x03 \x01(\bR\x13inheritedMembership\x129\n" + - "\n" + - "created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n" + - "\x04meta\x18\x05 \x01(\v2\x17.metalstack.api.v2.MetaR\x04meta\"\xe7\x02\n" + + "\v_avatar_url\"\xe7\x02\n" + "\rProjectInvite\x12\x16\n" + "\x06secret\x18\x01 \x01(\tR\x06secret\x12\x18\n" + "\aproject\x18\x02 \x01(\tR\aproject\x12<\n" + @@ -1863,10 +1368,9 @@ const file_metalstack_api_v2_project_proto_rawDesc = "" + "\x1aProjectServiceListResponse\x126\n" + "\bprojects\x18\x01 \x03(\v2\x1a.metalstack.api.v2.ProjectR\bprojects\">\n" + "\x18ProjectServiceGetRequest\x12\"\n" + - "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"\x9c\x01\n" + + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"Q\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\"\x83\x02\n" + + "\aproject\x18\x01 \x01(\v2\x1a.metalstack.api.v2.ProjectR\aproject\"\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" + @@ -1908,26 +1412,7 @@ const file_metalstack_api_v2_project_proto_rawDesc = "" + "\x1eProjectServiceInviteGetRequest\x12\x16\n" + "\x06secret\x18\x01 \x01(\tR\x06secret\"[\n" + "\x1fProjectServiceInviteGetResponse\x128\n" + - "\x06invite\x18\x01 \x01(\v2 .metalstack.api.v2.ProjectInviteR\x06invite\"@\n" + - "\x1aProjectServiceLeaveRequest\x12\"\n" + - "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"\x1d\n" + - "\x1bProjectServiceLeaveResponse\"\xa7\x01\n" + - "\x1eProjectServiceAddMemberRequest\x12\"\n" + - "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\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\x1e.metalstack.api.v2.ProjectRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"h\n" + - "\x1fProjectServiceAddMemberResponse\x12E\n" + - "\x0eproject_member\x18\x01 \x01(\x0e2\x1e.metalstack.api.v2.ProjectRoleR\rprojectMember\"_\n" + - "!ProjectServiceRemoveMemberRequest\x12\"\n" + - "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12\x16\n" + - "\x06member\x18\x02 \x01(\tR\x06member\"$\n" + - "\"ProjectServiceRemoveMemberResponse\"\x9d\x01\n" + - "!ProjectServiceUpdateMemberRequest\x12\"\n" + - "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12\x16\n" + - "\x06member\x18\x02 \x01(\tR\x06member\x12<\n" + - "\x04role\x18\x03 \x01(\x0e2\x1e.metalstack.api.v2.ProjectRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"m\n" + - "\"ProjectServiceUpdateMemberResponse\x12G\n" + - "\x0eproject_member\x18\x01 \x01(\v2 .metalstack.api.v2.ProjectMemberR\rprojectMember\";\n" + + "\x06invite\x18\x01 \x01(\v2 .metalstack.api.v2.ProjectInviteR\x06invite\";\n" + "!ProjectServiceInviteAcceptRequest\x12\x16\n" + "\x06secret\x18\x01 \x01(\tR\x06secret\"a\n" + "\"ProjectServiceInviteAcceptResponse\x12\x18\n" + @@ -1936,7 +1421,7 @@ const file_metalstack_api_v2_project_proto_rawDesc = "" + "!ProjectServiceInviteDeleteRequest\x12\"\n" + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12\x16\n" + "\x06secret\x18\x02 \x01(\tR\x06secret\"$\n" + - "\"ProjectServiceInviteDeleteResponse2\xe1\r\n" + + "\"ProjectServiceInviteDeleteResponse2\xdd\t\n" + "\x0eProjectService\x12m\n" + "\x04List\x12,.metalstack.api.v2.ProjectServiceListRequest\x1a-.metalstack.api.v2.ProjectServiceListResponse\"\b\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12m\n" + "\x03Get\x12+.metalstack.api.v2.ProjectServiceGetRequest\x1a,.metalstack.api.v2.ProjectServiceGetResponse\"\v\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n" + @@ -1944,11 +1429,7 @@ const file_metalstack_api_v2_project_proto_rawDesc = "" + "\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12t\n" + "\x06Delete\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}\n" + - "\tAddMember\x121.metalstack.api.v2.ProjectServiceAddMemberRequest\x1a2.metalstack.api.v2.ProjectServiceAddMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n" + - "\fRemoveMember\x124.metalstack.api.v2.ProjectServiceRemoveMemberRequest\x1a5.metalstack.api.v2.ProjectServiceRemoveMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n" + - "\fUpdateMember\x124.metalstack.api.v2.ProjectServiceUpdateMemberRequest\x1a5.metalstack.api.v2.ProjectServiceUpdateMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n" + + "\xca\xf3\x18\x02\x01\x02\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" + "\fInviteAccept\x124.metalstack.api.v2.ProjectServiceInviteAcceptRequest\x1a5.metalstack.api.v2.ProjectServiceInviteAcceptResponse\"\b\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12\x86\x01\n" + "\fInviteDelete\x124.metalstack.api.v2.ProjectServiceInviteDeleteRequest\x1a5.metalstack.api.v2.ProjectServiceInviteDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n" + @@ -1968,107 +1449,82 @@ func file_metalstack_api_v2_project_proto_rawDescGZIP() []byte { return file_metalstack_api_v2_project_proto_rawDescData } -var file_metalstack_api_v2_project_proto_msgTypes = make([]protoimpl.MessageInfo, 32) +var file_metalstack_api_v2_project_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_metalstack_api_v2_project_proto_goTypes = []any{ (*Project)(nil), // 0: metalstack.api.v2.Project - (*ProjectMember)(nil), // 1: metalstack.api.v2.ProjectMember - (*ProjectInvite)(nil), // 2: metalstack.api.v2.ProjectInvite - (*ProjectServiceListRequest)(nil), // 3: metalstack.api.v2.ProjectServiceListRequest - (*ProjectQuery)(nil), // 4: metalstack.api.v2.ProjectQuery - (*ProjectServiceListResponse)(nil), // 5: metalstack.api.v2.ProjectServiceListResponse - (*ProjectServiceGetRequest)(nil), // 6: metalstack.api.v2.ProjectServiceGetRequest - (*ProjectServiceGetResponse)(nil), // 7: metalstack.api.v2.ProjectServiceGetResponse - (*ProjectServiceCreateRequest)(nil), // 8: metalstack.api.v2.ProjectServiceCreateRequest - (*ProjectServiceCreateResponse)(nil), // 9: metalstack.api.v2.ProjectServiceCreateResponse - (*ProjectServiceDeleteRequest)(nil), // 10: metalstack.api.v2.ProjectServiceDeleteRequest - (*ProjectServiceDeleteResponse)(nil), // 11: metalstack.api.v2.ProjectServiceDeleteResponse - (*ProjectServiceUpdateRequest)(nil), // 12: metalstack.api.v2.ProjectServiceUpdateRequest - (*ProjectServiceUpdateResponse)(nil), // 13: metalstack.api.v2.ProjectServiceUpdateResponse - (*ProjectServiceInviteRequest)(nil), // 14: metalstack.api.v2.ProjectServiceInviteRequest - (*ProjectServiceInviteResponse)(nil), // 15: metalstack.api.v2.ProjectServiceInviteResponse - (*ProjectServiceInvitesListRequest)(nil), // 16: metalstack.api.v2.ProjectServiceInvitesListRequest - (*ProjectServiceInvitesListResponse)(nil), // 17: metalstack.api.v2.ProjectServiceInvitesListResponse - (*ProjectServiceInviteGetRequest)(nil), // 18: metalstack.api.v2.ProjectServiceInviteGetRequest - (*ProjectServiceInviteGetResponse)(nil), // 19: metalstack.api.v2.ProjectServiceInviteGetResponse - (*ProjectServiceLeaveRequest)(nil), // 20: metalstack.api.v2.ProjectServiceLeaveRequest - (*ProjectServiceLeaveResponse)(nil), // 21: metalstack.api.v2.ProjectServiceLeaveResponse - (*ProjectServiceAddMemberRequest)(nil), // 22: metalstack.api.v2.ProjectServiceAddMemberRequest - (*ProjectServiceAddMemberResponse)(nil), // 23: metalstack.api.v2.ProjectServiceAddMemberResponse - (*ProjectServiceRemoveMemberRequest)(nil), // 24: metalstack.api.v2.ProjectServiceRemoveMemberRequest - (*ProjectServiceRemoveMemberResponse)(nil), // 25: metalstack.api.v2.ProjectServiceRemoveMemberResponse - (*ProjectServiceUpdateMemberRequest)(nil), // 26: metalstack.api.v2.ProjectServiceUpdateMemberRequest - (*ProjectServiceUpdateMemberResponse)(nil), // 27: metalstack.api.v2.ProjectServiceUpdateMemberResponse - (*ProjectServiceInviteAcceptRequest)(nil), // 28: metalstack.api.v2.ProjectServiceInviteAcceptRequest - (*ProjectServiceInviteAcceptResponse)(nil), // 29: metalstack.api.v2.ProjectServiceInviteAcceptResponse - (*ProjectServiceInviteDeleteRequest)(nil), // 30: metalstack.api.v2.ProjectServiceInviteDeleteRequest - (*ProjectServiceInviteDeleteResponse)(nil), // 31: metalstack.api.v2.ProjectServiceInviteDeleteResponse - (*Meta)(nil), // 32: metalstack.api.v2.Meta - (ProjectRole)(0), // 33: metalstack.api.v2.ProjectRole - (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp - (*Labels)(nil), // 35: metalstack.api.v2.Labels - (*UpdateMeta)(nil), // 36: metalstack.api.v2.UpdateMeta - (*UpdateLabels)(nil), // 37: metalstack.api.v2.UpdateLabels + (*ProjectInvite)(nil), // 1: metalstack.api.v2.ProjectInvite + (*ProjectServiceListRequest)(nil), // 2: metalstack.api.v2.ProjectServiceListRequest + (*ProjectQuery)(nil), // 3: metalstack.api.v2.ProjectQuery + (*ProjectServiceListResponse)(nil), // 4: metalstack.api.v2.ProjectServiceListResponse + (*ProjectServiceGetRequest)(nil), // 5: metalstack.api.v2.ProjectServiceGetRequest + (*ProjectServiceGetResponse)(nil), // 6: metalstack.api.v2.ProjectServiceGetResponse + (*ProjectServiceCreateRequest)(nil), // 7: metalstack.api.v2.ProjectServiceCreateRequest + (*ProjectServiceCreateResponse)(nil), // 8: metalstack.api.v2.ProjectServiceCreateResponse + (*ProjectServiceDeleteRequest)(nil), // 9: metalstack.api.v2.ProjectServiceDeleteRequest + (*ProjectServiceDeleteResponse)(nil), // 10: metalstack.api.v2.ProjectServiceDeleteResponse + (*ProjectServiceUpdateRequest)(nil), // 11: metalstack.api.v2.ProjectServiceUpdateRequest + (*ProjectServiceUpdateResponse)(nil), // 12: metalstack.api.v2.ProjectServiceUpdateResponse + (*ProjectServiceInviteRequest)(nil), // 13: metalstack.api.v2.ProjectServiceInviteRequest + (*ProjectServiceInviteResponse)(nil), // 14: metalstack.api.v2.ProjectServiceInviteResponse + (*ProjectServiceInvitesListRequest)(nil), // 15: metalstack.api.v2.ProjectServiceInvitesListRequest + (*ProjectServiceInvitesListResponse)(nil), // 16: metalstack.api.v2.ProjectServiceInvitesListResponse + (*ProjectServiceInviteGetRequest)(nil), // 17: metalstack.api.v2.ProjectServiceInviteGetRequest + (*ProjectServiceInviteGetResponse)(nil), // 18: metalstack.api.v2.ProjectServiceInviteGetResponse + (*ProjectServiceInviteAcceptRequest)(nil), // 19: metalstack.api.v2.ProjectServiceInviteAcceptRequest + (*ProjectServiceInviteAcceptResponse)(nil), // 20: metalstack.api.v2.ProjectServiceInviteAcceptResponse + (*ProjectServiceInviteDeleteRequest)(nil), // 21: metalstack.api.v2.ProjectServiceInviteDeleteRequest + (*ProjectServiceInviteDeleteResponse)(nil), // 22: metalstack.api.v2.ProjectServiceInviteDeleteResponse + (*Meta)(nil), // 23: metalstack.api.v2.Meta + (ProjectRole)(0), // 24: metalstack.api.v2.ProjectRole + (*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp + (*Labels)(nil), // 26: metalstack.api.v2.Labels + (*UpdateMeta)(nil), // 27: metalstack.api.v2.UpdateMeta + (*UpdateLabels)(nil), // 28: metalstack.api.v2.UpdateLabels } var file_metalstack_api_v2_project_proto_depIdxs = []int32{ - 32, // 0: metalstack.api.v2.Project.meta:type_name -> metalstack.api.v2.Meta - 33, // 1: metalstack.api.v2.ProjectMember.role:type_name -> metalstack.api.v2.ProjectRole - 34, // 2: metalstack.api.v2.ProjectMember.created_at:type_name -> google.protobuf.Timestamp - 32, // 3: metalstack.api.v2.ProjectMember.meta:type_name -> metalstack.api.v2.Meta - 33, // 4: metalstack.api.v2.ProjectInvite.role:type_name -> metalstack.api.v2.ProjectRole - 34, // 5: metalstack.api.v2.ProjectInvite.expires_at:type_name -> google.protobuf.Timestamp - 34, // 6: metalstack.api.v2.ProjectInvite.joined_at:type_name -> google.protobuf.Timestamp - 4, // 7: metalstack.api.v2.ProjectServiceListRequest.query:type_name -> metalstack.api.v2.ProjectQuery - 35, // 8: metalstack.api.v2.ProjectQuery.labels:type_name -> metalstack.api.v2.Labels - 0, // 9: metalstack.api.v2.ProjectServiceListResponse.projects:type_name -> metalstack.api.v2.Project - 0, // 10: metalstack.api.v2.ProjectServiceGetResponse.project:type_name -> metalstack.api.v2.Project - 1, // 11: metalstack.api.v2.ProjectServiceGetResponse.project_members:type_name -> metalstack.api.v2.ProjectMember - 35, // 12: metalstack.api.v2.ProjectServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels - 0, // 13: metalstack.api.v2.ProjectServiceCreateResponse.project:type_name -> metalstack.api.v2.Project - 0, // 14: metalstack.api.v2.ProjectServiceDeleteResponse.project:type_name -> metalstack.api.v2.Project - 36, // 15: metalstack.api.v2.ProjectServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta - 37, // 16: metalstack.api.v2.ProjectServiceUpdateRequest.labels:type_name -> metalstack.api.v2.UpdateLabels - 0, // 17: metalstack.api.v2.ProjectServiceUpdateResponse.project:type_name -> metalstack.api.v2.Project - 33, // 18: metalstack.api.v2.ProjectServiceInviteRequest.role:type_name -> metalstack.api.v2.ProjectRole - 2, // 19: metalstack.api.v2.ProjectServiceInviteResponse.invite:type_name -> metalstack.api.v2.ProjectInvite - 2, // 20: metalstack.api.v2.ProjectServiceInvitesListResponse.invites:type_name -> metalstack.api.v2.ProjectInvite - 2, // 21: metalstack.api.v2.ProjectServiceInviteGetResponse.invite:type_name -> metalstack.api.v2.ProjectInvite - 33, // 22: metalstack.api.v2.ProjectServiceAddMemberRequest.role:type_name -> metalstack.api.v2.ProjectRole - 33, // 23: metalstack.api.v2.ProjectServiceAddMemberResponse.project_member:type_name -> metalstack.api.v2.ProjectRole - 33, // 24: metalstack.api.v2.ProjectServiceUpdateMemberRequest.role:type_name -> metalstack.api.v2.ProjectRole - 1, // 25: metalstack.api.v2.ProjectServiceUpdateMemberResponse.project_member:type_name -> metalstack.api.v2.ProjectMember - 3, // 26: metalstack.api.v2.ProjectService.List:input_type -> metalstack.api.v2.ProjectServiceListRequest - 6, // 27: metalstack.api.v2.ProjectService.Get:input_type -> metalstack.api.v2.ProjectServiceGetRequest - 8, // 28: metalstack.api.v2.ProjectService.Create:input_type -> metalstack.api.v2.ProjectServiceCreateRequest - 10, // 29: metalstack.api.v2.ProjectService.Delete:input_type -> metalstack.api.v2.ProjectServiceDeleteRequest - 12, // 30: metalstack.api.v2.ProjectService.Update:input_type -> metalstack.api.v2.ProjectServiceUpdateRequest - 20, // 31: metalstack.api.v2.ProjectService.Leave:input_type -> metalstack.api.v2.ProjectServiceLeaveRequest - 22, // 32: metalstack.api.v2.ProjectService.AddMember:input_type -> metalstack.api.v2.ProjectServiceAddMemberRequest - 24, // 33: metalstack.api.v2.ProjectService.RemoveMember:input_type -> metalstack.api.v2.ProjectServiceRemoveMemberRequest - 26, // 34: metalstack.api.v2.ProjectService.UpdateMember:input_type -> metalstack.api.v2.ProjectServiceUpdateMemberRequest - 14, // 35: metalstack.api.v2.ProjectService.Invite:input_type -> metalstack.api.v2.ProjectServiceInviteRequest - 28, // 36: metalstack.api.v2.ProjectService.InviteAccept:input_type -> metalstack.api.v2.ProjectServiceInviteAcceptRequest - 30, // 37: metalstack.api.v2.ProjectService.InviteDelete:input_type -> metalstack.api.v2.ProjectServiceInviteDeleteRequest - 16, // 38: metalstack.api.v2.ProjectService.InvitesList:input_type -> metalstack.api.v2.ProjectServiceInvitesListRequest - 18, // 39: metalstack.api.v2.ProjectService.InviteGet:input_type -> metalstack.api.v2.ProjectServiceInviteGetRequest - 5, // 40: metalstack.api.v2.ProjectService.List:output_type -> metalstack.api.v2.ProjectServiceListResponse - 7, // 41: metalstack.api.v2.ProjectService.Get:output_type -> metalstack.api.v2.ProjectServiceGetResponse - 9, // 42: metalstack.api.v2.ProjectService.Create:output_type -> metalstack.api.v2.ProjectServiceCreateResponse - 11, // 43: metalstack.api.v2.ProjectService.Delete:output_type -> metalstack.api.v2.ProjectServiceDeleteResponse - 13, // 44: metalstack.api.v2.ProjectService.Update:output_type -> metalstack.api.v2.ProjectServiceUpdateResponse - 21, // 45: metalstack.api.v2.ProjectService.Leave:output_type -> metalstack.api.v2.ProjectServiceLeaveResponse - 23, // 46: metalstack.api.v2.ProjectService.AddMember:output_type -> metalstack.api.v2.ProjectServiceAddMemberResponse - 25, // 47: metalstack.api.v2.ProjectService.RemoveMember:output_type -> metalstack.api.v2.ProjectServiceRemoveMemberResponse - 27, // 48: metalstack.api.v2.ProjectService.UpdateMember:output_type -> metalstack.api.v2.ProjectServiceUpdateMemberResponse - 15, // 49: metalstack.api.v2.ProjectService.Invite:output_type -> metalstack.api.v2.ProjectServiceInviteResponse - 29, // 50: metalstack.api.v2.ProjectService.InviteAccept:output_type -> metalstack.api.v2.ProjectServiceInviteAcceptResponse - 31, // 51: metalstack.api.v2.ProjectService.InviteDelete:output_type -> metalstack.api.v2.ProjectServiceInviteDeleteResponse - 17, // 52: metalstack.api.v2.ProjectService.InvitesList:output_type -> metalstack.api.v2.ProjectServiceInvitesListResponse - 19, // 53: metalstack.api.v2.ProjectService.InviteGet:output_type -> metalstack.api.v2.ProjectServiceInviteGetResponse - 40, // [40:54] is the sub-list for method output_type - 26, // [26:40] is the sub-list for method input_type - 26, // [26:26] is the sub-list for extension type_name - 26, // [26:26] is the sub-list for extension extendee - 0, // [0:26] is the sub-list for field type_name + 23, // 0: metalstack.api.v2.Project.meta:type_name -> metalstack.api.v2.Meta + 24, // 1: metalstack.api.v2.ProjectInvite.role:type_name -> metalstack.api.v2.ProjectRole + 25, // 2: metalstack.api.v2.ProjectInvite.expires_at:type_name -> google.protobuf.Timestamp + 25, // 3: metalstack.api.v2.ProjectInvite.joined_at:type_name -> google.protobuf.Timestamp + 3, // 4: metalstack.api.v2.ProjectServiceListRequest.query:type_name -> metalstack.api.v2.ProjectQuery + 26, // 5: metalstack.api.v2.ProjectQuery.labels:type_name -> metalstack.api.v2.Labels + 0, // 6: metalstack.api.v2.ProjectServiceListResponse.projects:type_name -> metalstack.api.v2.Project + 0, // 7: metalstack.api.v2.ProjectServiceGetResponse.project:type_name -> metalstack.api.v2.Project + 26, // 8: metalstack.api.v2.ProjectServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels + 0, // 9: metalstack.api.v2.ProjectServiceCreateResponse.project:type_name -> metalstack.api.v2.Project + 0, // 10: metalstack.api.v2.ProjectServiceDeleteResponse.project:type_name -> metalstack.api.v2.Project + 27, // 11: metalstack.api.v2.ProjectServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta + 28, // 12: metalstack.api.v2.ProjectServiceUpdateRequest.labels:type_name -> metalstack.api.v2.UpdateLabels + 0, // 13: metalstack.api.v2.ProjectServiceUpdateResponse.project:type_name -> metalstack.api.v2.Project + 24, // 14: metalstack.api.v2.ProjectServiceInviteRequest.role:type_name -> metalstack.api.v2.ProjectRole + 1, // 15: metalstack.api.v2.ProjectServiceInviteResponse.invite:type_name -> metalstack.api.v2.ProjectInvite + 1, // 16: metalstack.api.v2.ProjectServiceInvitesListResponse.invites:type_name -> metalstack.api.v2.ProjectInvite + 1, // 17: metalstack.api.v2.ProjectServiceInviteGetResponse.invite:type_name -> metalstack.api.v2.ProjectInvite + 2, // 18: metalstack.api.v2.ProjectService.List:input_type -> metalstack.api.v2.ProjectServiceListRequest + 5, // 19: metalstack.api.v2.ProjectService.Get:input_type -> metalstack.api.v2.ProjectServiceGetRequest + 7, // 20: metalstack.api.v2.ProjectService.Create:input_type -> metalstack.api.v2.ProjectServiceCreateRequest + 9, // 21: metalstack.api.v2.ProjectService.Delete:input_type -> metalstack.api.v2.ProjectServiceDeleteRequest + 11, // 22: metalstack.api.v2.ProjectService.Update:input_type -> metalstack.api.v2.ProjectServiceUpdateRequest + 13, // 23: metalstack.api.v2.ProjectService.Invite:input_type -> metalstack.api.v2.ProjectServiceInviteRequest + 19, // 24: metalstack.api.v2.ProjectService.InviteAccept:input_type -> metalstack.api.v2.ProjectServiceInviteAcceptRequest + 21, // 25: metalstack.api.v2.ProjectService.InviteDelete:input_type -> metalstack.api.v2.ProjectServiceInviteDeleteRequest + 15, // 26: metalstack.api.v2.ProjectService.InvitesList:input_type -> metalstack.api.v2.ProjectServiceInvitesListRequest + 17, // 27: metalstack.api.v2.ProjectService.InviteGet:input_type -> metalstack.api.v2.ProjectServiceInviteGetRequest + 4, // 28: metalstack.api.v2.ProjectService.List:output_type -> metalstack.api.v2.ProjectServiceListResponse + 6, // 29: metalstack.api.v2.ProjectService.Get:output_type -> metalstack.api.v2.ProjectServiceGetResponse + 8, // 30: metalstack.api.v2.ProjectService.Create:output_type -> metalstack.api.v2.ProjectServiceCreateResponse + 10, // 31: metalstack.api.v2.ProjectService.Delete:output_type -> metalstack.api.v2.ProjectServiceDeleteResponse + 12, // 32: metalstack.api.v2.ProjectService.Update:output_type -> metalstack.api.v2.ProjectServiceUpdateResponse + 14, // 33: metalstack.api.v2.ProjectService.Invite:output_type -> metalstack.api.v2.ProjectServiceInviteResponse + 20, // 34: metalstack.api.v2.ProjectService.InviteAccept:output_type -> metalstack.api.v2.ProjectServiceInviteAcceptResponse + 22, // 35: metalstack.api.v2.ProjectService.InviteDelete:output_type -> metalstack.api.v2.ProjectServiceInviteDeleteResponse + 16, // 36: metalstack.api.v2.ProjectService.InvitesList:output_type -> metalstack.api.v2.ProjectServiceInvitesListResponse + 18, // 37: metalstack.api.v2.ProjectService.InviteGet:output_type -> metalstack.api.v2.ProjectServiceInviteGetResponse + 28, // [28:38] is the sub-list for method output_type + 18, // [18:28] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_metalstack_api_v2_project_proto_init() } @@ -2079,16 +1535,16 @@ func file_metalstack_api_v2_project_proto_init() { file_metalstack_api_v2_common_proto_init() file_metalstack_api_v2_predefined_rules_proto_init() file_metalstack_api_v2_project_proto_msgTypes[0].OneofWrappers = []any{} - file_metalstack_api_v2_project_proto_msgTypes[4].OneofWrappers = []any{} - file_metalstack_api_v2_project_proto_msgTypes[8].OneofWrappers = []any{} - file_metalstack_api_v2_project_proto_msgTypes[12].OneofWrappers = []any{} + file_metalstack_api_v2_project_proto_msgTypes[3].OneofWrappers = []any{} + file_metalstack_api_v2_project_proto_msgTypes[7].OneofWrappers = []any{} + file_metalstack_api_v2_project_proto_msgTypes[11].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_project_proto_rawDesc), len(file_metalstack_api_v2_project_proto_rawDesc)), NumEnums: 0, - NumMessages: 32, + NumMessages: 23, NumExtensions: 0, NumServices: 1, }, diff --git a/go/metalstack/api/v2/project_member.pb.go b/go/metalstack/api/v2/project_member.pb.go new file mode 100644 index 00000000..94f5fbc7 --- /dev/null +++ b/go/metalstack/api/v2/project_member.pb.go @@ -0,0 +1,940 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.12 +// protoc (unknown) +// source: metalstack/api/v2/project_member.proto + +package apiv2 + +import ( + _ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ProjectMember defines a user that participates in a project. +type ProjectMember struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the user id of the member. + Member string `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + // Role is the role of the member. + Role ProjectRole `protobuf:"varint,2,opt,name=role,proto3,enum=metalstack.api.v2.ProjectRole" json:"role,omitempty"` + // InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. + // This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. + // Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members. + InheritedMembership bool `protobuf:"varint,3,opt,name=inherited_membership,json=inheritedMembership,proto3" json:"inherited_membership,omitempty"` + // CreatedAt the date when the member was added to the project. + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Meta for this project member. + Meta *Meta `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMember) Reset() { + *x = ProjectMember{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMember) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMember) ProtoMessage() {} + +func (x *ProjectMember) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[0] + 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 ProjectMember.ProtoReflect.Descriptor instead. +func (*ProjectMember) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{0} +} + +func (x *ProjectMember) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +func (x *ProjectMember) GetRole() ProjectRole { + if x != nil { + return x.Role + } + return ProjectRole_PROJECT_ROLE_UNSPECIFIED +} + +func (x *ProjectMember) GetInheritedMembership() bool { + if x != nil { + return x.InheritedMembership + } + return false +} + +func (x *ProjectMember) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *ProjectMember) GetMeta() *Meta { + if x != nil { + return x.Meta + } + return nil +} + +// ProjectQuery is used to search projects. +type ProjectMemberQuery struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the user id of the member. + Member *string `protobuf:"bytes,1,opt,name=member,proto3,oneof" json:"member,omitempty"` + // Role is the role of the member. + Role *ProjectRole `protobuf:"varint,2,opt,name=role,proto3,enum=metalstack.api.v2.ProjectRole,oneof" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberQuery) Reset() { + *x = ProjectMemberQuery{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberQuery) ProtoMessage() {} + +func (x *ProjectMemberQuery) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[1] + 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 ProjectMemberQuery.ProtoReflect.Descriptor instead. +func (*ProjectMemberQuery) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{1} +} + +func (x *ProjectMemberQuery) GetMember() string { + if x != nil && x.Member != nil { + return *x.Member + } + return "" +} + +func (x *ProjectMemberQuery) GetRole() ProjectRole { + if x != nil && x.Role != nil { + return *x.Role + } + return ProjectRole_PROJECT_ROLE_UNSPECIFIED +} + +// ProjectMemberServiceListRequest is the request payload to list all project members. +type ProjectMemberServiceListRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Project is the uuid of the project. + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // Query for projects. + Query *ProjectMemberQuery `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceListRequest) Reset() { + *x = ProjectMemberServiceListRequest{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceListRequest) ProtoMessage() {} + +func (x *ProjectMemberServiceListRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[2] + 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 ProjectMemberServiceListRequest.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceListRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{2} +} + +func (x *ProjectMemberServiceListRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ProjectMemberServiceListRequest) GetQuery() *ProjectMemberQuery { + if x != nil { + return x.Query + } + return nil +} + +// ProjectMemberServiceGetRequest is the request payload to get a project. +type ProjectMemberServiceGetRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Project is the uuid of the project. + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // Member is the user id of the member. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceGetRequest) Reset() { + *x = ProjectMemberServiceGetRequest{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceGetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceGetRequest) ProtoMessage() {} + +func (x *ProjectMemberServiceGetRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[3] + 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 ProjectMemberServiceGetRequest.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceGetRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{3} +} + +func (x *ProjectMemberServiceGetRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ProjectMemberServiceGetRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +// ProjectMemberServiceCreateRequest is the request payload to Create a project. +type ProjectMemberServiceCreateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Project is the uuid of the project. + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // Login of the member to add. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + // Role to assign to the new member. + Role ProjectRole `protobuf:"varint,3,opt,name=role,proto3,enum=metalstack.api.v2.ProjectRole" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceCreateRequest) Reset() { + *x = ProjectMemberServiceCreateRequest{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceCreateRequest) ProtoMessage() {} + +func (x *ProjectMemberServiceCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_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 ProjectMemberServiceCreateRequest.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceCreateRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{4} +} + +func (x *ProjectMemberServiceCreateRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ProjectMemberServiceCreateRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +func (x *ProjectMemberServiceCreateRequest) GetRole() ProjectRole { + if x != nil { + return x.Role + } + return ProjectRole_PROJECT_ROLE_UNSPECIFIED +} + +// ProjectMemberServiceUpdateRequest is the request payload to update a project. +type ProjectMemberServiceUpdateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Project is the uuid of the project. + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // Member is the id of the member to remove from this project. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + // Role is the role in this project the user will get after the update. + Role ProjectRole `protobuf:"varint,3,opt,name=role,proto3,enum=metalstack.api.v2.ProjectRole" json:"role,omitempty"` + // UpdateMeta contains the timestamp and strategy to be used in this update request. + UpdateMeta *UpdateMeta `protobuf:"bytes,4,opt,name=update_meta,json=updateMeta,proto3" json:"update_meta,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceUpdateRequest) Reset() { + *x = ProjectMemberServiceUpdateRequest{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceUpdateRequest) ProtoMessage() {} + +func (x *ProjectMemberServiceUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[5] + 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 ProjectMemberServiceUpdateRequest.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceUpdateRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{5} +} + +func (x *ProjectMemberServiceUpdateRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ProjectMemberServiceUpdateRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +func (x *ProjectMemberServiceUpdateRequest) GetRole() ProjectRole { + if x != nil { + return x.Role + } + return ProjectRole_PROJECT_ROLE_UNSPECIFIED +} + +func (x *ProjectMemberServiceUpdateRequest) GetUpdateMeta() *UpdateMeta { + if x != nil { + return x.UpdateMeta + } + return nil +} + +// ProjectMemberServiceDeleteRequest is the request payload to delete a project. +type ProjectMemberServiceDeleteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Project is the uuid of the project. + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // Member is the id of the member to remove from this project. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceDeleteRequest) Reset() { + *x = ProjectMemberServiceDeleteRequest{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceDeleteRequest) ProtoMessage() {} + +func (x *ProjectMemberServiceDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[6] + 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 ProjectMemberServiceDeleteRequest.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceDeleteRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{6} +} + +func (x *ProjectMemberServiceDeleteRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ProjectMemberServiceDeleteRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +// ProjectMemberServiceListResponse is the response payload to list all project members. +type ProjectMemberServiceListResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Members is a list of project members. + Members []*ProjectMember `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceListResponse) Reset() { + *x = ProjectMemberServiceListResponse{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceListResponse) ProtoMessage() {} + +func (x *ProjectMemberServiceListResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[7] + 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 ProjectMemberServiceListResponse.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceListResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{7} +} + +func (x *ProjectMemberServiceListResponse) GetMembers() []*ProjectMember { + if x != nil { + return x.Members + } + return nil +} + +// ProjectMemberServiceGetResponse is the response payload to get a projects. +type ProjectMemberServiceGetResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions. + Member []*ProjectMember `protobuf:"bytes,1,rep,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceGetResponse) Reset() { + *x = ProjectMemberServiceGetResponse{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceGetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceGetResponse) ProtoMessage() {} + +func (x *ProjectMemberServiceGetResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[8] + 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 ProjectMemberServiceGetResponse.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceGetResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{8} +} + +func (x *ProjectMemberServiceGetResponse) GetMember() []*ProjectMember { + if x != nil { + return x.Member + } + return nil +} + +// ProjectMemberServiceCreateResponse is the response payload to create a project member. +type ProjectMemberServiceCreateResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the created project member + Member *ProjectMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceCreateResponse) Reset() { + *x = ProjectMemberServiceCreateResponse{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceCreateResponse) ProtoMessage() {} + +func (x *ProjectMemberServiceCreateResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[9] + 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 ProjectMemberServiceCreateResponse.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceCreateResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{9} +} + +func (x *ProjectMemberServiceCreateResponse) GetMember() *ProjectMember { + if x != nil { + return x.Member + } + return nil +} + +// ProjectMemberServiceDeleteResponse is the response payload to delete a project member. +type ProjectMemberServiceDeleteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the deleted project member + Member *ProjectMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceDeleteResponse) Reset() { + *x = ProjectMemberServiceDeleteResponse{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceDeleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceDeleteResponse) ProtoMessage() {} + +func (x *ProjectMemberServiceDeleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[10] + 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 ProjectMemberServiceDeleteResponse.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceDeleteResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{10} +} + +func (x *ProjectMemberServiceDeleteResponse) GetMember() *ProjectMember { + if x != nil { + return x.Member + } + return nil +} + +// ProjectMemberServiceUpdateResponse is the response payload to update a project member. +type ProjectMemberServiceUpdateResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the updated project member + Member *ProjectMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceUpdateResponse) Reset() { + *x = ProjectMemberServiceUpdateResponse{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceUpdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceUpdateResponse) ProtoMessage() {} + +func (x *ProjectMemberServiceUpdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[11] + 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 ProjectMemberServiceUpdateResponse.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceUpdateResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{11} +} + +func (x *ProjectMemberServiceUpdateResponse) GetMember() *ProjectMember { + if x != nil { + return x.Member + } + return nil +} + +// ProjectMemberServiceLeaveRequest is used to leave a project. This way a member is not required to ask a project owner to remove him. +type ProjectMemberServiceLeaveRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Project of the uuid of the project that the user wants to leave. + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceLeaveRequest) Reset() { + *x = ProjectMemberServiceLeaveRequest{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceLeaveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceLeaveRequest) ProtoMessage() {} + +func (x *ProjectMemberServiceLeaveRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[12] + 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 ProjectMemberServiceLeaveRequest.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceLeaveRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{12} +} + +func (x *ProjectMemberServiceLeaveRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +// ProjectMemberServiceLeaveResponse is the response payload to a leave project request. +type ProjectMemberServiceLeaveResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the member of this project. + Member *ProjectMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProjectMemberServiceLeaveResponse) Reset() { + *x = ProjectMemberServiceLeaveResponse{} + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProjectMemberServiceLeaveResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectMemberServiceLeaveResponse) ProtoMessage() {} + +func (x *ProjectMemberServiceLeaveResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_project_member_proto_msgTypes[13] + 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 ProjectMemberServiceLeaveResponse.ProtoReflect.Descriptor instead. +func (*ProjectMemberServiceLeaveResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_project_member_proto_rawDescGZIP(), []int{13} +} + +func (x *ProjectMemberServiceLeaveResponse) GetMember() *ProjectMember { + if x != nil { + return x.Member + } + return nil +} + +var File_metalstack_api_v2_project_member_proto protoreflect.FileDescriptor + +const file_metalstack_api_v2_project_member_proto_rawDesc = "" + + "\n" + + "&metalstack/api/v2/project_member.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\"\x8d\x02\n" + + "\rProjectMember\x12#\n" + + "\x06member\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06member\x12<\n" + + "\x04role\x18\x02 \x01(\x0e2\x1e.metalstack.api.v2.ProjectRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x121\n" + + "\x14inherited_membership\x18\x03 \x01(\bR\x13inheritedMembership\x129\n" + + "\n" + + "created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n" + + "\x04meta\x18\x05 \x01(\v2\x17.metalstack.api.v2.MetaR\x04meta\"\x95\x01\n" + + "\x12ProjectMemberQuery\x12(\n" + + "\x06member\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01H\x00R\x06member\x88\x01\x01\x12A\n" + + "\x04role\x18\x02 \x01(\x0e2\x1e.metalstack.api.v2.ProjectRoleB\b\xbaH\x05\x82\x01\x02\x10\x01H\x01R\x04role\x88\x01\x01B\t\n" + + "\a_memberB\a\n" + + "\x05_role\"\x82\x01\n" + + "\x1fProjectMemberServiceListRequest\x12\"\n" + + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12;\n" + + "\x05query\x18\x02 \x01(\v2%.metalstack.api.v2.ProjectMemberQueryR\x05query\"i\n" + + "\x1eProjectMemberServiceGetRequest\x12\"\n" + + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12#\n" + + "\x06member\x18\x02 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06member\"\xaa\x01\n" + + "!ProjectMemberServiceCreateRequest\x12\"\n" + + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\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\x1e.metalstack.api.v2.ProjectRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"\xe5\x01\n" + + "!ProjectMemberServiceUpdateRequest\x12\"\n" + + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12\x16\n" + + "\x06member\x18\x02 \x01(\tR\x06member\x12<\n" + + "\x04role\x18\x03 \x01(\x0e2\x1e.metalstack.api.v2.ProjectRoleB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12F\n" + + "\vupdate_meta\x18\x04 \x01(\v2\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\n" + + "updateMeta\"_\n" + + "!ProjectMemberServiceDeleteRequest\x12\"\n" + + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12\x16\n" + + "\x06member\x18\x02 \x01(\tR\x06member\"^\n" + + " ProjectMemberServiceListResponse\x12:\n" + + "\amembers\x18\x01 \x03(\v2 .metalstack.api.v2.ProjectMemberR\amembers\"[\n" + + "\x1fProjectMemberServiceGetResponse\x128\n" + + "\x06member\x18\x01 \x03(\v2 .metalstack.api.v2.ProjectMemberR\x06member\"^\n" + + "\"ProjectMemberServiceCreateResponse\x128\n" + + "\x06member\x18\x01 \x01(\v2 .metalstack.api.v2.ProjectMemberR\x06member\"^\n" + + "\"ProjectMemberServiceDeleteResponse\x128\n" + + "\x06member\x18\x01 \x01(\v2 .metalstack.api.v2.ProjectMemberR\x06member\"^\n" + + "\"ProjectMemberServiceUpdateResponse\x128\n" + + "\x06member\x18\x01 \x01(\v2 .metalstack.api.v2.ProjectMemberR\x06member\"F\n" + + " ProjectMemberServiceLeaveRequest\x12\"\n" + + "\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"]\n" + + "!ProjectMemberServiceLeaveResponse\x128\n" + + "\x06member\x18\x01 \x01(\v2 .metalstack.api.v2.ProjectMemberR\x06member2\x96\x06\n" + + "\x14ProjectMemberService\x12|\n" + + "\x04List\x122.metalstack.api.v2.ProjectMemberServiceListRequest\x1a3.metalstack.api.v2.ProjectMemberServiceListResponse\"\v\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12y\n" + + "\x03Get\x121.metalstack.api.v2.ProjectMemberServiceGetRequest\x1a2.metalstack.api.v2.ProjectMemberServiceGetResponse\"\v\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12\x80\x01\n" + + "\x06Create\x124.metalstack.api.v2.ProjectMemberServiceCreateRequest\x1a5.metalstack.api.v2.ProjectMemberServiceCreateResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x80\x01\n" + + "\x06Delete\x124.metalstack.api.v2.ProjectMemberServiceDeleteRequest\x1a5.metalstack.api.v2.ProjectMemberServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x80\x01\n" + + "\x06Update\x124.metalstack.api.v2.ProjectMemberServiceUpdateRequest\x1a5.metalstack.api.v2.ProjectMemberServiceUpdateResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12|\n" + + "\x05Leave\x123.metalstack.api.v2.ProjectMemberServiceLeaveRequest\x1a4.metalstack.api.v2.ProjectMemberServiceLeaveResponse\"\b\xd8\xf3\x18\x02\xe0\xf3\x18\x01B\xc8\x01\n" + + "\x15com.metalstack.api.v2B\x12ProjectMemberProtoP\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" + +var ( + file_metalstack_api_v2_project_member_proto_rawDescOnce sync.Once + file_metalstack_api_v2_project_member_proto_rawDescData []byte +) + +func file_metalstack_api_v2_project_member_proto_rawDescGZIP() []byte { + file_metalstack_api_v2_project_member_proto_rawDescOnce.Do(func() { + file_metalstack_api_v2_project_member_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_metalstack_api_v2_project_member_proto_rawDesc), len(file_metalstack_api_v2_project_member_proto_rawDesc))) + }) + return file_metalstack_api_v2_project_member_proto_rawDescData +} + +var file_metalstack_api_v2_project_member_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_metalstack_api_v2_project_member_proto_goTypes = []any{ + (*ProjectMember)(nil), // 0: metalstack.api.v2.ProjectMember + (*ProjectMemberQuery)(nil), // 1: metalstack.api.v2.ProjectMemberQuery + (*ProjectMemberServiceListRequest)(nil), // 2: metalstack.api.v2.ProjectMemberServiceListRequest + (*ProjectMemberServiceGetRequest)(nil), // 3: metalstack.api.v2.ProjectMemberServiceGetRequest + (*ProjectMemberServiceCreateRequest)(nil), // 4: metalstack.api.v2.ProjectMemberServiceCreateRequest + (*ProjectMemberServiceUpdateRequest)(nil), // 5: metalstack.api.v2.ProjectMemberServiceUpdateRequest + (*ProjectMemberServiceDeleteRequest)(nil), // 6: metalstack.api.v2.ProjectMemberServiceDeleteRequest + (*ProjectMemberServiceListResponse)(nil), // 7: metalstack.api.v2.ProjectMemberServiceListResponse + (*ProjectMemberServiceGetResponse)(nil), // 8: metalstack.api.v2.ProjectMemberServiceGetResponse + (*ProjectMemberServiceCreateResponse)(nil), // 9: metalstack.api.v2.ProjectMemberServiceCreateResponse + (*ProjectMemberServiceDeleteResponse)(nil), // 10: metalstack.api.v2.ProjectMemberServiceDeleteResponse + (*ProjectMemberServiceUpdateResponse)(nil), // 11: metalstack.api.v2.ProjectMemberServiceUpdateResponse + (*ProjectMemberServiceLeaveRequest)(nil), // 12: metalstack.api.v2.ProjectMemberServiceLeaveRequest + (*ProjectMemberServiceLeaveResponse)(nil), // 13: metalstack.api.v2.ProjectMemberServiceLeaveResponse + (ProjectRole)(0), // 14: metalstack.api.v2.ProjectRole + (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp + (*Meta)(nil), // 16: metalstack.api.v2.Meta + (*UpdateMeta)(nil), // 17: metalstack.api.v2.UpdateMeta +} +var file_metalstack_api_v2_project_member_proto_depIdxs = []int32{ + 14, // 0: metalstack.api.v2.ProjectMember.role:type_name -> metalstack.api.v2.ProjectRole + 15, // 1: metalstack.api.v2.ProjectMember.created_at:type_name -> google.protobuf.Timestamp + 16, // 2: metalstack.api.v2.ProjectMember.meta:type_name -> metalstack.api.v2.Meta + 14, // 3: metalstack.api.v2.ProjectMemberQuery.role:type_name -> metalstack.api.v2.ProjectRole + 1, // 4: metalstack.api.v2.ProjectMemberServiceListRequest.query:type_name -> metalstack.api.v2.ProjectMemberQuery + 14, // 5: metalstack.api.v2.ProjectMemberServiceCreateRequest.role:type_name -> metalstack.api.v2.ProjectRole + 14, // 6: metalstack.api.v2.ProjectMemberServiceUpdateRequest.role:type_name -> metalstack.api.v2.ProjectRole + 17, // 7: metalstack.api.v2.ProjectMemberServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta + 0, // 8: metalstack.api.v2.ProjectMemberServiceListResponse.members:type_name -> metalstack.api.v2.ProjectMember + 0, // 9: metalstack.api.v2.ProjectMemberServiceGetResponse.member:type_name -> metalstack.api.v2.ProjectMember + 0, // 10: metalstack.api.v2.ProjectMemberServiceCreateResponse.member:type_name -> metalstack.api.v2.ProjectMember + 0, // 11: metalstack.api.v2.ProjectMemberServiceDeleteResponse.member:type_name -> metalstack.api.v2.ProjectMember + 0, // 12: metalstack.api.v2.ProjectMemberServiceUpdateResponse.member:type_name -> metalstack.api.v2.ProjectMember + 0, // 13: metalstack.api.v2.ProjectMemberServiceLeaveResponse.member:type_name -> metalstack.api.v2.ProjectMember + 2, // 14: metalstack.api.v2.ProjectMemberService.List:input_type -> metalstack.api.v2.ProjectMemberServiceListRequest + 3, // 15: metalstack.api.v2.ProjectMemberService.Get:input_type -> metalstack.api.v2.ProjectMemberServiceGetRequest + 4, // 16: metalstack.api.v2.ProjectMemberService.Create:input_type -> metalstack.api.v2.ProjectMemberServiceCreateRequest + 6, // 17: metalstack.api.v2.ProjectMemberService.Delete:input_type -> metalstack.api.v2.ProjectMemberServiceDeleteRequest + 5, // 18: metalstack.api.v2.ProjectMemberService.Update:input_type -> metalstack.api.v2.ProjectMemberServiceUpdateRequest + 12, // 19: metalstack.api.v2.ProjectMemberService.Leave:input_type -> metalstack.api.v2.ProjectMemberServiceLeaveRequest + 7, // 20: metalstack.api.v2.ProjectMemberService.List:output_type -> metalstack.api.v2.ProjectMemberServiceListResponse + 8, // 21: metalstack.api.v2.ProjectMemberService.Get:output_type -> metalstack.api.v2.ProjectMemberServiceGetResponse + 9, // 22: metalstack.api.v2.ProjectMemberService.Create:output_type -> metalstack.api.v2.ProjectMemberServiceCreateResponse + 10, // 23: metalstack.api.v2.ProjectMemberService.Delete:output_type -> metalstack.api.v2.ProjectMemberServiceDeleteResponse + 11, // 24: metalstack.api.v2.ProjectMemberService.Update:output_type -> metalstack.api.v2.ProjectMemberServiceUpdateResponse + 13, // 25: metalstack.api.v2.ProjectMemberService.Leave:output_type -> metalstack.api.v2.ProjectMemberServiceLeaveResponse + 20, // [20:26] is the sub-list for method output_type + 14, // [14:20] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_metalstack_api_v2_project_member_proto_init() } +func file_metalstack_api_v2_project_member_proto_init() { + if File_metalstack_api_v2_project_member_proto != nil { + return + } + file_metalstack_api_v2_common_proto_init() + file_metalstack_api_v2_predefined_rules_proto_init() + file_metalstack_api_v2_project_member_proto_msgTypes[1].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_project_member_proto_rawDesc), len(file_metalstack_api_v2_project_member_proto_rawDesc)), + NumEnums: 0, + NumMessages: 14, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_metalstack_api_v2_project_member_proto_goTypes, + DependencyIndexes: file_metalstack_api_v2_project_member_proto_depIdxs, + MessageInfos: file_metalstack_api_v2_project_member_proto_msgTypes, + }.Build() + File_metalstack_api_v2_project_member_proto = out.File + file_metalstack_api_v2_project_member_proto_goTypes = nil + file_metalstack_api_v2_project_member_proto_depIdxs = nil +} diff --git a/go/metalstack/api/v2/tenant.pb.go b/go/metalstack/api/v2/tenant.pb.go index 8222e07b..45d056ce 100644 --- a/go/metalstack/api/v2/tenant.pb.go +++ b/go/metalstack/api/v2/tenant.pb.go @@ -123,88 +123,6 @@ func (x *Tenant) GetCreatedBy() string { return "" } -// TenantMember defines a user that participates in a tenant. -type TenantMember struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Id is the user id of the member. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Role is the role of the member. - Role TenantRole `protobuf:"varint,2,opt,name=role,proto3,enum=metalstack.api.v2.TenantRole" json:"role,omitempty"` - // Projects in which a user is a direct member. - Projects []string `protobuf:"bytes,3,rep,name=projects,proto3" json:"projects,omitempty"` - // CreatedAt the date when the member was added to the tenant. - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // Meta for this tenant member. - Meta *Meta `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TenantMember) Reset() { - *x = TenantMember{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TenantMember) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TenantMember) ProtoMessage() {} - -func (x *TenantMember) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[1] - 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 TenantMember.ProtoReflect.Descriptor instead. -func (*TenantMember) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{1} -} - -func (x *TenantMember) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *TenantMember) GetRole() TenantRole { - if x != nil { - return x.Role - } - return TenantRole_TENANT_ROLE_UNSPECIFIED -} - -func (x *TenantMember) GetProjects() []string { - if x != nil { - return x.Projects - } - return nil -} - -func (x *TenantMember) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *TenantMember) GetMeta() *Meta { - if x != nil { - return x.Meta - } - return nil -} - // TenantInvite defines invite to tenant. type TenantInvite struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -232,7 +150,7 @@ type TenantInvite struct { func (x *TenantInvite) Reset() { *x = TenantInvite{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[2] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -244,7 +162,7 @@ func (x *TenantInvite) String() string { func (*TenantInvite) ProtoMessage() {} func (x *TenantInvite) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[2] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -257,7 +175,7 @@ func (x *TenantInvite) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantInvite.ProtoReflect.Descriptor instead. func (*TenantInvite) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{2} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{1} } func (x *TenantInvite) GetSecret() string { @@ -334,7 +252,7 @@ type TenantServiceListRequest struct { func (x *TenantServiceListRequest) Reset() { *x = TenantServiceListRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[3] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -346,7 +264,7 @@ func (x *TenantServiceListRequest) String() string { func (*TenantServiceListRequest) ProtoMessage() {} func (x *TenantServiceListRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[3] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -359,7 +277,7 @@ func (x *TenantServiceListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantServiceListRequest.ProtoReflect.Descriptor instead. func (*TenantServiceListRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{3} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{2} } func (x *TenantServiceListRequest) GetQuery() *TenantQuery { @@ -386,7 +304,7 @@ type TenantQuery struct { func (x *TenantQuery) Reset() { *x = TenantQuery{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[4] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -398,7 +316,7 @@ func (x *TenantQuery) String() string { func (*TenantQuery) ProtoMessage() {} func (x *TenantQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[4] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -411,7 +329,7 @@ func (x *TenantQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use TenantQuery.ProtoReflect.Descriptor instead. func (*TenantQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{4} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{3} } func (x *TenantQuery) GetLogin() string { @@ -453,7 +371,7 @@ type TenantServiceGetRequest struct { func (x *TenantServiceGetRequest) Reset() { *x = TenantServiceGetRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[5] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -465,7 +383,7 @@ func (x *TenantServiceGetRequest) String() string { func (*TenantServiceGetRequest) ProtoMessage() {} func (x *TenantServiceGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[5] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -478,7 +396,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{5} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{4} } func (x *TenantServiceGetRequest) GetLogin() string { @@ -507,7 +425,7 @@ type TenantServiceCreateRequest struct { func (x *TenantServiceCreateRequest) Reset() { *x = TenantServiceCreateRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[6] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -519,7 +437,7 @@ func (x *TenantServiceCreateRequest) String() string { func (*TenantServiceCreateRequest) ProtoMessage() {} func (x *TenantServiceCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[6] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -532,7 +450,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{6} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{5} } func (x *TenantServiceCreateRequest) GetName() string { @@ -593,7 +511,7 @@ type TenantServiceUpdateRequest struct { func (x *TenantServiceUpdateRequest) Reset() { *x = TenantServiceUpdateRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[7] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -605,7 +523,7 @@ func (x *TenantServiceUpdateRequest) String() string { func (*TenantServiceUpdateRequest) ProtoMessage() {} func (x *TenantServiceUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[7] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -618,7 +536,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{7} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{6} } func (x *TenantServiceUpdateRequest) GetLogin() string { @@ -681,7 +599,7 @@ type TenantServiceDeleteRequest struct { func (x *TenantServiceDeleteRequest) Reset() { *x = TenantServiceDeleteRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[8] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -693,7 +611,7 @@ func (x *TenantServiceDeleteRequest) String() string { func (*TenantServiceDeleteRequest) ProtoMessage() {} func (x *TenantServiceDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[8] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -706,7 +624,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{8} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{7} } func (x *TenantServiceDeleteRequest) GetLogin() string { @@ -720,16 +638,14 @@ func (x *TenantServiceDeleteRequest) GetLogin() string { type TenantServiceGetResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Tenant is the tenant. - Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"` - // TenantMembers of this tenant. - TenantMembers []*TenantMember `protobuf:"bytes,2,rep,name=tenant_members,json=tenantMembers,proto3" json:"tenant_members,omitempty"` + Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TenantServiceGetResponse) Reset() { *x = TenantServiceGetResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[9] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -741,7 +657,7 @@ func (x *TenantServiceGetResponse) String() string { func (*TenantServiceGetResponse) ProtoMessage() {} func (x *TenantServiceGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[9] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -754,7 +670,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{9} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{8} } func (x *TenantServiceGetResponse) GetTenant() *Tenant { @@ -764,13 +680,6 @@ func (x *TenantServiceGetResponse) GetTenant() *Tenant { return nil } -func (x *TenantServiceGetResponse) GetTenantMembers() []*TenantMember { - if x != nil { - return x.TenantMembers - } - return nil -} - // TenantServiceListResponse is the response payload of the tenant list request. type TenantServiceListResponse struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -782,7 +691,7 @@ type TenantServiceListResponse struct { func (x *TenantServiceListResponse) Reset() { *x = TenantServiceListResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[10] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -794,7 +703,7 @@ func (x *TenantServiceListResponse) String() string { func (*TenantServiceListResponse) ProtoMessage() {} func (x *TenantServiceListResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[10] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -807,7 +716,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{10} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{9} } func (x *TenantServiceListResponse) GetTenants() []*Tenant { @@ -828,7 +737,7 @@ type TenantServiceCreateResponse struct { func (x *TenantServiceCreateResponse) Reset() { *x = TenantServiceCreateResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[11] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -840,7 +749,7 @@ func (x *TenantServiceCreateResponse) String() string { func (*TenantServiceCreateResponse) ProtoMessage() {} func (x *TenantServiceCreateResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[11] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -853,7 +762,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{11} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{10} } func (x *TenantServiceCreateResponse) GetTenant() *Tenant { @@ -874,7 +783,7 @@ type TenantServiceUpdateResponse struct { func (x *TenantServiceUpdateResponse) Reset() { *x = TenantServiceUpdateResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[12] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -886,7 +795,7 @@ func (x *TenantServiceUpdateResponse) String() string { func (*TenantServiceUpdateResponse) ProtoMessage() {} func (x *TenantServiceUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[12] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -899,7 +808,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{12} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{11} } func (x *TenantServiceUpdateResponse) GetTenant() *Tenant { @@ -920,7 +829,7 @@ type TenantServiceDeleteResponse struct { func (x *TenantServiceDeleteResponse) Reset() { *x = TenantServiceDeleteResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[13] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -932,7 +841,7 @@ func (x *TenantServiceDeleteResponse) String() string { func (*TenantServiceDeleteResponse) ProtoMessage() {} func (x *TenantServiceDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[13] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -945,7 +854,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{13} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{12} } func (x *TenantServiceDeleteResponse) GetTenant() *Tenant { @@ -968,7 +877,7 @@ type TenantServiceInviteRequest struct { func (x *TenantServiceInviteRequest) Reset() { *x = TenantServiceInviteRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[14] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -980,7 +889,7 @@ func (x *TenantServiceInviteRequest) String() string { func (*TenantServiceInviteRequest) ProtoMessage() {} func (x *TenantServiceInviteRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[14] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -993,7 +902,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{14} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{13} } func (x *TenantServiceInviteRequest) GetLogin() string { @@ -1021,7 +930,7 @@ type TenantServiceInviteResponse struct { func (x *TenantServiceInviteResponse) Reset() { *x = TenantServiceInviteResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[15] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1033,7 +942,7 @@ func (x *TenantServiceInviteResponse) String() string { func (*TenantServiceInviteResponse) ProtoMessage() {} func (x *TenantServiceInviteResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[15] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1046,7 +955,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{15} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{14} } func (x *TenantServiceInviteResponse) GetInvite() *TenantInvite { @@ -1067,7 +976,7 @@ type TenantServiceInvitesListRequest struct { func (x *TenantServiceInvitesListRequest) Reset() { *x = TenantServiceInvitesListRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[16] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1079,7 +988,7 @@ func (x *TenantServiceInvitesListRequest) String() string { func (*TenantServiceInvitesListRequest) ProtoMessage() {} func (x *TenantServiceInvitesListRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[16] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1092,7 +1001,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{16} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{15} } func (x *TenantServiceInvitesListRequest) GetLogin() string { @@ -1113,7 +1022,7 @@ type TenantServiceInvitesListResponse struct { func (x *TenantServiceInvitesListResponse) Reset() { *x = TenantServiceInvitesListResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[17] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1125,7 +1034,7 @@ func (x *TenantServiceInvitesListResponse) String() string { func (*TenantServiceInvitesListResponse) ProtoMessage() {} func (x *TenantServiceInvitesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[17] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1138,7 +1047,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{17} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{16} } func (x *TenantServiceInvitesListResponse) GetInvites() []*TenantInvite { @@ -1159,7 +1068,7 @@ type TenantServiceInviteGetRequest struct { func (x *TenantServiceInviteGetRequest) Reset() { *x = TenantServiceInviteGetRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[18] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1171,7 +1080,7 @@ func (x *TenantServiceInviteGetRequest) String() string { func (*TenantServiceInviteGetRequest) ProtoMessage() {} func (x *TenantServiceInviteGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[18] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1184,7 +1093,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{18} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{17} } func (x *TenantServiceInviteGetRequest) GetSecret() string { @@ -1205,7 +1114,7 @@ type TenantServiceInviteGetResponse struct { func (x *TenantServiceInviteGetResponse) Reset() { *x = TenantServiceInviteGetResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[19] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1217,7 +1126,7 @@ func (x *TenantServiceInviteGetResponse) String() string { func (*TenantServiceInviteGetResponse) ProtoMessage() {} func (x *TenantServiceInviteGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[19] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1230,7 +1139,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{19} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{18} } func (x *TenantServiceInviteGetResponse) GetInvite() *TenantInvite { @@ -1240,190 +1149,6 @@ func (x *TenantServiceInviteGetResponse) GetInvite() *TenantInvite { return nil } -// TenantServiceRemoveMemberRequest is used to remove a member from a tenant. -type TenantServiceRemoveMemberRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Login of the tenant. - Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` - // Member is the id of the member to remove from this tenant. - Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TenantServiceRemoveMemberRequest) Reset() { - *x = TenantServiceRemoveMemberRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TenantServiceRemoveMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TenantServiceRemoveMemberRequest) ProtoMessage() {} - -func (x *TenantServiceRemoveMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[20] - 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 TenantServiceRemoveMemberRequest.ProtoReflect.Descriptor instead. -func (*TenantServiceRemoveMemberRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{20} -} - -func (x *TenantServiceRemoveMemberRequest) GetLogin() string { - if x != nil { - return x.Login - } - return "" -} - -func (x *TenantServiceRemoveMemberRequest) GetMember() string { - if x != nil { - return x.Member - } - return "" -} - -// TenantServiceLeaveTenantRequest is used to leave a tenant. -type TenantServiceLeaveRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Login of the tenant. - Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TenantServiceLeaveRequest) Reset() { - *x = TenantServiceLeaveRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TenantServiceLeaveRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TenantServiceLeaveRequest) ProtoMessage() {} - -func (x *TenantServiceLeaveRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[21] - 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 TenantServiceLeaveRequest.ProtoReflect.Descriptor instead. -func (*TenantServiceLeaveRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{21} -} - -func (x *TenantServiceLeaveRequest) GetLogin() string { - if x != nil { - return x.Login - } - return "" -} - -// TenantServiceLeaveTenantResponse is the response payload to a leave tenant request. -type TenantServiceLeaveResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TenantServiceLeaveResponse) Reset() { - *x = TenantServiceLeaveResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TenantServiceLeaveResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TenantServiceLeaveResponse) ProtoMessage() {} - -func (x *TenantServiceLeaveResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[22] - 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 TenantServiceLeaveResponse.ProtoReflect.Descriptor instead. -func (*TenantServiceLeaveResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{22} -} - -// TenantServiceRemoveMemberResponse is the response payload to a remove member request. -type TenantServiceRemoveMemberResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // TenantMember is the removed tenant member. - TenantMember *TenantMember `protobuf:"bytes,1,opt,name=tenant_member,json=tenantMember,proto3" json:"tenant_member,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TenantServiceRemoveMemberResponse) Reset() { - *x = TenantServiceRemoveMemberResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TenantServiceRemoveMemberResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TenantServiceRemoveMemberResponse) ProtoMessage() {} - -func (x *TenantServiceRemoveMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[23] - 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 TenantServiceRemoveMemberResponse.ProtoReflect.Descriptor instead. -func (*TenantServiceRemoveMemberResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{23} -} - -func (x *TenantServiceRemoveMemberResponse) GetTenantMember() *TenantMember { - if x != nil { - return x.TenantMember - } - return nil -} - // TenantServiceInviteAcceptRequest is the request payload to a accept invite request. type TenantServiceInviteAcceptRequest struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1435,7 +1160,7 @@ type TenantServiceInviteAcceptRequest struct { func (x *TenantServiceInviteAcceptRequest) Reset() { *x = TenantServiceInviteAcceptRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[24] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1447,7 +1172,7 @@ func (x *TenantServiceInviteAcceptRequest) String() string { func (*TenantServiceInviteAcceptRequest) ProtoMessage() {} func (x *TenantServiceInviteAcceptRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[24] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1460,7 +1185,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{24} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{19} } func (x *TenantServiceInviteAcceptRequest) GetSecret() string { @@ -1483,7 +1208,7 @@ type TenantServiceInviteAcceptResponse struct { func (x *TenantServiceInviteAcceptResponse) Reset() { *x = TenantServiceInviteAcceptResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[25] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1495,7 +1220,7 @@ func (x *TenantServiceInviteAcceptResponse) String() string { func (*TenantServiceInviteAcceptResponse) ProtoMessage() {} func (x *TenantServiceInviteAcceptResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[25] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1508,7 +1233,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{25} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{20} } func (x *TenantServiceInviteAcceptResponse) GetTenant() string { @@ -1538,7 +1263,7 @@ type TenantServiceInviteDeleteRequest struct { func (x *TenantServiceInviteDeleteRequest) Reset() { *x = TenantServiceInviteDeleteRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[26] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1550,7 +1275,7 @@ func (x *TenantServiceInviteDeleteRequest) String() string { func (*TenantServiceInviteDeleteRequest) ProtoMessage() {} func (x *TenantServiceInviteDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[26] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1563,7 +1288,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{26} + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{21} } func (x *TenantServiceInviteDeleteRequest) GetLogin() string { @@ -1589,7 +1314,7 @@ type TenantServiceInviteDeleteResponse struct { func (x *TenantServiceInviteDeleteResponse) Reset() { *x = TenantServiceInviteDeleteResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[27] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1601,7 +1326,7 @@ func (x *TenantServiceInviteDeleteResponse) String() string { func (*TenantServiceInviteDeleteResponse) ProtoMessage() {} func (x *TenantServiceInviteDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[27] + mi := &file_metalstack_api_v2_tenant_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1614,227 +1339,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{27} -} - -// TenantServiceAddMemberRequest is the request payload for adding a member to a tenant. -type TenantServiceAddMemberRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Login of the tenant to which the member will be added. - Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` - // Login of the member to add. - Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` - // Role to assign to the new member. - Role TenantRole `protobuf:"varint,3,opt,name=role,proto3,enum=metalstack.api.v2.TenantRole" json:"role,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TenantServiceAddMemberRequest) Reset() { - *x = TenantServiceAddMemberRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TenantServiceAddMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TenantServiceAddMemberRequest) ProtoMessage() {} - -func (x *TenantServiceAddMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[28] - 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 TenantServiceAddMemberRequest.ProtoReflect.Descriptor instead. -func (*TenantServiceAddMemberRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{28} -} - -func (x *TenantServiceAddMemberRequest) GetLogin() string { - if x != nil { - return x.Login - } - return "" -} - -func (x *TenantServiceAddMemberRequest) GetMember() string { - if x != nil { - return x.Member - } - return "" -} - -func (x *TenantServiceAddMemberRequest) GetRole() TenantRole { - if x != nil { - return x.Role - } - return TenantRole_TENANT_ROLE_UNSPECIFIED -} - -// TenantServiceAddMemberResponse is the response payload for the add member request. -type TenantServiceAddMemberResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // TenantMember is the added tenant member. - TenantMember *TenantMember `protobuf:"bytes,1,opt,name=tenant_member,json=tenantMember,proto3" json:"tenant_member,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TenantServiceAddMemberResponse) Reset() { - *x = TenantServiceAddMemberResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TenantServiceAddMemberResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TenantServiceAddMemberResponse) ProtoMessage() {} - -func (x *TenantServiceAddMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[29] - 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 TenantServiceAddMemberResponse.ProtoReflect.Descriptor instead. -func (*TenantServiceAddMemberResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{29} -} - -func (x *TenantServiceAddMemberResponse) GetTenantMember() *TenantMember { - if x != nil { - return x.TenantMember - } - return nil -} - -// TenantServiceUpdateMemberRequest is used to update a member from a tenant. -type TenantServiceUpdateMemberRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Login of the tenant. - Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` - // Member is the id of the member to update in this tenant. - Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` - // Role of this user in this tenant. - Role TenantRole `protobuf:"varint,3,opt,name=role,proto3,enum=metalstack.api.v2.TenantRole" json:"role,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TenantServiceUpdateMemberRequest) Reset() { - *x = TenantServiceUpdateMemberRequest{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TenantServiceUpdateMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TenantServiceUpdateMemberRequest) ProtoMessage() {} - -func (x *TenantServiceUpdateMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[30] - 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 TenantServiceUpdateMemberRequest.ProtoReflect.Descriptor instead. -func (*TenantServiceUpdateMemberRequest) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{30} -} - -func (x *TenantServiceUpdateMemberRequest) GetLogin() string { - if x != nil { - return x.Login - } - return "" -} - -func (x *TenantServiceUpdateMemberRequest) GetMember() string { - if x != nil { - return x.Member - } - return "" -} - -func (x *TenantServiceUpdateMemberRequest) GetRole() TenantRole { - if x != nil { - return x.Role - } - return TenantRole_TENANT_ROLE_UNSPECIFIED -} - -// TenantServiceUpdateMemberResponse is the response payload to a update member request. -type TenantServiceUpdateMemberResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // TenantMember is the updated membership. - TenantMember *TenantMember `protobuf:"bytes,1,opt,name=tenant_member,json=tenantMember,proto3" json:"tenant_member,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TenantServiceUpdateMemberResponse) Reset() { - *x = TenantServiceUpdateMemberResponse{} - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TenantServiceUpdateMemberResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TenantServiceUpdateMemberResponse) ProtoMessage() {} - -func (x *TenantServiceUpdateMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_tenant_proto_msgTypes[31] - 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 TenantServiceUpdateMemberResponse.ProtoReflect.Descriptor instead. -func (*TenantServiceUpdateMemberResponse) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{31} -} - -func (x *TenantServiceUpdateMemberResponse) GetTenantMember() *TenantMember { - if x != nil { - return x.TenantMember - } - return nil + return file_metalstack_api_v2_tenant_proto_rawDescGZIP(), []int{22} } var File_metalstack_api_v2_tenant_proto protoreflect.FileDescriptor @@ -1851,14 +1356,7 @@ const file_metalstack_api_v2_tenant_proto_rawDesc = "" + "\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\"\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" + - "created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n" + - "\x04meta\x18\x05 \x01(\v2\x17.metalstack.api.v2.MetaR\x04meta\"\xfb\x02\n" + + "created_by\x18\a \x01(\tR\tcreatedBy\"\xfb\x02\n" + "\fTenantInvite\x12\x16\n" + "\x06secret\x18\x01 \x01(\tR\x06secret\x12#\n" + "\rtarget_tenant\x18\x02 \x01(\tR\ftargetTenant\x12;\n" + @@ -1909,10 +1407,9 @@ const file_metalstack_api_v2_tenant_proto_rawDesc = "" + "\v_avatar_urlB\t\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" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"M\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" + + "\x06tenant\x18\x01 \x01(\v2\x19.metalstack.api.v2.TenantR\x06tenant\"P\n" + "\x19TenantServiceListResponse\x123\n" + "\atenants\x18\x01 \x03(\v2\x19.metalstack.api.v2.TenantR\atenants\"P\n" + "\x1bTenantServiceCreateResponse\x121\n" + @@ -1933,15 +1430,7 @@ const file_metalstack_api_v2_tenant_proto_rawDesc = "" + "\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\"]\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\"i\n" + - "!TenantServiceRemoveMemberResponse\x12D\n" + - "\rtenant_member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\ftenantMember\":\n" + + "\x06invite\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantInviteR\x06invite\":\n" + " TenantServiceInviteAcceptRequest\x12\x16\n" + "\x06secret\x18\x01 \x01(\tR\x06secret\"\\\n" + "!TenantServiceInviteAcceptResponse\x12\x16\n" + @@ -1951,19 +1440,7 @@ const file_metalstack_api_v2_tenant_proto_rawDesc = "" + " 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\"\xa4\x01\n" + - "\x1dTenantServiceAddMemberRequest\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\"f\n" + - "\x1eTenantServiceAddMemberResponse\x12D\n" + - "\rtenant_member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\ftenantMember\"\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\xc5\r\n" + + "!TenantServiceInviteDeleteResponse2\xc8\t\n" + "\rTenantService\x12q\n" + "\x06Create\x12-.metalstack.api.v2.TenantServiceCreateRequest\x1a..metalstack.api.v2.TenantServiceCreateResponse\"\b\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12k\n" + "\x04List\x12+.metalstack.api.v2.TenantServiceListRequest\x1a,.metalstack.api.v2.TenantServiceListResponse\"\b\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12l\n" + @@ -1971,12 +1448,7 @@ const file_metalstack_api_v2_tenant_proto_rawDesc = "" + "\x06Update\x12-.metalstack.api.v2.TenantServiceUpdateRequest\x1a..metalstack.api.v2.TenantServiceUpdateResponse\"\n" + "\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12s\n" + "\x06Delete\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|\n" + - "\tAddMember\x120.metalstack.api.v2.TenantServiceAddMemberRequest\x1a1.metalstack.api.v2.TenantServiceAddMemberResponse\"\n" + - "\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x84\x01\n" + - "\fRemoveMember\x123.metalstack.api.v2.TenantServiceRemoveMemberRequest\x1a4.metalstack.api.v2.TenantServiceRemoveMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x84\x01\n" + - "\fUpdateMember\x123.metalstack.api.v2.TenantServiceUpdateMemberRequest\x1a4.metalstack.api.v2.TenantServiceUpdateMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12r\n" + + "\xc2\xf3\x18\x02\x01\x02\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" + "\fInviteAccept\x123.metalstack.api.v2.TenantServiceInviteAcceptRequest\x1a4.metalstack.api.v2.TenantServiceInviteAcceptResponse\"\b\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12\x84\x01\n" + "\fInviteDelete\x123.metalstack.api.v2.TenantServiceInviteDeleteRequest\x1a4.metalstack.api.v2.TenantServiceInviteDeleteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x81\x01\n" + @@ -1996,110 +1468,84 @@ 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, 32) +var file_metalstack_api_v2_tenant_proto_msgTypes = make([]protoimpl.MessageInfo, 23) 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 - (*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 - (*TenantServiceAddMemberRequest)(nil), // 28: metalstack.api.v2.TenantServiceAddMemberRequest - (*TenantServiceAddMemberResponse)(nil), // 29: metalstack.api.v2.TenantServiceAddMemberResponse - (*TenantServiceUpdateMemberRequest)(nil), // 30: metalstack.api.v2.TenantServiceUpdateMemberRequest - (*TenantServiceUpdateMemberResponse)(nil), // 31: metalstack.api.v2.TenantServiceUpdateMemberResponse - (*Meta)(nil), // 32: metalstack.api.v2.Meta - (TenantRole)(0), // 33: metalstack.api.v2.TenantRole - (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp - (*Labels)(nil), // 35: metalstack.api.v2.Labels - (*Paging)(nil), // 36: metalstack.api.v2.Paging - (*UpdateMeta)(nil), // 37: metalstack.api.v2.UpdateMeta - (*UpdateLabels)(nil), // 38: metalstack.api.v2.UpdateLabels + (*TenantInvite)(nil), // 1: metalstack.api.v2.TenantInvite + (*TenantServiceListRequest)(nil), // 2: metalstack.api.v2.TenantServiceListRequest + (*TenantQuery)(nil), // 3: metalstack.api.v2.TenantQuery + (*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 + (*TenantServiceInviteAcceptRequest)(nil), // 19: metalstack.api.v2.TenantServiceInviteAcceptRequest + (*TenantServiceInviteAcceptResponse)(nil), // 20: metalstack.api.v2.TenantServiceInviteAcceptResponse + (*TenantServiceInviteDeleteRequest)(nil), // 21: metalstack.api.v2.TenantServiceInviteDeleteRequest + (*TenantServiceInviteDeleteResponse)(nil), // 22: metalstack.api.v2.TenantServiceInviteDeleteResponse + (*Meta)(nil), // 23: metalstack.api.v2.Meta + (TenantRole)(0), // 24: metalstack.api.v2.TenantRole + (*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp + (*Labels)(nil), // 26: metalstack.api.v2.Labels + (*Paging)(nil), // 27: metalstack.api.v2.Paging + (*UpdateMeta)(nil), // 28: metalstack.api.v2.UpdateMeta + (*UpdateLabels)(nil), // 29: metalstack.api.v2.UpdateLabels } var file_metalstack_api_v2_tenant_proto_depIdxs = []int32{ - 32, // 0: metalstack.api.v2.Tenant.meta:type_name -> metalstack.api.v2.Meta - 33, // 1: metalstack.api.v2.TenantMember.role:type_name -> metalstack.api.v2.TenantRole - 34, // 2: metalstack.api.v2.TenantMember.created_at:type_name -> google.protobuf.Timestamp - 32, // 3: metalstack.api.v2.TenantMember.meta:type_name -> metalstack.api.v2.Meta - 33, // 4: metalstack.api.v2.TenantInvite.role:type_name -> metalstack.api.v2.TenantRole - 34, // 5: metalstack.api.v2.TenantInvite.expires_at:type_name -> google.protobuf.Timestamp - 34, // 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 - 35, // 8: metalstack.api.v2.TenantQuery.labels:type_name -> metalstack.api.v2.Labels - 36, // 9: metalstack.api.v2.TenantQuery.paging:type_name -> metalstack.api.v2.Paging - 35, // 10: metalstack.api.v2.TenantServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels - 37, // 11: metalstack.api.v2.TenantServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta - 38, // 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 - 33, // 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 - 1, // 23: metalstack.api.v2.TenantServiceRemoveMemberResponse.tenant_member:type_name -> metalstack.api.v2.TenantMember - 33, // 24: metalstack.api.v2.TenantServiceAddMemberRequest.role:type_name -> metalstack.api.v2.TenantRole - 1, // 25: metalstack.api.v2.TenantServiceAddMemberResponse.tenant_member:type_name -> metalstack.api.v2.TenantMember - 33, // 26: metalstack.api.v2.TenantServiceUpdateMemberRequest.role:type_name -> metalstack.api.v2.TenantRole - 1, // 27: metalstack.api.v2.TenantServiceUpdateMemberResponse.tenant_member:type_name -> metalstack.api.v2.TenantMember - 6, // 28: metalstack.api.v2.TenantService.Create:input_type -> metalstack.api.v2.TenantServiceCreateRequest - 3, // 29: metalstack.api.v2.TenantService.List:input_type -> metalstack.api.v2.TenantServiceListRequest - 5, // 30: metalstack.api.v2.TenantService.Get:input_type -> metalstack.api.v2.TenantServiceGetRequest - 7, // 31: metalstack.api.v2.TenantService.Update:input_type -> metalstack.api.v2.TenantServiceUpdateRequest - 8, // 32: metalstack.api.v2.TenantService.Delete:input_type -> metalstack.api.v2.TenantServiceDeleteRequest - 21, // 33: metalstack.api.v2.TenantService.Leave:input_type -> metalstack.api.v2.TenantServiceLeaveRequest - 28, // 34: metalstack.api.v2.TenantService.AddMember:input_type -> metalstack.api.v2.TenantServiceAddMemberRequest - 20, // 35: metalstack.api.v2.TenantService.RemoveMember:input_type -> metalstack.api.v2.TenantServiceRemoveMemberRequest - 30, // 36: metalstack.api.v2.TenantService.UpdateMember:input_type -> metalstack.api.v2.TenantServiceUpdateMemberRequest - 14, // 37: metalstack.api.v2.TenantService.Invite:input_type -> metalstack.api.v2.TenantServiceInviteRequest - 24, // 38: metalstack.api.v2.TenantService.InviteAccept:input_type -> metalstack.api.v2.TenantServiceInviteAcceptRequest - 26, // 39: metalstack.api.v2.TenantService.InviteDelete:input_type -> metalstack.api.v2.TenantServiceInviteDeleteRequest - 16, // 40: metalstack.api.v2.TenantService.InvitesList:input_type -> metalstack.api.v2.TenantServiceInvitesListRequest - 18, // 41: metalstack.api.v2.TenantService.InviteGet:input_type -> metalstack.api.v2.TenantServiceInviteGetRequest - 11, // 42: metalstack.api.v2.TenantService.Create:output_type -> metalstack.api.v2.TenantServiceCreateResponse - 10, // 43: metalstack.api.v2.TenantService.List:output_type -> metalstack.api.v2.TenantServiceListResponse - 9, // 44: metalstack.api.v2.TenantService.Get:output_type -> metalstack.api.v2.TenantServiceGetResponse - 12, // 45: metalstack.api.v2.TenantService.Update:output_type -> metalstack.api.v2.TenantServiceUpdateResponse - 13, // 46: metalstack.api.v2.TenantService.Delete:output_type -> metalstack.api.v2.TenantServiceDeleteResponse - 22, // 47: metalstack.api.v2.TenantService.Leave:output_type -> metalstack.api.v2.TenantServiceLeaveResponse - 29, // 48: metalstack.api.v2.TenantService.AddMember:output_type -> metalstack.api.v2.TenantServiceAddMemberResponse - 23, // 49: metalstack.api.v2.TenantService.RemoveMember:output_type -> metalstack.api.v2.TenantServiceRemoveMemberResponse - 31, // 50: metalstack.api.v2.TenantService.UpdateMember:output_type -> metalstack.api.v2.TenantServiceUpdateMemberResponse - 15, // 51: metalstack.api.v2.TenantService.Invite:output_type -> metalstack.api.v2.TenantServiceInviteResponse - 25, // 52: metalstack.api.v2.TenantService.InviteAccept:output_type -> metalstack.api.v2.TenantServiceInviteAcceptResponse - 27, // 53: metalstack.api.v2.TenantService.InviteDelete:output_type -> metalstack.api.v2.TenantServiceInviteDeleteResponse - 17, // 54: metalstack.api.v2.TenantService.InvitesList:output_type -> metalstack.api.v2.TenantServiceInvitesListResponse - 19, // 55: metalstack.api.v2.TenantService.InviteGet:output_type -> metalstack.api.v2.TenantServiceInviteGetResponse - 42, // [42:56] is the sub-list for method output_type - 28, // [28:42] is the sub-list for method input_type - 28, // [28:28] is the sub-list for extension type_name - 28, // [28:28] is the sub-list for extension extendee - 0, // [0:28] is the sub-list for field type_name + 23, // 0: metalstack.api.v2.Tenant.meta:type_name -> metalstack.api.v2.Meta + 24, // 1: metalstack.api.v2.TenantInvite.role:type_name -> metalstack.api.v2.TenantRole + 25, // 2: metalstack.api.v2.TenantInvite.expires_at:type_name -> google.protobuf.Timestamp + 25, // 3: metalstack.api.v2.TenantInvite.joined_at:type_name -> google.protobuf.Timestamp + 3, // 4: metalstack.api.v2.TenantServiceListRequest.query:type_name -> metalstack.api.v2.TenantQuery + 26, // 5: metalstack.api.v2.TenantQuery.labels:type_name -> metalstack.api.v2.Labels + 27, // 6: metalstack.api.v2.TenantQuery.paging:type_name -> metalstack.api.v2.Paging + 26, // 7: metalstack.api.v2.TenantServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels + 28, // 8: metalstack.api.v2.TenantServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta + 29, // 9: metalstack.api.v2.TenantServiceUpdateRequest.labels:type_name -> metalstack.api.v2.UpdateLabels + 0, // 10: metalstack.api.v2.TenantServiceGetResponse.tenant:type_name -> metalstack.api.v2.Tenant + 0, // 11: metalstack.api.v2.TenantServiceListResponse.tenants:type_name -> metalstack.api.v2.Tenant + 0, // 12: metalstack.api.v2.TenantServiceCreateResponse.tenant:type_name -> metalstack.api.v2.Tenant + 0, // 13: metalstack.api.v2.TenantServiceUpdateResponse.tenant:type_name -> metalstack.api.v2.Tenant + 0, // 14: metalstack.api.v2.TenantServiceDeleteResponse.tenant:type_name -> metalstack.api.v2.Tenant + 24, // 15: metalstack.api.v2.TenantServiceInviteRequest.role:type_name -> metalstack.api.v2.TenantRole + 1, // 16: metalstack.api.v2.TenantServiceInviteResponse.invite:type_name -> metalstack.api.v2.TenantInvite + 1, // 17: metalstack.api.v2.TenantServiceInvitesListResponse.invites:type_name -> metalstack.api.v2.TenantInvite + 1, // 18: metalstack.api.v2.TenantServiceInviteGetResponse.invite:type_name -> metalstack.api.v2.TenantInvite + 5, // 19: metalstack.api.v2.TenantService.Create:input_type -> metalstack.api.v2.TenantServiceCreateRequest + 2, // 20: metalstack.api.v2.TenantService.List:input_type -> metalstack.api.v2.TenantServiceListRequest + 4, // 21: metalstack.api.v2.TenantService.Get:input_type -> metalstack.api.v2.TenantServiceGetRequest + 6, // 22: metalstack.api.v2.TenantService.Update:input_type -> metalstack.api.v2.TenantServiceUpdateRequest + 7, // 23: metalstack.api.v2.TenantService.Delete:input_type -> metalstack.api.v2.TenantServiceDeleteRequest + 13, // 24: metalstack.api.v2.TenantService.Invite:input_type -> metalstack.api.v2.TenantServiceInviteRequest + 19, // 25: metalstack.api.v2.TenantService.InviteAccept:input_type -> metalstack.api.v2.TenantServiceInviteAcceptRequest + 21, // 26: metalstack.api.v2.TenantService.InviteDelete:input_type -> metalstack.api.v2.TenantServiceInviteDeleteRequest + 15, // 27: metalstack.api.v2.TenantService.InvitesList:input_type -> metalstack.api.v2.TenantServiceInvitesListRequest + 17, // 28: metalstack.api.v2.TenantService.InviteGet:input_type -> metalstack.api.v2.TenantServiceInviteGetRequest + 10, // 29: metalstack.api.v2.TenantService.Create:output_type -> metalstack.api.v2.TenantServiceCreateResponse + 9, // 30: metalstack.api.v2.TenantService.List:output_type -> metalstack.api.v2.TenantServiceListResponse + 8, // 31: metalstack.api.v2.TenantService.Get:output_type -> metalstack.api.v2.TenantServiceGetResponse + 11, // 32: metalstack.api.v2.TenantService.Update:output_type -> metalstack.api.v2.TenantServiceUpdateResponse + 12, // 33: metalstack.api.v2.TenantService.Delete:output_type -> metalstack.api.v2.TenantServiceDeleteResponse + 14, // 34: metalstack.api.v2.TenantService.Invite:output_type -> metalstack.api.v2.TenantServiceInviteResponse + 20, // 35: metalstack.api.v2.TenantService.InviteAccept:output_type -> metalstack.api.v2.TenantServiceInviteAcceptResponse + 22, // 36: metalstack.api.v2.TenantService.InviteDelete:output_type -> metalstack.api.v2.TenantServiceInviteDeleteResponse + 16, // 37: metalstack.api.v2.TenantService.InvitesList:output_type -> metalstack.api.v2.TenantServiceInvitesListResponse + 18, // 38: metalstack.api.v2.TenantService.InviteGet:output_type -> metalstack.api.v2.TenantServiceInviteGetResponse + 29, // [29:39] is the sub-list for method output_type + 19, // [19:29] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_metalstack_api_v2_tenant_proto_init() } @@ -2109,16 +1555,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[4].OneofWrappers = []any{} + 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[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: 32, + NumMessages: 23, NumExtensions: 0, NumServices: 1, }, diff --git a/go/metalstack/api/v2/tenant_member.pb.go b/go/metalstack/api/v2/tenant_member.pb.go new file mode 100644 index 00000000..ac5f91a2 --- /dev/null +++ b/go/metalstack/api/v2/tenant_member.pb.go @@ -0,0 +1,960 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.12 +// protoc (unknown) +// source: metalstack/api/v2/tenant_member.proto + +package apiv2 + +import ( + _ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// TenantMember defines a user that participates in a tenant. +type TenantMember struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the user id of the member. + Member string `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + // Role is the role of the member. + Role TenantRole `protobuf:"varint,2,opt,name=role,proto3,enum=metalstack.api.v2.TenantRole" json:"role,omitempty"` + // Projects in which a user is a direct member. + Projects []string `protobuf:"bytes,3,rep,name=projects,proto3" json:"projects,omitempty"` + // CreatedAt the date when the member was added to the tenant. + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Meta for this tenant member. + Meta *Meta `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"` + // Tenant is the tenant that this member participates in. + Tenant string `protobuf:"bytes,6,opt,name=tenant,proto3" json:"tenant,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMember) Reset() { + *x = TenantMember{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMember) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMember) ProtoMessage() {} + +func (x *TenantMember) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[0] + 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 TenantMember.ProtoReflect.Descriptor instead. +func (*TenantMember) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{0} +} + +func (x *TenantMember) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +func (x *TenantMember) GetRole() TenantRole { + if x != nil { + return x.Role + } + return TenantRole_TENANT_ROLE_UNSPECIFIED +} + +func (x *TenantMember) GetProjects() []string { + if x != nil { + return x.Projects + } + return nil +} + +func (x *TenantMember) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *TenantMember) GetMeta() *Meta { + if x != nil { + return x.Meta + } + return nil +} + +func (x *TenantMember) GetTenant() string { + if x != nil { + return x.Tenant + } + return "" +} + +// TenantMemberServiceListRequest is the request payload of the tenant member list request. +type TenantMemberServiceListRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Login of the tenant. + Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` + // Query for tenant members. + Query *TenantMemberQuery `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceListRequest) Reset() { + *x = TenantMemberServiceListRequest{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceListRequest) ProtoMessage() {} + +func (x *TenantMemberServiceListRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[1] + 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 TenantMemberServiceListRequest.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceListRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{1} +} + +func (x *TenantMemberServiceListRequest) GetLogin() string { + if x != nil { + return x.Login + } + return "" +} + +func (x *TenantMemberServiceListRequest) GetQuery() *TenantMemberQuery { + if x != nil { + return x.Query + } + return nil +} + +// TenantMemberQuery is used to search tenant members. +type TenantMemberQuery struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the user id of the member. + Member *string `protobuf:"bytes,1,opt,name=member,proto3,oneof" json:"member,omitempty"` + // Role is the role of the member. + Role *TenantRole `protobuf:"varint,2,opt,name=role,proto3,enum=metalstack.api.v2.TenantRole,oneof" json:"role,omitempty"` + // Projects in which a user is a direct member. + Projects []string `protobuf:"bytes,3,rep,name=projects,proto3" json:"projects,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberQuery) Reset() { + *x = TenantMemberQuery{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberQuery) ProtoMessage() {} + +func (x *TenantMemberQuery) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[2] + 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 TenantMemberQuery.ProtoReflect.Descriptor instead. +func (*TenantMemberQuery) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{2} +} + +func (x *TenantMemberQuery) GetMember() string { + if x != nil && x.Member != nil { + return *x.Member + } + return "" +} + +func (x *TenantMemberQuery) GetRole() TenantRole { + if x != nil && x.Role != nil { + return *x.Role + } + return TenantRole_TENANT_ROLE_UNSPECIFIED +} + +func (x *TenantMemberQuery) GetProjects() []string { + if x != nil { + return x.Projects + } + return nil +} + +// TenantMemberServiceGetRequest is the request payload of the tenant member get request. +type TenantMemberServiceGetRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Login of the tenant. + Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` + // Member is the user id of the member. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceGetRequest) Reset() { + *x = TenantMemberServiceGetRequest{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceGetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceGetRequest) ProtoMessage() {} + +func (x *TenantMemberServiceGetRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[3] + 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 TenantMemberServiceGetRequest.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceGetRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{3} +} + +func (x *TenantMemberServiceGetRequest) GetLogin() string { + if x != nil { + return x.Login + } + return "" +} + +func (x *TenantMemberServiceGetRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +// TenantMemberServiceDeleteRequest is used to remove a member from a tenant. +type TenantMemberServiceDeleteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Login of the tenant. + Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` + // Member is the id of the member to remove from this tenant. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceDeleteRequest) Reset() { + *x = TenantMemberServiceDeleteRequest{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceDeleteRequest) ProtoMessage() {} + +func (x *TenantMemberServiceDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_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 TenantMemberServiceDeleteRequest.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceDeleteRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{4} +} + +func (x *TenantMemberServiceDeleteRequest) GetLogin() string { + if x != nil { + return x.Login + } + return "" +} + +func (x *TenantMemberServiceDeleteRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +// TenantMemberServiceCreateRequest is the request payload for adding a member to a tenant. +type TenantMemberServiceCreateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Login of the tenant to which the member will be added. + Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` + // Login of the member to add. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + // Role to assign to the new member. + Role TenantRole `protobuf:"varint,3,opt,name=role,proto3,enum=metalstack.api.v2.TenantRole" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceCreateRequest) Reset() { + *x = TenantMemberServiceCreateRequest{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceCreateRequest) ProtoMessage() {} + +func (x *TenantMemberServiceCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[5] + 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 TenantMemberServiceCreateRequest.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceCreateRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{5} +} + +func (x *TenantMemberServiceCreateRequest) GetLogin() string { + if x != nil { + return x.Login + } + return "" +} + +func (x *TenantMemberServiceCreateRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +func (x *TenantMemberServiceCreateRequest) GetRole() TenantRole { + if x != nil { + return x.Role + } + return TenantRole_TENANT_ROLE_UNSPECIFIED +} + +// TenantMemberServiceUpdateRequest is used to update a member from a tenant. +type TenantMemberServiceUpdateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Login of the tenant. + Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` + // Member is the id of the member to update in this tenant. + Member string `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + // Role of this user in this tenant. + Role *TenantRole `protobuf:"varint,3,opt,name=role,proto3,enum=metalstack.api.v2.TenantRole,oneof" json:"role,omitempty"` + // UpdateMeta contains the timestamp and strategy to be used in this update request. + UpdateMeta *UpdateMeta `protobuf:"bytes,4,opt,name=update_meta,json=updateMeta,proto3" json:"update_meta,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceUpdateRequest) Reset() { + *x = TenantMemberServiceUpdateRequest{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceUpdateRequest) ProtoMessage() {} + +func (x *TenantMemberServiceUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[6] + 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 TenantMemberServiceUpdateRequest.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceUpdateRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{6} +} + +func (x *TenantMemberServiceUpdateRequest) GetLogin() string { + if x != nil { + return x.Login + } + return "" +} + +func (x *TenantMemberServiceUpdateRequest) GetMember() string { + if x != nil { + return x.Member + } + return "" +} + +func (x *TenantMemberServiceUpdateRequest) GetRole() TenantRole { + if x != nil && x.Role != nil { + return *x.Role + } + return TenantRole_TENANT_ROLE_UNSPECIFIED +} + +func (x *TenantMemberServiceUpdateRequest) GetUpdateMeta() *UpdateMeta { + if x != nil { + return x.UpdateMeta + } + return nil +} + +// TenantMemberServiceGetResponse is the response payload of the tenant member get request. +type TenantMemberServiceGetResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the member of this tenant. + Member *TenantMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceGetResponse) Reset() { + *x = TenantMemberServiceGetResponse{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceGetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceGetResponse) ProtoMessage() {} + +func (x *TenantMemberServiceGetResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[7] + 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 TenantMemberServiceGetResponse.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceGetResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{7} +} + +func (x *TenantMemberServiceGetResponse) GetMember() *TenantMember { + if x != nil { + return x.Member + } + return nil +} + +// TenantMemberServiceListResponse is the response payload of the tenant member list request. +type TenantMemberServiceListResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Members is the list of tenant members. + Members []*TenantMember `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceListResponse) Reset() { + *x = TenantMemberServiceListResponse{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceListResponse) ProtoMessage() {} + +func (x *TenantMemberServiceListResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[8] + 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 TenantMemberServiceListResponse.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceListResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{8} +} + +func (x *TenantMemberServiceListResponse) GetMembers() []*TenantMember { + if x != nil { + return x.Members + } + return nil +} + +// TenantMemberServiceCreateResponse is the response payload of the tenant member create request. +type TenantMemberServiceCreateResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the member of this tenant. + Member *TenantMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceCreateResponse) Reset() { + *x = TenantMemberServiceCreateResponse{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceCreateResponse) ProtoMessage() {} + +func (x *TenantMemberServiceCreateResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[9] + 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 TenantMemberServiceCreateResponse.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceCreateResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{9} +} + +func (x *TenantMemberServiceCreateResponse) GetMember() *TenantMember { + if x != nil { + return x.Member + } + return nil +} + +// TenantMemberServiceUpdateResponse is the response payload of the tenant member update request. +type TenantMemberServiceUpdateResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the member of this tenant. + Member *TenantMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceUpdateResponse) Reset() { + *x = TenantMemberServiceUpdateResponse{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceUpdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceUpdateResponse) ProtoMessage() {} + +func (x *TenantMemberServiceUpdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[10] + 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 TenantMemberServiceUpdateResponse.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceUpdateResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{10} +} + +func (x *TenantMemberServiceUpdateResponse) GetMember() *TenantMember { + if x != nil { + return x.Member + } + return nil +} + +// TenantMemberServiceDeleteResponse is the response payload of the tenant member delete request. +type TenantMemberServiceDeleteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the member of this tenant. + Member *TenantMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceDeleteResponse) Reset() { + *x = TenantMemberServiceDeleteResponse{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceDeleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceDeleteResponse) ProtoMessage() {} + +func (x *TenantMemberServiceDeleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[11] + 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 TenantMemberServiceDeleteResponse.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceDeleteResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{11} +} + +func (x *TenantMemberServiceDeleteResponse) GetMember() *TenantMember { + if x != nil { + return x.Member + } + return nil +} + +// TenantMemberServiceLeaveRequest is used to leave a tenant. This way a member is not required to ask a tenant owner to remove him. +type TenantMemberServiceLeaveRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Login of the tenant that the user wants to leave. + Login string `protobuf:"bytes,1,opt,name=login,proto3" json:"login,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceLeaveRequest) Reset() { + *x = TenantMemberServiceLeaveRequest{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceLeaveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceLeaveRequest) ProtoMessage() {} + +func (x *TenantMemberServiceLeaveRequest) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[12] + 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 TenantMemberServiceLeaveRequest.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceLeaveRequest) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{12} +} + +func (x *TenantMemberServiceLeaveRequest) GetLogin() string { + if x != nil { + return x.Login + } + return "" +} + +// TenantMemberServiceLeaveResponse is the response payload to a leave tenant request. +type TenantMemberServiceLeaveResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Member is the member of this tenant. + Member *TenantMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantMemberServiceLeaveResponse) Reset() { + *x = TenantMemberServiceLeaveResponse{} + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantMemberServiceLeaveResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantMemberServiceLeaveResponse) ProtoMessage() {} + +func (x *TenantMemberServiceLeaveResponse) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_tenant_member_proto_msgTypes[13] + 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 TenantMemberServiceLeaveResponse.ProtoReflect.Descriptor instead. +func (*TenantMemberServiceLeaveResponse) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_tenant_member_proto_rawDescGZIP(), []int{13} +} + +func (x *TenantMemberServiceLeaveResponse) GetMember() *TenantMember { + if x != nil { + return x.Member + } + return nil +} + +var File_metalstack_api_v2_tenant_member_proto protoreflect.FileDescriptor + +const file_metalstack_api_v2_tenant_member_proto_rawDesc = "" + + "\n" + + "%metalstack/api/v2/tenant_member.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\"\x99\x02\n" + + "\fTenantMember\x12#\n" + + "\x06member\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06member\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" + + "created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n" + + "\x04meta\x18\x05 \x01(\v2\x17.metalstack.api.v2.MetaR\x04meta\x12#\n" + + "\x06tenant\x18\x06 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x06tenant\"\x7f\n" + + "\x1eTenantMemberServiceListRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12:\n" + + "\x05query\x18\x02 \x01(\v2$.metalstack.api.v2.TenantMemberQueryR\x05query\"\xaf\x01\n" + + "\x11TenantMemberQuery\x12(\n" + + "\x06member\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01H\x00R\x06member\x88\x01\x01\x12@\n" + + "\x04role\x18\x02 \x01(\x0e2\x1d.metalstack.api.v2.TenantRoleB\b\xbaH\x05\x82\x01\x02\x10\x01H\x01R\x04role\x88\x01\x01\x12\x1a\n" + + "\bprojects\x18\x03 \x03(\tR\bprojectsB\t\n" + + "\a_memberB\a\n" + + "\x05_role\"g\n" + + "\x1dTenantMemberServiceGetRequest\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\"]\n" + + " TenantMemberServiceDeleteRequest\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\"\xa7\x01\n" + + " TenantMemberServiceCreateRequest\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\"\xfd\x01\n" + + " TenantMemberServiceUpdateRequest\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\x01H\x00R\x04role\x88\x01\x01\x12F\n" + + "\vupdate_meta\x18\x04 \x01(\v2\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\n" + + "updateMetaB\a\n" + + "\x05_role\"Y\n" + + "\x1eTenantMemberServiceGetResponse\x127\n" + + "\x06member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\x06member\"\\\n" + + "\x1fTenantMemberServiceListResponse\x129\n" + + "\amembers\x18\x01 \x03(\v2\x1f.metalstack.api.v2.TenantMemberR\amembers\"\\\n" + + "!TenantMemberServiceCreateResponse\x127\n" + + "\x06member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\x06member\"\\\n" + + "!TenantMemberServiceUpdateResponse\x127\n" + + "\x06member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\x06member\"\\\n" + + "!TenantMemberServiceDeleteResponse\x127\n" + + "\x06member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\x06member\"D\n" + + "\x1fTenantMemberServiceLeaveRequest\x12!\n" + + "\x05login\x18\x01 \x01(\tB\v\xbaH\br\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"[\n" + + " TenantMemberServiceLeaveResponse\x127\n" + + "\x06member\x18\x01 \x01(\v2\x1f.metalstack.api.v2.TenantMemberR\x06member2\x88\x06\n" + + "\x13TenantMemberService\x12~\n" + + "\x06Create\x123.metalstack.api.v2.TenantMemberServiceCreateRequest\x1a4.metalstack.api.v2.TenantMemberServiceCreateResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12{\n" + + "\x04List\x121.metalstack.api.v2.TenantMemberServiceListRequest\x1a2.metalstack.api.v2.TenantMemberServiceListResponse\"\f\xc2\xf3\x18\x04\x01\x02\x03\x04\xe0\xf3\x18\x02\x12x\n" + + "\x03Get\x120.metalstack.api.v2.TenantMemberServiceGetRequest\x1a1.metalstack.api.v2.TenantMemberServiceGetResponse\"\f\xc2\xf3\x18\x04\x01\x02\x03\x04\xe0\xf3\x18\x02\x12~\n" + + "\x06Update\x123.metalstack.api.v2.TenantMemberServiceUpdateRequest\x1a4.metalstack.api.v2.TenantMemberServiceUpdateResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12~\n" + + "\x06Delete\x123.metalstack.api.v2.TenantMemberServiceDeleteRequest\x1a4.metalstack.api.v2.TenantMemberServiceDeleteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12z\n" + + "\x05Leave\x122.metalstack.api.v2.TenantMemberServiceLeaveRequest\x1a3.metalstack.api.v2.TenantMemberServiceLeaveResponse\"\b\xd8\xf3\x18\x02\xe0\xf3\x18\x01B\xc7\x01\n" + + "\x15com.metalstack.api.v2B\x11TenantMemberProtoP\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" + +var ( + file_metalstack_api_v2_tenant_member_proto_rawDescOnce sync.Once + file_metalstack_api_v2_tenant_member_proto_rawDescData []byte +) + +func file_metalstack_api_v2_tenant_member_proto_rawDescGZIP() []byte { + file_metalstack_api_v2_tenant_member_proto_rawDescOnce.Do(func() { + file_metalstack_api_v2_tenant_member_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_metalstack_api_v2_tenant_member_proto_rawDesc), len(file_metalstack_api_v2_tenant_member_proto_rawDesc))) + }) + return file_metalstack_api_v2_tenant_member_proto_rawDescData +} + +var file_metalstack_api_v2_tenant_member_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_metalstack_api_v2_tenant_member_proto_goTypes = []any{ + (*TenantMember)(nil), // 0: metalstack.api.v2.TenantMember + (*TenantMemberServiceListRequest)(nil), // 1: metalstack.api.v2.TenantMemberServiceListRequest + (*TenantMemberQuery)(nil), // 2: metalstack.api.v2.TenantMemberQuery + (*TenantMemberServiceGetRequest)(nil), // 3: metalstack.api.v2.TenantMemberServiceGetRequest + (*TenantMemberServiceDeleteRequest)(nil), // 4: metalstack.api.v2.TenantMemberServiceDeleteRequest + (*TenantMemberServiceCreateRequest)(nil), // 5: metalstack.api.v2.TenantMemberServiceCreateRequest + (*TenantMemberServiceUpdateRequest)(nil), // 6: metalstack.api.v2.TenantMemberServiceUpdateRequest + (*TenantMemberServiceGetResponse)(nil), // 7: metalstack.api.v2.TenantMemberServiceGetResponse + (*TenantMemberServiceListResponse)(nil), // 8: metalstack.api.v2.TenantMemberServiceListResponse + (*TenantMemberServiceCreateResponse)(nil), // 9: metalstack.api.v2.TenantMemberServiceCreateResponse + (*TenantMemberServiceUpdateResponse)(nil), // 10: metalstack.api.v2.TenantMemberServiceUpdateResponse + (*TenantMemberServiceDeleteResponse)(nil), // 11: metalstack.api.v2.TenantMemberServiceDeleteResponse + (*TenantMemberServiceLeaveRequest)(nil), // 12: metalstack.api.v2.TenantMemberServiceLeaveRequest + (*TenantMemberServiceLeaveResponse)(nil), // 13: metalstack.api.v2.TenantMemberServiceLeaveResponse + (TenantRole)(0), // 14: metalstack.api.v2.TenantRole + (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp + (*Meta)(nil), // 16: metalstack.api.v2.Meta + (*UpdateMeta)(nil), // 17: metalstack.api.v2.UpdateMeta +} +var file_metalstack_api_v2_tenant_member_proto_depIdxs = []int32{ + 14, // 0: metalstack.api.v2.TenantMember.role:type_name -> metalstack.api.v2.TenantRole + 15, // 1: metalstack.api.v2.TenantMember.created_at:type_name -> google.protobuf.Timestamp + 16, // 2: metalstack.api.v2.TenantMember.meta:type_name -> metalstack.api.v2.Meta + 2, // 3: metalstack.api.v2.TenantMemberServiceListRequest.query:type_name -> metalstack.api.v2.TenantMemberQuery + 14, // 4: metalstack.api.v2.TenantMemberQuery.role:type_name -> metalstack.api.v2.TenantRole + 14, // 5: metalstack.api.v2.TenantMemberServiceCreateRequest.role:type_name -> metalstack.api.v2.TenantRole + 14, // 6: metalstack.api.v2.TenantMemberServiceUpdateRequest.role:type_name -> metalstack.api.v2.TenantRole + 17, // 7: metalstack.api.v2.TenantMemberServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta + 0, // 8: metalstack.api.v2.TenantMemberServiceGetResponse.member:type_name -> metalstack.api.v2.TenantMember + 0, // 9: metalstack.api.v2.TenantMemberServiceListResponse.members:type_name -> metalstack.api.v2.TenantMember + 0, // 10: metalstack.api.v2.TenantMemberServiceCreateResponse.member:type_name -> metalstack.api.v2.TenantMember + 0, // 11: metalstack.api.v2.TenantMemberServiceUpdateResponse.member:type_name -> metalstack.api.v2.TenantMember + 0, // 12: metalstack.api.v2.TenantMemberServiceDeleteResponse.member:type_name -> metalstack.api.v2.TenantMember + 0, // 13: metalstack.api.v2.TenantMemberServiceLeaveResponse.member:type_name -> metalstack.api.v2.TenantMember + 5, // 14: metalstack.api.v2.TenantMemberService.Create:input_type -> metalstack.api.v2.TenantMemberServiceCreateRequest + 1, // 15: metalstack.api.v2.TenantMemberService.List:input_type -> metalstack.api.v2.TenantMemberServiceListRequest + 3, // 16: metalstack.api.v2.TenantMemberService.Get:input_type -> metalstack.api.v2.TenantMemberServiceGetRequest + 6, // 17: metalstack.api.v2.TenantMemberService.Update:input_type -> metalstack.api.v2.TenantMemberServiceUpdateRequest + 4, // 18: metalstack.api.v2.TenantMemberService.Delete:input_type -> metalstack.api.v2.TenantMemberServiceDeleteRequest + 12, // 19: metalstack.api.v2.TenantMemberService.Leave:input_type -> metalstack.api.v2.TenantMemberServiceLeaveRequest + 9, // 20: metalstack.api.v2.TenantMemberService.Create:output_type -> metalstack.api.v2.TenantMemberServiceCreateResponse + 8, // 21: metalstack.api.v2.TenantMemberService.List:output_type -> metalstack.api.v2.TenantMemberServiceListResponse + 7, // 22: metalstack.api.v2.TenantMemberService.Get:output_type -> metalstack.api.v2.TenantMemberServiceGetResponse + 10, // 23: metalstack.api.v2.TenantMemberService.Update:output_type -> metalstack.api.v2.TenantMemberServiceUpdateResponse + 11, // 24: metalstack.api.v2.TenantMemberService.Delete:output_type -> metalstack.api.v2.TenantMemberServiceDeleteResponse + 13, // 25: metalstack.api.v2.TenantMemberService.Leave:output_type -> metalstack.api.v2.TenantMemberServiceLeaveResponse + 20, // [20:26] is the sub-list for method output_type + 14, // [14:20] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_metalstack_api_v2_tenant_member_proto_init() } +func file_metalstack_api_v2_tenant_member_proto_init() { + if File_metalstack_api_v2_tenant_member_proto != nil { + return + } + file_metalstack_api_v2_common_proto_init() + file_metalstack_api_v2_predefined_rules_proto_init() + file_metalstack_api_v2_tenant_member_proto_msgTypes[2].OneofWrappers = []any{} + file_metalstack_api_v2_tenant_member_proto_msgTypes[6].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_member_proto_rawDesc), len(file_metalstack_api_v2_tenant_member_proto_rawDesc)), + NumEnums: 0, + NumMessages: 14, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_metalstack_api_v2_tenant_member_proto_goTypes, + DependencyIndexes: file_metalstack_api_v2_tenant_member_proto_depIdxs, + MessageInfos: file_metalstack_api_v2_tenant_member_proto_msgTypes, + }.Build() + File_metalstack_api_v2_tenant_member_proto = out.File + file_metalstack_api_v2_tenant_member_proto_goTypes = nil + file_metalstack_api_v2_tenant_member_proto_depIdxs = nil +} diff --git a/go/permissions/servicepermissions.go b/go/permissions/servicepermissions.go index f6eaedd9..4efcc657 100755 --- a/go/permissions/servicepermissions.go +++ b/go/permissions/servicepermissions.go @@ -34,10 +34,12 @@ func GetServices() []string { "metalstack.api.v2.MethodService", "metalstack.api.v2.NetworkService", "metalstack.api.v2.PartitionService", + "metalstack.api.v2.ProjectMemberService", "metalstack.api.v2.ProjectService", "metalstack.api.v2.SizeImageConstraintService", "metalstack.api.v2.SizeReservationService", "metalstack.api.v2.SizeService", + "metalstack.api.v2.TenantMemberService", "metalstack.api.v2.TenantService", "metalstack.api.v2.TokenService", "metalstack.api.v2.UserService", @@ -90,7 +92,10 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.admin.v2.PartitionService/Create": {}, "/metalstack.admin.v2.PartitionService/Delete": {}, "/metalstack.admin.v2.PartitionService/Update": {}, + "/metalstack.admin.v2.ProjectService/AddMember": {}, + "/metalstack.admin.v2.ProjectService/Create": {}, "/metalstack.admin.v2.ProjectService/List": {}, + "/metalstack.admin.v2.ProjectService/RemoveMember": {}, "/metalstack.admin.v2.SizeImageConstraintService/Create": {}, "/metalstack.admin.v2.SizeImageConstraintService/Delete": {}, "/metalstack.admin.v2.SizeImageConstraintService/Get": {}, @@ -188,29 +193,35 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.AuditService/Get": {}, "/metalstack.api.v2.AuditService/List": {}, "/metalstack.api.v2.ProjectService/Create": {}, - "/metalstack.api.v2.TenantService/AddMember": {}, + "/metalstack.api.v2.TenantMemberService/Create": {}, + "/metalstack.api.v2.TenantMemberService/Delete": {}, + "/metalstack.api.v2.TenantMemberService/Get": {}, + "/metalstack.api.v2.TenantMemberService/List": {}, + "/metalstack.api.v2.TenantMemberService/Update": {}, "/metalstack.api.v2.TenantService/Delete": {}, "/metalstack.api.v2.TenantService/Get": {}, "/metalstack.api.v2.TenantService/Invite": {}, "/metalstack.api.v2.TenantService/InviteDelete": {}, "/metalstack.api.v2.TenantService/InvitesList": {}, - "/metalstack.api.v2.TenantService/RemoveMember": {}, "/metalstack.api.v2.TenantService/Update": {}, - "/metalstack.api.v2.TenantService/UpdateMember": {}, }, apiv2.TenantRole_TENANT_ROLE_EDITOR: map[string]struct{}{ - "/metalstack.api.v2.ProjectService/Create": {}, - "/metalstack.api.v2.TenantService/AddMember": {}, - "/metalstack.api.v2.TenantService/Delete": {}, - "/metalstack.api.v2.TenantService/Get": {}, - "/metalstack.api.v2.TenantService/Update": {}, + "/metalstack.api.v2.ProjectService/Create": {}, + "/metalstack.api.v2.TenantMemberService/Get": {}, + "/metalstack.api.v2.TenantMemberService/List": {}, + "/metalstack.api.v2.TenantService/Delete": {}, + "/metalstack.api.v2.TenantService/Get": {}, + "/metalstack.api.v2.TenantService/Update": {}, }, apiv2.TenantRole_TENANT_ROLE_VIEWER: map[string]struct{}{ - "/metalstack.api.v2.TenantService/Get": {}, - "/metalstack.api.v2.TenantService/Leave": {}, + "/metalstack.api.v2.TenantMemberService/Get": {}, + "/metalstack.api.v2.TenantMemberService/List": {}, + "/metalstack.api.v2.TenantService/Get": {}, }, apiv2.TenantRole_TENANT_ROLE_GUEST: map[string]struct{}{ - "/metalstack.api.v2.TenantService/Get": {}, + "/metalstack.api.v2.TenantMemberService/Get": {}, + "/metalstack.api.v2.TenantMemberService/List": {}, + "/metalstack.api.v2.TenantService/Get": {}, }, }, Project: Project{ @@ -233,15 +244,17 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.NetworkService/List": {}, "/metalstack.api.v2.NetworkService/ListBaseNetworks": {}, "/metalstack.api.v2.NetworkService/Update": {}, - "/metalstack.api.v2.ProjectService/AddMember": {}, + "/metalstack.api.v2.ProjectMemberService/Create": {}, + "/metalstack.api.v2.ProjectMemberService/Delete": {}, + "/metalstack.api.v2.ProjectMemberService/Get": {}, + "/metalstack.api.v2.ProjectMemberService/List": {}, + "/metalstack.api.v2.ProjectMemberService/Update": {}, "/metalstack.api.v2.ProjectService/Delete": {}, "/metalstack.api.v2.ProjectService/Get": {}, "/metalstack.api.v2.ProjectService/Invite": {}, "/metalstack.api.v2.ProjectService/InviteDelete": {}, "/metalstack.api.v2.ProjectService/InvitesList": {}, - "/metalstack.api.v2.ProjectService/RemoveMember": {}, "/metalstack.api.v2.ProjectService/Update": {}, - "/metalstack.api.v2.ProjectService/UpdateMember": {}, "/metalstack.api.v2.SizeReservationService/Get": {}, "/metalstack.api.v2.SizeReservationService/List": {}, }, @@ -264,6 +277,8 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.NetworkService/List": {}, "/metalstack.api.v2.NetworkService/ListBaseNetworks": {}, "/metalstack.api.v2.NetworkService/Update": {}, + "/metalstack.api.v2.ProjectMemberService/Get": {}, + "/metalstack.api.v2.ProjectMemberService/List": {}, "/metalstack.api.v2.ProjectService/Get": {}, "/metalstack.api.v2.ProjectService/Update": {}, "/metalstack.api.v2.SizeReservationService/Get": {}, @@ -277,8 +292,9 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.NetworkService/Get": {}, "/metalstack.api.v2.NetworkService/List": {}, "/metalstack.api.v2.NetworkService/ListBaseNetworks": {}, + "/metalstack.api.v2.ProjectMemberService/Get": {}, + "/metalstack.api.v2.ProjectMemberService/List": {}, "/metalstack.api.v2.ProjectService/Get": {}, - "/metalstack.api.v2.ProjectService/Leave": {}, "/metalstack.api.v2.SizeReservationService/Get": {}, "/metalstack.api.v2.SizeReservationService/List": {}, }, @@ -322,7 +338,10 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.admin.v2.PartitionService/Create": {}, "/metalstack.admin.v2.PartitionService/Delete": {}, "/metalstack.admin.v2.PartitionService/Update": {}, + "/metalstack.admin.v2.ProjectService/AddMember": {}, + "/metalstack.admin.v2.ProjectService/Create": {}, "/metalstack.admin.v2.ProjectService/List": {}, + "/metalstack.admin.v2.ProjectService/RemoveMember": {}, "/metalstack.admin.v2.SizeImageConstraintService/Create": {}, "/metalstack.admin.v2.SizeImageConstraintService/Delete": {}, "/metalstack.admin.v2.SizeImageConstraintService/Get": {}, @@ -385,7 +404,12 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.NetworkService/Update": {}, "/metalstack.api.v2.PartitionService/Get": {}, "/metalstack.api.v2.PartitionService/List": {}, - "/metalstack.api.v2.ProjectService/AddMember": {}, + "/metalstack.api.v2.ProjectMemberService/Create": {}, + "/metalstack.api.v2.ProjectMemberService/Delete": {}, + "/metalstack.api.v2.ProjectMemberService/Get": {}, + "/metalstack.api.v2.ProjectMemberService/Leave": {}, + "/metalstack.api.v2.ProjectMemberService/List": {}, + "/metalstack.api.v2.ProjectMemberService/Update": {}, "/metalstack.api.v2.ProjectService/Create": {}, "/metalstack.api.v2.ProjectService/Delete": {}, "/metalstack.api.v2.ProjectService/Get": {}, @@ -394,17 +418,19 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.ProjectService/InviteDelete": {}, "/metalstack.api.v2.ProjectService/InviteGet": {}, "/metalstack.api.v2.ProjectService/InvitesList": {}, - "/metalstack.api.v2.ProjectService/Leave": {}, "/metalstack.api.v2.ProjectService/List": {}, - "/metalstack.api.v2.ProjectService/RemoveMember": {}, "/metalstack.api.v2.ProjectService/Update": {}, - "/metalstack.api.v2.ProjectService/UpdateMember": {}, "/metalstack.api.v2.SizeImageConstraintService/Try": {}, "/metalstack.api.v2.SizeReservationService/Get": {}, "/metalstack.api.v2.SizeReservationService/List": {}, "/metalstack.api.v2.SizeService/Get": {}, "/metalstack.api.v2.SizeService/List": {}, - "/metalstack.api.v2.TenantService/AddMember": {}, + "/metalstack.api.v2.TenantMemberService/Create": {}, + "/metalstack.api.v2.TenantMemberService/Delete": {}, + "/metalstack.api.v2.TenantMemberService/Get": {}, + "/metalstack.api.v2.TenantMemberService/Leave": {}, + "/metalstack.api.v2.TenantMemberService/List": {}, + "/metalstack.api.v2.TenantMemberService/Update": {}, "/metalstack.api.v2.TenantService/Create": {}, "/metalstack.api.v2.TenantService/Delete": {}, "/metalstack.api.v2.TenantService/Get": {}, @@ -413,11 +439,8 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.TenantService/InviteDelete": {}, "/metalstack.api.v2.TenantService/InviteGet": {}, "/metalstack.api.v2.TenantService/InvitesList": {}, - "/metalstack.api.v2.TenantService/Leave": {}, "/metalstack.api.v2.TenantService/List": {}, - "/metalstack.api.v2.TenantService/RemoveMember": {}, "/metalstack.api.v2.TenantService/Update": {}, - "/metalstack.api.v2.TenantService/UpdateMember": {}, "/metalstack.api.v2.TokenService/Create": {}, "/metalstack.api.v2.TokenService/Get": {}, "/metalstack.api.v2.TokenService/List": {}, @@ -459,12 +482,14 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.MethodService/TokenScopedList": true, "/metalstack.api.v2.PartitionService/Get": true, "/metalstack.api.v2.PartitionService/List": true, + "/metalstack.api.v2.ProjectMemberService/Leave": true, "/metalstack.api.v2.ProjectService/InviteAccept": true, "/metalstack.api.v2.ProjectService/InviteGet": true, "/metalstack.api.v2.ProjectService/List": true, "/metalstack.api.v2.SizeImageConstraintService/Try": true, "/metalstack.api.v2.SizeService/Get": true, "/metalstack.api.v2.SizeService/List": true, + "/metalstack.api.v2.TenantMemberService/Leave": true, "/metalstack.api.v2.TenantService/Create": true, "/metalstack.api.v2.TenantService/InviteAccept": true, "/metalstack.api.v2.TenantService/InviteGet": true, @@ -513,7 +538,10 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.admin.v2.PartitionService/Create": true, "/metalstack.admin.v2.PartitionService/Delete": true, "/metalstack.admin.v2.PartitionService/Update": true, + "/metalstack.admin.v2.ProjectService/AddMember": true, + "/metalstack.admin.v2.ProjectService/Create": true, "/metalstack.admin.v2.ProjectService/List": true, + "/metalstack.admin.v2.ProjectService/RemoveMember": true, "/metalstack.admin.v2.SizeImageConstraintService/Create": true, "/metalstack.admin.v2.SizeImageConstraintService/Delete": true, "/metalstack.admin.v2.SizeImageConstraintService/Get": true, @@ -570,16 +598,17 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.AuditService/Get": true, "/metalstack.api.v2.AuditService/List": true, "/metalstack.api.v2.ProjectService/Create": true, - "/metalstack.api.v2.TenantService/AddMember": true, + "/metalstack.api.v2.TenantMemberService/Create": true, + "/metalstack.api.v2.TenantMemberService/Delete": true, + "/metalstack.api.v2.TenantMemberService/Get": true, + "/metalstack.api.v2.TenantMemberService/List": true, + "/metalstack.api.v2.TenantMemberService/Update": true, "/metalstack.api.v2.TenantService/Delete": true, "/metalstack.api.v2.TenantService/Get": true, "/metalstack.api.v2.TenantService/Invite": true, "/metalstack.api.v2.TenantService/InviteDelete": true, "/metalstack.api.v2.TenantService/InvitesList": true, - "/metalstack.api.v2.TenantService/Leave": true, - "/metalstack.api.v2.TenantService/RemoveMember": true, "/metalstack.api.v2.TenantService/Update": true, - "/metalstack.api.v2.TenantService/UpdateMember": true, }, Project: map[string]bool{ "/metalstack.api.v2.IPService/Create": true, @@ -600,16 +629,17 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.NetworkService/List": true, "/metalstack.api.v2.NetworkService/ListBaseNetworks": true, "/metalstack.api.v2.NetworkService/Update": true, - "/metalstack.api.v2.ProjectService/AddMember": true, + "/metalstack.api.v2.ProjectMemberService/Create": true, + "/metalstack.api.v2.ProjectMemberService/Delete": true, + "/metalstack.api.v2.ProjectMemberService/Get": true, + "/metalstack.api.v2.ProjectMemberService/List": true, + "/metalstack.api.v2.ProjectMemberService/Update": true, "/metalstack.api.v2.ProjectService/Delete": true, "/metalstack.api.v2.ProjectService/Get": true, "/metalstack.api.v2.ProjectService/Invite": true, "/metalstack.api.v2.ProjectService/InviteDelete": true, "/metalstack.api.v2.ProjectService/InvitesList": true, - "/metalstack.api.v2.ProjectService/Leave": true, - "/metalstack.api.v2.ProjectService/RemoveMember": true, "/metalstack.api.v2.ProjectService/Update": true, - "/metalstack.api.v2.ProjectService/UpdateMember": true, "/metalstack.api.v2.SizeReservationService/Get": true, "/metalstack.api.v2.SizeReservationService/List": true, }, @@ -650,7 +680,10 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.admin.v2.PartitionService/Create": true, "/metalstack.admin.v2.PartitionService/Delete": true, "/metalstack.admin.v2.PartitionService/Update": true, + "/metalstack.admin.v2.ProjectService/AddMember": true, + "/metalstack.admin.v2.ProjectService/Create": true, "/metalstack.admin.v2.ProjectService/List": false, + "/metalstack.admin.v2.ProjectService/RemoveMember": true, "/metalstack.admin.v2.SizeImageConstraintService/Create": true, "/metalstack.admin.v2.SizeImageConstraintService/Delete": true, "/metalstack.admin.v2.SizeImageConstraintService/Get": false, @@ -713,7 +746,12 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.NetworkService/Update": true, "/metalstack.api.v2.PartitionService/Get": false, "/metalstack.api.v2.PartitionService/List": false, - "/metalstack.api.v2.ProjectService/AddMember": true, + "/metalstack.api.v2.ProjectMemberService/Create": true, + "/metalstack.api.v2.ProjectMemberService/Delete": true, + "/metalstack.api.v2.ProjectMemberService/Get": false, + "/metalstack.api.v2.ProjectMemberService/Leave": true, + "/metalstack.api.v2.ProjectMemberService/List": false, + "/metalstack.api.v2.ProjectMemberService/Update": true, "/metalstack.api.v2.ProjectService/Create": true, "/metalstack.api.v2.ProjectService/Delete": true, "/metalstack.api.v2.ProjectService/Get": false, @@ -722,17 +760,19 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.ProjectService/InviteDelete": true, "/metalstack.api.v2.ProjectService/InviteGet": false, "/metalstack.api.v2.ProjectService/InvitesList": false, - "/metalstack.api.v2.ProjectService/Leave": true, "/metalstack.api.v2.ProjectService/List": false, - "/metalstack.api.v2.ProjectService/RemoveMember": true, "/metalstack.api.v2.ProjectService/Update": true, - "/metalstack.api.v2.ProjectService/UpdateMember": true, "/metalstack.api.v2.SizeImageConstraintService/Try": false, "/metalstack.api.v2.SizeReservationService/Get": false, "/metalstack.api.v2.SizeReservationService/List": false, "/metalstack.api.v2.SizeService/Get": false, "/metalstack.api.v2.SizeService/List": false, - "/metalstack.api.v2.TenantService/AddMember": true, + "/metalstack.api.v2.TenantMemberService/Create": true, + "/metalstack.api.v2.TenantMemberService/Delete": true, + "/metalstack.api.v2.TenantMemberService/Get": false, + "/metalstack.api.v2.TenantMemberService/Leave": true, + "/metalstack.api.v2.TenantMemberService/List": false, + "/metalstack.api.v2.TenantMemberService/Update": true, "/metalstack.api.v2.TenantService/Create": true, "/metalstack.api.v2.TenantService/Delete": true, "/metalstack.api.v2.TenantService/Get": false, @@ -741,11 +781,8 @@ func GetServicePermissions() *ServicePermissions { "/metalstack.api.v2.TenantService/InviteDelete": true, "/metalstack.api.v2.TenantService/InviteGet": false, "/metalstack.api.v2.TenantService/InvitesList": false, - "/metalstack.api.v2.TenantService/Leave": true, "/metalstack.api.v2.TenantService/List": false, - "/metalstack.api.v2.TenantService/RemoveMember": true, "/metalstack.api.v2.TenantService/Update": true, - "/metalstack.api.v2.TenantService/UpdateMember": true, "/metalstack.api.v2.TokenService/Create": true, "/metalstack.api.v2.TokenService/Get": true, "/metalstack.api.v2.TokenService/List": true, diff --git a/js/client.d.ts b/js/client.d.ts index 1e868edf..d0bfb698 100644 --- a/js/client.d.ts +++ b/js/client.d.ts @@ -27,10 +27,12 @@ import { MethodService as Apiv2MethodService } from "./metalstack/api/v2/method_ import { NetworkService as Apiv2NetworkService } from "./metalstack/api/v2/network_pb"; import { PartitionService as Apiv2PartitionService } from "./metalstack/api/v2/partition_pb"; import { ProjectService as Apiv2ProjectService } from "./metalstack/api/v2/project_pb"; +import { ProjectMemberService as Apiv2ProjectMemberService } from "./metalstack/api/v2/project_member_pb"; import { SizeService as Apiv2SizeService } from "./metalstack/api/v2/size_pb"; import { SizeImageConstraintService as Apiv2SizeImageConstraintService } from "./metalstack/api/v2/size_imageconstraint_pb"; import { SizeReservationService as Apiv2SizeReservationService } from "./metalstack/api/v2/size_reservation_pb"; import { TenantService as Apiv2TenantService } from "./metalstack/api/v2/tenant_pb"; +import { TenantMemberService as Apiv2TenantMemberService } from "./metalstack/api/v2/tenant_member_pb"; import { TokenService as Apiv2TokenService } from "./metalstack/api/v2/token_pb"; import { UserService as Apiv2UserService } from "./metalstack/api/v2/user_pb"; import { VersionService as Apiv2VersionService } from "./metalstack/api/v2/version_pb"; @@ -79,10 +81,12 @@ export interface Apiv2 { network(): ConnectClient; partition(): ConnectClient; project(): ConnectClient; + projectMember(): ConnectClient; size(): ConnectClient; sizeImageConstraint(): ConnectClient; sizeReservation(): ConnectClient; tenant(): ConnectClient; + tenantMember(): ConnectClient; token(): ConnectClient; user(): ConnectClient; version(): ConnectClient; diff --git a/js/client.js b/js/client.js index f04ea75e..3bb94b3b 100644 --- a/js/client.js +++ b/js/client.js @@ -37,10 +37,12 @@ import { MethodService as Apiv2MethodService } from "./metalstack/api/v2/method_ import { NetworkService as Apiv2NetworkService } from "./metalstack/api/v2/network_pb"; import { PartitionService as Apiv2PartitionService } from "./metalstack/api/v2/partition_pb"; import { ProjectService as Apiv2ProjectService } from "./metalstack/api/v2/project_pb"; +import { ProjectMemberService as Apiv2ProjectMemberService } from "./metalstack/api/v2/project_member_pb"; import { SizeService as Apiv2SizeService } from "./metalstack/api/v2/size_pb"; import { SizeImageConstraintService as Apiv2SizeImageConstraintService } from "./metalstack/api/v2/size_imageconstraint_pb"; import { SizeReservationService as Apiv2SizeReservationService } from "./metalstack/api/v2/size_reservation_pb"; import { TenantService as Apiv2TenantService } from "./metalstack/api/v2/tenant_pb"; +import { TenantMemberService as Apiv2TenantMemberService } from "./metalstack/api/v2/tenant_member_pb"; import { TokenService as Apiv2TokenService } from "./metalstack/api/v2/token_pb"; import { UserService as Apiv2UserService } from "./metalstack/api/v2/user_pb"; import { VersionService as Apiv2VersionService } from "./metalstack/api/v2/version_pb"; @@ -267,6 +269,12 @@ class Apiv2Impl { } return this._project; } + projectMember() { + if (!this._projectMember) { + this._projectMember = createClient(Apiv2ProjectMemberService, this.transport); + } + return this._projectMember; + } size() { if (!this._size) { this._size = createClient(Apiv2SizeService, this.transport); @@ -291,6 +299,12 @@ class Apiv2Impl { } return this._tenant; } + tenantMember() { + if (!this._tenantMember) { + this._tenantMember = createClient(Apiv2TenantMemberService, this.transport); + } + return this._tenantMember; + } token() { if (!this._token) { this._token = createClient(Apiv2TokenService, this.transport); diff --git a/js/client.ts b/js/client.ts index 1327b1ed..9a9f483f 100755 --- a/js/client.ts +++ b/js/client.ts @@ -61,6 +61,8 @@ import { PartitionService as Apiv2PartitionService } from "./metalstack/api/v2/p import { ProjectService as Apiv2ProjectService } from "./metalstack/api/v2/project_pb"; +import { ProjectMemberService as Apiv2ProjectMemberService } from "./metalstack/api/v2/project_member_pb"; + import { SizeService as Apiv2SizeService } from "./metalstack/api/v2/size_pb"; import { SizeImageConstraintService as Apiv2SizeImageConstraintService } from "./metalstack/api/v2/size_imageconstraint_pb"; @@ -69,6 +71,8 @@ import { SizeReservationService as Apiv2SizeReservationService } from "./metalst import { TenantService as Apiv2TenantService } from "./metalstack/api/v2/tenant_pb"; +import { TenantMemberService as Apiv2TenantMemberService } from "./metalstack/api/v2/tenant_member_pb"; + import { TokenService as Apiv2TokenService } from "./metalstack/api/v2/token_pb"; import { UserService as Apiv2UserService } from "./metalstack/api/v2/user_pb"; @@ -167,6 +171,8 @@ export interface Apiv2 { project(): ConnectClient; + projectMember(): ConnectClient; + size(): ConnectClient; sizeImageConstraint(): ConnectClient; @@ -175,6 +181,8 @@ export interface Apiv2 { tenant(): ConnectClient; + tenantMember(): ConnectClient; + token(): ConnectClient; user(): ConnectClient; @@ -460,6 +468,8 @@ class Apiv2Impl implements Apiv2 { private _project?: ConnectClient; + private _projectMember?: ConnectClient; + private _size?: ConnectClient; private _sizeImageConstraint?: ConnectClient; @@ -468,6 +478,8 @@ class Apiv2Impl implements Apiv2 { private _tenant?: ConnectClient; + private _tenantMember?: ConnectClient; + private _token?: ConnectClient; private _user?: ConnectClient; @@ -550,6 +562,13 @@ class Apiv2Impl implements Apiv2 { return this._project; } + projectMember(): ConnectClient { + if (!this._projectMember) { + this._projectMember = createClient(Apiv2ProjectMemberService, this.transport); + } + return this._projectMember; + } + size(): ConnectClient { if (!this._size) { this._size = createClient(Apiv2SizeService, this.transport); @@ -578,6 +597,13 @@ class Apiv2Impl implements Apiv2 { return this._tenant; } + tenantMember(): ConnectClient { + if (!this._tenantMember) { + this._tenantMember = createClient(Apiv2TenantMemberService, this.transport); + } + return this._tenantMember; + } + token(): ConnectClient { if (!this._token) { this._token = createClient(Apiv2TokenService, this.transport); diff --git a/js/metalstack/admin/v2/project_pb.d.ts b/js/metalstack/admin/v2/project_pb.d.ts index 47336ba7..c0779199 100644 --- a/js/metalstack/admin/v2/project_pb.d.ts +++ b/js/metalstack/admin/v2/project_pb.d.ts @@ -1,5 +1,7 @@ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import type { Labels, ProjectRole } from "../../api/v2/common_pb"; import type { Project, ProjectQuery } from "../../api/v2/project_pb"; +import type { ProjectMember } from "../../api/v2/project_member_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file metalstack/admin/v2/project.proto. @@ -41,12 +43,178 @@ export type ProjectServiceListResponse = Message<"metalstack.admin.v2.ProjectSer * Use `create(ProjectServiceListResponseSchema)` to create a new message. */ export declare const ProjectServiceListResponseSchema: GenMessage; +/** + * ProjectServiceCreateRequest is the request payload to Create a project. + * + * @generated from message metalstack.admin.v2.ProjectServiceCreateRequest + */ +export type ProjectServiceCreateRequest = Message<"metalstack.admin.v2.ProjectServiceCreateRequest"> & { + /** + * Login is the tenant of this project. + * + * @generated from field: string login = 1; + */ + login: string; + /** + * Name of this project, unique per tenant. + * + * @generated from field: string name = 2; + */ + name: string; + /** + * Description of this project. + * + * @generated from field: string description = 3; + */ + description: string; + /** + * Avatar URL of the project. + * + * @generated from field: optional string avatar_url = 4; + */ + avatarUrl?: string | undefined; + /** + * Labels on the project. + * + * @generated from field: metalstack.api.v2.Labels labels = 5; + */ + labels?: Labels | undefined; + /** + * Project is the uuid of the project. + * + * @generated from field: optional string project = 6; + */ + project?: string | undefined; +}; +/** + * Describes the message metalstack.admin.v2.ProjectServiceCreateRequest. + * Use `create(ProjectServiceCreateRequestSchema)` to create a new message. + */ +export declare const ProjectServiceCreateRequestSchema: GenMessage; +/** + * ProjectServiceCreateResponse is the response payload for creating a project. + * + * @generated from message metalstack.admin.v2.ProjectServiceCreateResponse + */ +export type ProjectServiceCreateResponse = Message<"metalstack.admin.v2.ProjectServiceCreateResponse"> & { + /** + * Project contains the created project. + * + * @generated from field: metalstack.api.v2.Project project = 1; + */ + project?: Project | undefined; +}; +/** + * Describes the message metalstack.admin.v2.ProjectServiceCreateResponse. + * Use `create(ProjectServiceCreateResponseSchema)` to create a new message. + */ +export declare const ProjectServiceCreateResponseSchema: GenMessage; +/** + * ProjectServiceAddMemberRequest is the request payload for adding a member to a tenant. + * + * @generated from message metalstack.admin.v2.ProjectServiceAddMemberRequest + */ +export type ProjectServiceAddMemberRequest = Message<"metalstack.admin.v2.ProjectServiceAddMemberRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + /** + * Login of the member to add. + * + * @generated from field: string member = 2; + */ + member: string; + /** + * Role to assign to the new member. + * + * @generated from field: metalstack.api.v2.ProjectRole role = 3; + */ + role: ProjectRole; +}; +/** + * Describes the message metalstack.admin.v2.ProjectServiceAddMemberRequest. + * Use `create(ProjectServiceAddMemberRequestSchema)` to create a new message. + */ +export declare const ProjectServiceAddMemberRequestSchema: GenMessage; +/** + * ProjectServiceAddMemberResponse is the response payload for the add member request. + * + * @generated from message metalstack.admin.v2.ProjectServiceAddMemberResponse + */ +export type ProjectServiceAddMemberResponse = Message<"metalstack.admin.v2.ProjectServiceAddMemberResponse"> & { + /** + * Member is the added project member. + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; +/** + * Describes the message metalstack.admin.v2.ProjectServiceAddMemberResponse. + * Use `create(ProjectServiceAddMemberResponseSchema)` to create a new message. + */ +export declare const ProjectServiceAddMemberResponseSchema: GenMessage; +/** + * ProjectServiceRemoveMemberRequest is the request payload for removing a member from a project. + * + * @generated from message metalstack.admin.v2.ProjectServiceRemoveMemberRequest + */ +export type ProjectServiceRemoveMemberRequest = Message<"metalstack.admin.v2.ProjectServiceRemoveMemberRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + /** + * Login of the member to remove. + * + * @generated from field: string member = 2; + */ + member: string; +}; +/** + * Describes the message metalstack.admin.v2.ProjectServiceRemoveMemberRequest. + * Use `create(ProjectServiceRemoveMemberRequestSchema)` to create a new message. + */ +export declare const ProjectServiceRemoveMemberRequestSchema: GenMessage; +/** + * ProjectServiceRemoveMemberResponse is the response payload for the remove member request. + * + * @generated from message metalstack.admin.v2.ProjectServiceRemoveMemberResponse + */ +export type ProjectServiceRemoveMemberResponse = Message<"metalstack.admin.v2.ProjectServiceRemoveMemberResponse"> & { + /** + * Member is the removed project member. + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; +/** + * Describes the message metalstack.admin.v2.ProjectServiceRemoveMemberResponse. + * Use `create(ProjectServiceRemoveMemberResponseSchema)` to create a new message. + */ +export declare const ProjectServiceRemoveMemberResponseSchema: GenMessage; /** * ProjectService provides project management operations. * * @generated from service metalstack.admin.v2.ProjectService */ export declare const ProjectService: GenService<{ + /** + * Creates a new project. + * + * @generated from rpc metalstack.admin.v2.ProjectService.Create + */ + create: { + methodKind: "unary"; + input: typeof ProjectServiceCreateRequestSchema; + output: typeof ProjectServiceCreateResponseSchema; + }; /** * Returns the list of projects matching the filter criteria. * @@ -57,4 +225,24 @@ export declare const ProjectService: GenService<{ input: typeof ProjectServiceListRequestSchema; output: typeof ProjectServiceListResponseSchema; }; + /** + * Add a member to a project. + * + * @generated from rpc metalstack.admin.v2.ProjectService.AddMember + */ + addMember: { + methodKind: "unary"; + input: typeof ProjectServiceAddMemberRequestSchema; + output: typeof ProjectServiceAddMemberResponseSchema; + }; + /** + * RemoveMember removes a member from a project. + * + * @generated from rpc metalstack.admin.v2.ProjectService.RemoveMember + */ + removeMember: { + methodKind: "unary"; + input: typeof ProjectServiceRemoveMemberRequestSchema; + output: typeof ProjectServiceRemoveMemberResponseSchema; + }; }>; diff --git a/js/metalstack/admin/v2/project_pb.js b/js/metalstack/admin/v2/project_pb.js index 93d57d0b..e0e1d028 100644 --- a/js/metalstack/admin/v2/project_pb.js +++ b/js/metalstack/admin/v2/project_pb.js @@ -2,12 +2,15 @@ // @generated from file metalstack/admin/v2/project.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../../buf/validate/validate_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 { file_metalstack_api_v2_project } from "../../api/v2/project_pb"; +import { file_metalstack_api_v2_project_member } from "../../api/v2/project_member_pb"; /** * Describes the file metalstack/admin/v2/project.proto. */ -export const file_metalstack_admin_v2_project = /*@__PURE__*/ fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL3Byb2plY3QucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiWgoZUHJvamVjdFNlcnZpY2VMaXN0UmVxdWVzdBIzCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RRdWVyeUgAiAEBQggKBl9xdWVyeSJKChpQcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZRIsCghwcm9qZWN0cxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QyhQEKDlByb2plY3RTZXJ2aWNlEnMKBExpc3QSLi5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLy5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgCQtABChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkIMUHJvamVjdFByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_metalstack_api_v2_common, file_metalstack_api_v2_project]); +export const file_metalstack_admin_v2_project = /*@__PURE__*/ fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL3Byb2plY3QucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiWgoZUHJvamVjdFNlcnZpY2VMaXN0UmVxdWVzdBIzCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RRdWVyeUgAiAEBQggKBl9xdWVyeSJKChpQcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZRIsCghwcm9qZWN0cxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QiggIKG1Byb2plY3RTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgbAs66xAgESGQoEbmFtZRgCIAEoCUILukgIcgbAs66xAgESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBEiQKCmF2YXRhcl91cmwYBCABKAlCC7pICHIG4LOusQIBSACIAQESKQoGbGFiZWxzGAUgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAGIAQFCDQoLX2F2YXRhcl91cmxCCgoIX3Byb2plY3QiSwocUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCKQAQoeUHJvamVjdFNlcnZpY2VBZGRNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgESNgoEcm9sZRgDIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RSb2xlQgi6SAWCAQIQASJTCh9Qcm9qZWN0U2VydmljZUFkZE1lbWJlclJlc3BvbnNlEjAKBm1lbWJlchgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiWwohUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgEiVgoiUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZRIwCgZtZW1iZXIYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyMpAECg5Qcm9qZWN0U2VydmljZRJ4CgZDcmVhdGUSMC5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlQ3JlYXRlUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEnMKBExpc3QSLi5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLy5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgCEoEBCglBZGRNZW1iZXISMy5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBo0Lm1ldGFsc3RhY2suYWRtaW4udjIuUHJvamVjdFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZSIJ0vMYAQHg8xgBEooBCgxSZW1vdmVNZW1iZXISNi5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo3Lm1ldGFsc3RhY2suYWRtaW4udjIuUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIJ0vMYAQHg8xgBQtABChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkIMUHJvamVjdFByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_project, file_metalstack_api_v2_project_member]); /** * Describes the message metalstack.admin.v2.ProjectServiceListRequest. * Use `create(ProjectServiceListRequestSchema)` to create a new message. @@ -18,6 +21,36 @@ export const ProjectServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_me * Use `create(ProjectServiceListResponseSchema)` to create a new message. */ export const ProjectServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_project, 1); +/** + * Describes the message metalstack.admin.v2.ProjectServiceCreateRequest. + * Use `create(ProjectServiceCreateRequestSchema)` to create a new message. + */ +export const ProjectServiceCreateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_project, 2); +/** + * Describes the message metalstack.admin.v2.ProjectServiceCreateResponse. + * Use `create(ProjectServiceCreateResponseSchema)` to create a new message. + */ +export const ProjectServiceCreateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_project, 3); +/** + * Describes the message metalstack.admin.v2.ProjectServiceAddMemberRequest. + * Use `create(ProjectServiceAddMemberRequestSchema)` to create a new message. + */ +export const ProjectServiceAddMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_project, 4); +/** + * Describes the message metalstack.admin.v2.ProjectServiceAddMemberResponse. + * Use `create(ProjectServiceAddMemberResponseSchema)` to create a new message. + */ +export const ProjectServiceAddMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_project, 5); +/** + * Describes the message metalstack.admin.v2.ProjectServiceRemoveMemberRequest. + * Use `create(ProjectServiceRemoveMemberRequestSchema)` to create a new message. + */ +export const ProjectServiceRemoveMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_project, 6); +/** + * Describes the message metalstack.admin.v2.ProjectServiceRemoveMemberResponse. + * Use `create(ProjectServiceRemoveMemberResponseSchema)` to create a new message. + */ +export const ProjectServiceRemoveMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_project, 7); /** * ProjectService provides project management operations. * diff --git a/js/metalstack/admin/v2/project_pb.ts b/js/metalstack/admin/v2/project_pb.ts index 591b3a13..794d13d7 100644 --- a/js/metalstack/admin/v2/project_pb.ts +++ b/js/metalstack/admin/v2/project_pb.ts @@ -4,16 +4,21 @@ 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, ProjectRole } 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 { Project, ProjectQuery } from "../../api/v2/project_pb"; import { file_metalstack_api_v2_project } from "../../api/v2/project_pb"; +import type { ProjectMember } from "../../api/v2/project_member_pb"; +import { file_metalstack_api_v2_project_member } from "../../api/v2/project_member_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file metalstack/admin/v2/project.proto. */ export const file_metalstack_admin_v2_project: GenFile = /*@__PURE__*/ - fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL3Byb2plY3QucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiWgoZUHJvamVjdFNlcnZpY2VMaXN0UmVxdWVzdBIzCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RRdWVyeUgAiAEBQggKBl9xdWVyeSJKChpQcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZRIsCghwcm9qZWN0cxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QyhQEKDlByb2plY3RTZXJ2aWNlEnMKBExpc3QSLi5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLy5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgCQtABChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkIMUHJvamVjdFByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_metalstack_api_v2_common, file_metalstack_api_v2_project]); + fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL3Byb2plY3QucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiWgoZUHJvamVjdFNlcnZpY2VMaXN0UmVxdWVzdBIzCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RRdWVyeUgAiAEBQggKBl9xdWVyeSJKChpQcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZRIsCghwcm9qZWN0cxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QiggIKG1Byb2plY3RTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgbAs66xAgESGQoEbmFtZRgCIAEoCUILukgIcgbAs66xAgESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBEiQKCmF2YXRhcl91cmwYBCABKAlCC7pICHIG4LOusQIBSACIAQESKQoGbGFiZWxzGAUgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAGIAQFCDQoLX2F2YXRhcl91cmxCCgoIX3Byb2plY3QiSwocUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCKQAQoeUHJvamVjdFNlcnZpY2VBZGRNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgESNgoEcm9sZRgDIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RSb2xlQgi6SAWCAQIQASJTCh9Qcm9qZWN0U2VydmljZUFkZE1lbWJlclJlc3BvbnNlEjAKBm1lbWJlchgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiWwohUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgEiVgoiUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZRIwCgZtZW1iZXIYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyMpAECg5Qcm9qZWN0U2VydmljZRJ4CgZDcmVhdGUSMC5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlQ3JlYXRlUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEnMKBExpc3QSLi5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLy5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgCEoEBCglBZGRNZW1iZXISMy5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBo0Lm1ldGFsc3RhY2suYWRtaW4udjIuUHJvamVjdFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZSIJ0vMYAQHg8xgBEooBCgxSZW1vdmVNZW1iZXISNi5tZXRhbHN0YWNrLmFkbWluLnYyLlByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo3Lm1ldGFsc3RhY2suYWRtaW4udjIuUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIJ0vMYAQHg8xgBQtABChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkIMUHJvamVjdFByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_project, file_metalstack_api_v2_project_member]); /** * ProjectServiceListRequest is the request payload for listing projects. @@ -57,12 +62,204 @@ export type ProjectServiceListResponse = Message<"metalstack.admin.v2.ProjectSer export const ProjectServiceListResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_project, 1); +/** + * ProjectServiceCreateRequest is the request payload to Create a project. + * + * @generated from message metalstack.admin.v2.ProjectServiceCreateRequest + */ +export type ProjectServiceCreateRequest = Message<"metalstack.admin.v2.ProjectServiceCreateRequest"> & { + /** + * Login is the tenant of this project. + * + * @generated from field: string login = 1; + */ + login: string; + + /** + * Name of this project, unique per tenant. + * + * @generated from field: string name = 2; + */ + name: string; + + /** + * Description of this project. + * + * @generated from field: string description = 3; + */ + description: string; + + /** + * Avatar URL of the project. + * + * @generated from field: optional string avatar_url = 4; + */ + avatarUrl?: string | undefined; + + /** + * Labels on the project. + * + * @generated from field: metalstack.api.v2.Labels labels = 5; + */ + labels?: Labels | undefined; + + /** + * Project is the uuid of the project. + * + * @generated from field: optional string project = 6; + */ + project?: string | undefined; +}; + +/** + * Describes the message metalstack.admin.v2.ProjectServiceCreateRequest. + * Use `create(ProjectServiceCreateRequestSchema)` to create a new message. + */ +export const ProjectServiceCreateRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_admin_v2_project, 2); + +/** + * ProjectServiceCreateResponse is the response payload for creating a project. + * + * @generated from message metalstack.admin.v2.ProjectServiceCreateResponse + */ +export type ProjectServiceCreateResponse = Message<"metalstack.admin.v2.ProjectServiceCreateResponse"> & { + /** + * Project contains the created project. + * + * @generated from field: metalstack.api.v2.Project project = 1; + */ + project?: Project | undefined; +}; + +/** + * Describes the message metalstack.admin.v2.ProjectServiceCreateResponse. + * Use `create(ProjectServiceCreateResponseSchema)` to create a new message. + */ +export const ProjectServiceCreateResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_admin_v2_project, 3); + +/** + * ProjectServiceAddMemberRequest is the request payload for adding a member to a tenant. + * + * @generated from message metalstack.admin.v2.ProjectServiceAddMemberRequest + */ +export type ProjectServiceAddMemberRequest = Message<"metalstack.admin.v2.ProjectServiceAddMemberRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + + /** + * Login of the member to add. + * + * @generated from field: string member = 2; + */ + member: string; + + /** + * Role to assign to the new member. + * + * @generated from field: metalstack.api.v2.ProjectRole role = 3; + */ + role: ProjectRole; +}; + +/** + * Describes the message metalstack.admin.v2.ProjectServiceAddMemberRequest. + * Use `create(ProjectServiceAddMemberRequestSchema)` to create a new message. + */ +export const ProjectServiceAddMemberRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_admin_v2_project, 4); + +/** + * ProjectServiceAddMemberResponse is the response payload for the add member request. + * + * @generated from message metalstack.admin.v2.ProjectServiceAddMemberResponse + */ +export type ProjectServiceAddMemberResponse = Message<"metalstack.admin.v2.ProjectServiceAddMemberResponse"> & { + /** + * Member is the added project member. + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; + +/** + * Describes the message metalstack.admin.v2.ProjectServiceAddMemberResponse. + * Use `create(ProjectServiceAddMemberResponseSchema)` to create a new message. + */ +export const ProjectServiceAddMemberResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_admin_v2_project, 5); + +/** + * ProjectServiceRemoveMemberRequest is the request payload for removing a member from a project. + * + * @generated from message metalstack.admin.v2.ProjectServiceRemoveMemberRequest + */ +export type ProjectServiceRemoveMemberRequest = Message<"metalstack.admin.v2.ProjectServiceRemoveMemberRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + + /** + * Login of the member to remove. + * + * @generated from field: string member = 2; + */ + member: string; +}; + +/** + * Describes the message metalstack.admin.v2.ProjectServiceRemoveMemberRequest. + * Use `create(ProjectServiceRemoveMemberRequestSchema)` to create a new message. + */ +export const ProjectServiceRemoveMemberRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_admin_v2_project, 6); + +/** + * ProjectServiceRemoveMemberResponse is the response payload for the remove member request. + * + * @generated from message metalstack.admin.v2.ProjectServiceRemoveMemberResponse + */ +export type ProjectServiceRemoveMemberResponse = Message<"metalstack.admin.v2.ProjectServiceRemoveMemberResponse"> & { + /** + * Member is the removed project member. + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; + +/** + * Describes the message metalstack.admin.v2.ProjectServiceRemoveMemberResponse. + * Use `create(ProjectServiceRemoveMemberResponseSchema)` to create a new message. + */ +export const ProjectServiceRemoveMemberResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_admin_v2_project, 7); + /** * ProjectService provides project management operations. * * @generated from service metalstack.admin.v2.ProjectService */ export const ProjectService: GenService<{ + /** + * Creates a new project. + * + * @generated from rpc metalstack.admin.v2.ProjectService.Create + */ + create: { + methodKind: "unary"; + input: typeof ProjectServiceCreateRequestSchema; + output: typeof ProjectServiceCreateResponseSchema; + }, /** * Returns the list of projects matching the filter criteria. * @@ -73,6 +270,26 @@ export const ProjectService: GenService<{ input: typeof ProjectServiceListRequestSchema; output: typeof ProjectServiceListResponseSchema; }, + /** + * Add a member to a project. + * + * @generated from rpc metalstack.admin.v2.ProjectService.AddMember + */ + addMember: { + methodKind: "unary"; + input: typeof ProjectServiceAddMemberRequestSchema; + output: typeof ProjectServiceAddMemberResponseSchema; + }, + /** + * RemoveMember removes a member from a project. + * + * @generated from rpc metalstack.admin.v2.ProjectService.RemoveMember + */ + removeMember: { + methodKind: "unary"; + input: typeof ProjectServiceRemoveMemberRequestSchema; + output: typeof ProjectServiceRemoveMemberResponseSchema; + }, }> = /*@__PURE__*/ serviceDesc(file_metalstack_admin_v2_project, 0); diff --git a/js/metalstack/admin/v2/tenant_pb.d.ts b/js/metalstack/admin/v2/tenant_pb.d.ts index e6eefd20..109de883 100644 --- a/js/metalstack/admin/v2/tenant_pb.d.ts +++ b/js/metalstack/admin/v2/tenant_pb.d.ts @@ -1,6 +1,7 @@ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; import type { Labels, TenantRole } from "../../api/v2/common_pb"; -import type { Tenant, TenantMember, TenantQuery } from "../../api/v2/tenant_pb"; +import type { Tenant, TenantQuery } from "../../api/v2/tenant_pb"; +import type { TenantMember } from "../../api/v2/tenant_member_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file metalstack/admin/v2/tenant.proto. @@ -42,6 +43,12 @@ export type TenantServiceCreateRequest = Message<"metalstack.admin.v2.TenantServ * @generated from field: metalstack.api.v2.Labels labels = 5; */ labels?: Labels | undefined; + /** + * Login of the tenant. + * + * @generated from field: optional string login = 6; + */ + login?: string | undefined; }; /** * Describes the message metalstack.admin.v2.TenantServiceCreateRequest. @@ -145,11 +152,11 @@ export declare const TenantServiceAddMemberRequestSchema: GenMessage & { /** - * TenantMember is the added tenant member. + * Member is the added tenant member. * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; + * @generated from field: metalstack.api.v2.TenantMember member = 1; */ - tenantMember?: TenantMember | undefined; + member?: TenantMember | undefined; }; /** * Describes the message metalstack.admin.v2.TenantServiceAddMemberResponse. @@ -187,11 +194,11 @@ export declare const TenantServiceRemoveMemberRequestSchema: GenMessage & { /** - * TenantMember is the removed tenant member. + * Member is the removed tenant member. * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; + * @generated from field: metalstack.api.v2.TenantMember member = 1; */ - tenantMember?: TenantMember | undefined; + member?: TenantMember | undefined; }; /** * Describes the message metalstack.admin.v2.TenantServiceRemoveMemberResponse. diff --git a/js/metalstack/admin/v2/tenant_pb.js b/js/metalstack/admin/v2/tenant_pb.js index 2590df81..628af6d4 100644 --- a/js/metalstack/admin/v2/tenant_pb.js +++ b/js/metalstack/admin/v2/tenant_pb.js @@ -6,10 +6,11 @@ import { file_buf_validate_validate } from "../../../buf/validate/validate_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 { file_metalstack_api_v2_tenant } from "../../api/v2/tenant_pb"; +import { file_metalstack_api_v2_tenant_member } from "../../api/v2/tenant_member_pb"; /** * Describes the file metalstack/admin/v2/tenant.proto. */ -export const file_metalstack_admin_v2_tenant = /*@__PURE__*/ fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3RlbmFudC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiL1AQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgaQtK6xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0IOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsIkgKG1RlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSQoYVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Ei0KBXF1ZXJ5GAEgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50UXVlcnkibQoZVGVuYW50U2VydmljZUxpc3RSZXNwb25zZRIqCgd0ZW5hbnRzGAEgAygLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50EhYKCW5leHRfcGFnZRgCIAEoBEgAiAEBQgwKCl9uZXh0X3BhZ2UikAEKHVRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXF1ZXN0EhsKBnRlbmFudBgBIAEoCUILukgIcgaQtK6xAgESGwoGbWVtYmVyGAIgASgJQgu6SAhyBpC0rrECARI1CgRyb2xlGAMgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEiWAoeVGVuYW50U2VydmljZUFkZE1lbWJlclJlc3BvbnNlEjYKDXRlbmFudF9tZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIiXAogVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlcXVlc3QSGwoGdGVuYW50GAEgASgJQgu6SAhyBpC0rrECARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBIlsKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZRI2Cg10ZW5hbnRfbWVtYmVyGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyMoYECg1UZW5hbnRTZXJ2aWNlEnYKBkNyZWF0ZRIvLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QaMC5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEnEKBExpc3QSLS5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYARJ/CglBZGRNZW1iZXISMi5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXF1ZXN0GjMubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlQWRkTWVtYmVyUmVzcG9uc2UiCdLzGAEB4PMYARKIAQoMUmVtb3ZlTWVtYmVyEjUubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo2Lm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlc3BvbnNlIgnS8xgBAeDzGAFCzwEKF2NvbS5tZXRhbHN0YWNrLmFkbWluLnYyQgtUZW5hbnRQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [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("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3RlbmFudC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiKgAgoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxIfCgVsb2dpbhgGIAEoCUILukgIcgaQtK6xAgFIA4gBAUIOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsQggKBl9sb2dpbiJIChtUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkkKGFRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFF1ZXJ5Im0KGVRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2USKgoHdGVuYW50cxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudBIWCgluZXh0X3BhZ2UYAiABKARIAIgBAUIMCgpfbmV4dF9wYWdlIpABCh1UZW5hbnRTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBIbCgZ0ZW5hbnQYASABKAlCC7pICHIGkLSusQIBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgDIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIlEKHlRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZRIvCgZtZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIiXAogVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlcXVlc3QSGwoGdGVuYW50GAEgASgJQgu6SAhyBpC0rrECARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBIlQKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZRIvCgZtZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIyhgQKDVRlbmFudFNlcnZpY2USdgoGQ3JlYXRlEi8ubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBowLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlIgnS8xgBAeDzGAEScQoETGlzdBItLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgBEn8KCUFkZE1lbWJlchIyLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUFkZE1lbWJlclJlcXVlc3QaMy5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZSIJ0vMYAQHg8xgBEogBCgxSZW1vdmVNZW1iZXISNS5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0GjYubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVzcG9uc2UiCdLzGAEB4PMYAULPAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCC1RlbmFudFByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_tenant, file_metalstack_api_v2_tenant_member]); /** * 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 ce08a058..dab8da90 100644 --- a/js/metalstack/admin/v2/tenant_pb.ts +++ b/js/metalstack/admin/v2/tenant_pb.ts @@ -8,15 +8,17 @@ import { file_buf_validate_validate } from "../../../buf/validate/validate_pb"; import type { Labels, TenantRole } 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, TenantMember, TenantQuery } 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 { TenantMember } from "../../api/v2/tenant_member_pb"; +import { file_metalstack_api_v2_tenant_member } from "../../api/v2/tenant_member_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file metalstack/admin/v2/tenant.proto. */ export const file_metalstack_admin_v2_tenant: GenFile = /*@__PURE__*/ - fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3RlbmFudC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiL1AQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgaQtK6xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0IOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsIkgKG1RlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSQoYVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Ei0KBXF1ZXJ5GAEgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50UXVlcnkibQoZVGVuYW50U2VydmljZUxpc3RSZXNwb25zZRIqCgd0ZW5hbnRzGAEgAygLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50EhYKCW5leHRfcGFnZRgCIAEoBEgAiAEBQgwKCl9uZXh0X3BhZ2UikAEKHVRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXF1ZXN0EhsKBnRlbmFudBgBIAEoCUILukgIcgaQtK6xAgESGwoGbWVtYmVyGAIgASgJQgu6SAhyBpC0rrECARI1CgRyb2xlGAMgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEiWAoeVGVuYW50U2VydmljZUFkZE1lbWJlclJlc3BvbnNlEjYKDXRlbmFudF9tZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIiXAogVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlcXVlc3QSGwoGdGVuYW50GAEgASgJQgu6SAhyBpC0rrECARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBIlsKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZRI2Cg10ZW5hbnRfbWVtYmVyGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyMoYECg1UZW5hbnRTZXJ2aWNlEnYKBkNyZWF0ZRIvLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QaMC5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEnEKBExpc3QSLS5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYARJ/CglBZGRNZW1iZXISMi5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXF1ZXN0GjMubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlQWRkTWVtYmVyUmVzcG9uc2UiCdLzGAEB4PMYARKIAQoMUmVtb3ZlTWVtYmVyEjUubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBo2Lm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlc3BvbnNlIgnS8xgBAeDzGAFCzwEKF2NvbS5tZXRhbHN0YWNrLmFkbWluLnYyQgtUZW5hbnRQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_tenant]); + fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3RlbmFudC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiKgAgoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxIfCgVsb2dpbhgGIAEoCUILukgIcgaQtK6xAgFIA4gBAUIOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsQggKBl9sb2dpbiJIChtUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkkKGFRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFF1ZXJ5Im0KGVRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2USKgoHdGVuYW50cxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudBIWCgluZXh0X3BhZ2UYAiABKARIAIgBAUIMCgpfbmV4dF9wYWdlIpABCh1UZW5hbnRTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBIbCgZ0ZW5hbnQYASABKAlCC7pICHIGkLSusQIBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgDIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIlEKHlRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZRIvCgZtZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIiXAogVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlcXVlc3QSGwoGdGVuYW50GAEgASgJQgu6SAhyBpC0rrECARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBIlQKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZRIvCgZtZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIyhgQKDVRlbmFudFNlcnZpY2USdgoGQ3JlYXRlEi8ubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBowLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlIgnS8xgBAeDzGAEScQoETGlzdBItLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgBEn8KCUFkZE1lbWJlchIyLm1ldGFsc3RhY2suYWRtaW4udjIuVGVuYW50U2VydmljZUFkZE1lbWJlclJlcXVlc3QaMy5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZSIJ0vMYAQHg8xgBEogBCgxSZW1vdmVNZW1iZXISNS5tZXRhbHN0YWNrLmFkbWluLnYyLlRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0GjYubWV0YWxzdGFjay5hZG1pbi52Mi5UZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVzcG9uc2UiCdLzGAEB4PMYAULPAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCC1RlbmFudFByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_tenant, file_metalstack_api_v2_tenant_member]); /** * TenantServiceCreateRequest is the request payload for creating a tenant. @@ -58,6 +60,13 @@ export type TenantServiceCreateRequest = Message<"metalstack.admin.v2.TenantServ * @generated from field: metalstack.api.v2.Labels labels = 5; */ labels?: Labels | undefined; + + /** + * Login of the tenant. + * + * @generated from field: optional string login = 6; + */ + login?: string | undefined; }; /** @@ -179,11 +188,11 @@ export const TenantServiceAddMemberRequestSchema: GenMessage & { /** - * TenantMember is the added tenant member. + * Member is the added tenant member. * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; + * @generated from field: metalstack.api.v2.TenantMember member = 1; */ - tenantMember?: TenantMember | undefined; + member?: TenantMember | undefined; }; /** @@ -228,11 +237,11 @@ export const TenantServiceRemoveMemberRequestSchema: GenMessage & { /** - * TenantMember is the removed tenant member. + * Member is the removed tenant member. * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; + * @generated from field: metalstack.api.v2.TenantMember member = 1; */ - tenantMember?: TenantMember | undefined; + member?: TenantMember | undefined; }; /** diff --git a/js/metalstack/api/v2/project_member_pb.d.ts b/js/metalstack/api/v2/project_member_pb.d.ts new file mode 100644 index 00000000..09776a91 --- /dev/null +++ b/js/metalstack/api/v2/project_member_pb.d.ts @@ -0,0 +1,407 @@ +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import type { Meta, ProjectRole, UpdateMeta } from "./common_pb"; +import type { Message } from "@bufbuild/protobuf"; +/** + * Describes the file metalstack/api/v2/project_member.proto. + */ +export declare const file_metalstack_api_v2_project_member: GenFile; +/** + * ProjectMember defines a user that participates in a project. + * + * @generated from message metalstack.api.v2.ProjectMember + */ +export type ProjectMember = Message<"metalstack.api.v2.ProjectMember"> & { + /** + * Member is the user id of the member. + * + * @generated from field: string member = 1; + */ + member: string; + /** + * Role is the role of the member. + * + * @generated from field: metalstack.api.v2.ProjectRole role = 2; + */ + role: ProjectRole; + /** + * InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. + * This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. + * Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members. + * + * @generated from field: bool inherited_membership = 3; + */ + inheritedMembership: boolean; + /** + * CreatedAt the date when the member was added to the project. + * + * @generated from field: google.protobuf.Timestamp created_at = 4; + */ + createdAt?: Timestamp | undefined; + /** + * Meta for this project member. + * + * @generated from field: metalstack.api.v2.Meta meta = 5; + */ + meta?: Meta | undefined; +}; +/** + * Describes the message metalstack.api.v2.ProjectMember. + * Use `create(ProjectMemberSchema)` to create a new message. + */ +export declare const ProjectMemberSchema: GenMessage; +/** + * ProjectQuery is used to search projects. + * + * @generated from message metalstack.api.v2.ProjectMemberQuery + */ +export type ProjectMemberQuery = Message<"metalstack.api.v2.ProjectMemberQuery"> & { + /** + * Member is the user id of the member. + * + * @generated from field: optional string member = 1; + */ + member?: string | undefined; + /** + * Role is the role of the member. + * + * @generated from field: optional metalstack.api.v2.ProjectRole role = 2; + */ + role?: ProjectRole | undefined; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberQuery. + * Use `create(ProjectMemberQuerySchema)` to create a new message. + */ +export declare const ProjectMemberQuerySchema: GenMessage; +/** + * ProjectMemberServiceListRequest is the request payload to list all project members. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceListRequest + */ +export type ProjectMemberServiceListRequest = Message<"metalstack.api.v2.ProjectMemberServiceListRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + /** + * Query for projects. + * + * @generated from field: metalstack.api.v2.ProjectMemberQuery query = 2; + */ + query?: ProjectMemberQuery | undefined; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceListRequest. + * Use `create(ProjectMemberServiceListRequestSchema)` to create a new message. + */ +export declare const ProjectMemberServiceListRequestSchema: GenMessage; +/** + * ProjectMemberServiceGetRequest is the request payload to get a project. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceGetRequest + */ +export type ProjectMemberServiceGetRequest = Message<"metalstack.api.v2.ProjectMemberServiceGetRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + /** + * Member is the user id of the member. + * + * @generated from field: string member = 2; + */ + member: string; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceGetRequest. + * Use `create(ProjectMemberServiceGetRequestSchema)` to create a new message. + */ +export declare const ProjectMemberServiceGetRequestSchema: GenMessage; +/** + * ProjectMemberServiceCreateRequest is the request payload to Create a project. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceCreateRequest + */ +export type ProjectMemberServiceCreateRequest = Message<"metalstack.api.v2.ProjectMemberServiceCreateRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + /** + * Login of the member to add. + * + * @generated from field: string member = 2; + */ + member: string; + /** + * Role to assign to the new member. + * + * @generated from field: metalstack.api.v2.ProjectRole role = 3; + */ + role: ProjectRole; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceCreateRequest. + * Use `create(ProjectMemberServiceCreateRequestSchema)` to create a new message. + */ +export declare const ProjectMemberServiceCreateRequestSchema: GenMessage; +/** + * ProjectMemberServiceUpdateRequest is the request payload to update a project. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceUpdateRequest + */ +export type ProjectMemberServiceUpdateRequest = Message<"metalstack.api.v2.ProjectMemberServiceUpdateRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + /** + * Member is the id of the member to remove from this project. + * + * @generated from field: string member = 2; + */ + member: string; + /** + * Role is the role in this project the user will get after the update. + * + * @generated from field: metalstack.api.v2.ProjectRole role = 3; + */ + role: ProjectRole; + /** + * UpdateMeta contains the timestamp and strategy to be used in this update request. + * + * @generated from field: metalstack.api.v2.UpdateMeta update_meta = 4; + */ + updateMeta?: UpdateMeta | undefined; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceUpdateRequest. + * Use `create(ProjectMemberServiceUpdateRequestSchema)` to create a new message. + */ +export declare const ProjectMemberServiceUpdateRequestSchema: GenMessage; +/** + * ProjectMemberServiceDeleteRequest is the request payload to delete a project. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceDeleteRequest + */ +export type ProjectMemberServiceDeleteRequest = Message<"metalstack.api.v2.ProjectMemberServiceDeleteRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + /** + * Member is the id of the member to remove from this project. + * + * @generated from field: string member = 2; + */ + member: string; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceDeleteRequest. + * Use `create(ProjectMemberServiceDeleteRequestSchema)` to create a new message. + */ +export declare const ProjectMemberServiceDeleteRequestSchema: GenMessage; +/** + * ProjectMemberServiceListResponse is the response payload to list all project members. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceListResponse + */ +export type ProjectMemberServiceListResponse = Message<"metalstack.api.v2.ProjectMemberServiceListResponse"> & { + /** + * Members is a list of project members. + * + * @generated from field: repeated metalstack.api.v2.ProjectMember members = 1; + */ + members: ProjectMember[]; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceListResponse. + * Use `create(ProjectMemberServiceListResponseSchema)` to create a new message. + */ +export declare const ProjectMemberServiceListResponseSchema: GenMessage; +/** + * ProjectMemberServiceGetResponse is the response payload to get a projects. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceGetResponse + */ +export type ProjectMemberServiceGetResponse = Message<"metalstack.api.v2.ProjectMemberServiceGetResponse"> & { + /** + * Member in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions. + * + * @generated from field: repeated metalstack.api.v2.ProjectMember member = 1; + */ + member: ProjectMember[]; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceGetResponse. + * Use `create(ProjectMemberServiceGetResponseSchema)` to create a new message. + */ +export declare const ProjectMemberServiceGetResponseSchema: GenMessage; +/** + * ProjectMemberServiceCreateResponse is the response payload to create a project member. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceCreateResponse + */ +export type ProjectMemberServiceCreateResponse = Message<"metalstack.api.v2.ProjectMemberServiceCreateResponse"> & { + /** + * Member is the created project member + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceCreateResponse. + * Use `create(ProjectMemberServiceCreateResponseSchema)` to create a new message. + */ +export declare const ProjectMemberServiceCreateResponseSchema: GenMessage; +/** + * ProjectMemberServiceDeleteResponse is the response payload to delete a project member. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceDeleteResponse + */ +export type ProjectMemberServiceDeleteResponse = Message<"metalstack.api.v2.ProjectMemberServiceDeleteResponse"> & { + /** + * Member is the deleted project member + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceDeleteResponse. + * Use `create(ProjectMemberServiceDeleteResponseSchema)` to create a new message. + */ +export declare const ProjectMemberServiceDeleteResponseSchema: GenMessage; +/** + * ProjectMemberServiceUpdateResponse is the response payload to update a project member. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceUpdateResponse + */ +export type ProjectMemberServiceUpdateResponse = Message<"metalstack.api.v2.ProjectMemberServiceUpdateResponse"> & { + /** + * Member is the updated project member + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceUpdateResponse. + * Use `create(ProjectMemberServiceUpdateResponseSchema)` to create a new message. + */ +export declare const ProjectMemberServiceUpdateResponseSchema: GenMessage; +/** + * ProjectMemberServiceLeaveRequest is used to leave a project. This way a member is not required to ask a project owner to remove him. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceLeaveRequest + */ +export type ProjectMemberServiceLeaveRequest = Message<"metalstack.api.v2.ProjectMemberServiceLeaveRequest"> & { + /** + * Project of the uuid of the project that the user wants to leave. + * + * @generated from field: string project = 1; + */ + project: string; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceLeaveRequest. + * Use `create(ProjectMemberServiceLeaveRequestSchema)` to create a new message. + */ +export declare const ProjectMemberServiceLeaveRequestSchema: GenMessage; +/** + * ProjectMemberServiceLeaveResponse is the response payload to a leave project request. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceLeaveResponse + */ +export type ProjectMemberServiceLeaveResponse = Message<"metalstack.api.v2.ProjectMemberServiceLeaveResponse"> & { + /** + * Member is the member of this project. + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceLeaveResponse. + * Use `create(ProjectMemberServiceLeaveResponseSchema)` to create a new message. + */ +export declare const ProjectMemberServiceLeaveResponseSchema: GenMessage; +/** + * ProjectMemberService provides project management operations. + * + * @generated from service metalstack.api.v2.ProjectMemberService + */ +export declare const ProjectMemberService: GenService<{ + /** + * Returns the list of project members. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.List + */ + list: { + methodKind: "unary"; + input: typeof ProjectMemberServiceListRequestSchema; + output: typeof ProjectMemberServiceListResponseSchema; + }; + /** + * Returns the project member of the project. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Get + */ + get: { + methodKind: "unary"; + input: typeof ProjectMemberServiceGetRequestSchema; + output: typeof ProjectMemberServiceGetResponseSchema; + }; + /** + * Create a project member. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Create + */ + create: { + methodKind: "unary"; + input: typeof ProjectMemberServiceCreateRequestSchema; + output: typeof ProjectMemberServiceCreateResponseSchema; + }; + /** + * Delete a project member. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Delete + */ + delete: { + methodKind: "unary"; + input: typeof ProjectMemberServiceDeleteRequestSchema; + output: typeof ProjectMemberServiceDeleteResponseSchema; + }; + /** + * Update a project member. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Update + */ + update: { + methodKind: "unary"; + input: typeof ProjectMemberServiceUpdateRequestSchema; + output: typeof ProjectMemberServiceUpdateResponseSchema; + }; + /** + * Leave a project. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Leave + */ + leave: { + methodKind: "unary"; + input: typeof ProjectMemberServiceLeaveRequestSchema; + output: typeof ProjectMemberServiceLeaveResponseSchema; + }; +}>; diff --git a/js/metalstack/api/v2/project_member_pb.js b/js/metalstack/api/v2/project_member_pb.js new file mode 100644 index 00000000..b967c547 --- /dev/null +++ b/js/metalstack/api/v2/project_member_pb.js @@ -0,0 +1,88 @@ +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" +// @generated from file metalstack/api/v2/project_member.proto (package metalstack.api.v2, syntax proto3) +/* eslint-disable */ +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../../buf/validate/validate_pb"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import { file_metalstack_api_v2_common } from "./common_pb"; +import { file_metalstack_api_v2_predefined_rules } from "./predefined_rules_pb"; +/** + * Describes the file metalstack/api/v2/project_member.proto. + */ +export const file_metalstack_api_v2_project_member = /*@__PURE__*/ fileDesc("CiZtZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0X21lbWJlci5wcm90bxIRbWV0YWxzdGFjay5hcGkudjIi2QEKDVByb2plY3RNZW1iZXISGwoGbWVtYmVyGAEgASgJQgu6SAhyBpC0rrECARI2CgRyb2xlGAIgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABEhwKFGluaGVyaXRlZF9tZW1iZXJzaGlwGAMgASgIEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKBG1ldGEYBSABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhIocBChJQcm9qZWN0TWVtYmVyUXVlcnkSIAoGbWVtYmVyGAEgASgJQgu6SAhyBpC0rrECAUgAiAEBEjsKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAFIAYgBAUIJCgdfbWVtYmVyQgcKBV9yb2xlInIKH1Byb2plY3RNZW1iZXJTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESNAoFcXVlcnkYAiABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyUXVlcnkiWAoeUHJvamVjdE1lbWJlclNlcnZpY2VHZXRSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgEikwEKIVByb2plY3RNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiwgEKIVByb2plY3RNZW1iZXJTZXJ2aWNlVXBkYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZtZW1iZXIYAiABKAkSNgoEcm9sZRgDIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RSb2xlQgi6SAWCAQIQARI6Cgt1cGRhdGVfbWV0YRgEIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBASJOCiFQcm9qZWN0TWVtYmVyU2VydmljZURlbGV0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESDgoGbWVtYmVyGAIgASgJIlUKIFByb2plY3RNZW1iZXJTZXJ2aWNlTGlzdFJlc3BvbnNlEjEKB21lbWJlcnMYASADKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyIlMKH1Byb2plY3RNZW1iZXJTZXJ2aWNlR2V0UmVzcG9uc2USMAoGbWVtYmVyGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlciJWCiJQcm9qZWN0TWVtYmVyU2VydmljZUNyZWF0ZVJlc3BvbnNlEjAKBm1lbWJlchgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiVgoiUHJvamVjdE1lbWJlclNlcnZpY2VEZWxldGVSZXNwb25zZRIwCgZtZW1iZXIYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyIlYKIlByb2plY3RNZW1iZXJTZXJ2aWNlVXBkYXRlUmVzcG9uc2USMAoGbWVtYmVyGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlciI9CiBQcm9qZWN0TWVtYmVyU2VydmljZUxlYXZlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASJVCiFQcm9qZWN0TWVtYmVyU2VydmljZUxlYXZlUmVzcG9uc2USMAoGbWVtYmVyGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlcjKWBgoUUHJvamVjdE1lbWJlclNlcnZpY2USfAoETGlzdBIyLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXJTZXJ2aWNlTGlzdFJlcXVlc3QaMy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISeQoDR2V0EjEubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlclNlcnZpY2VHZXRSZXF1ZXN0GjIubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlclNlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAISgAEKBkNyZWF0ZRI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCcrzGAEB4PMYARKAAQoGRGVsZXRlEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlclNlcnZpY2VEZWxldGVSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlclNlcnZpY2VEZWxldGVSZXNwb25zZSIJyvMYAQHg8xgBEoABCgZVcGRhdGUSNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyU2VydmljZVVwZGF0ZVJlcXVlc3QaNS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyU2VydmljZVVwZGF0ZVJlc3BvbnNlIgnK8xgBAeDzGAESfAoFTGVhdmUSMy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyU2VydmljZUxlYXZlUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXJTZXJ2aWNlTGVhdmVSZXNwb25zZSII2PMYAuDzGAFCyAEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkISUHJvamVjdE1lbWJlclByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [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.ProjectMember. + * Use `create(ProjectMemberSchema)` to create a new message. + */ +export const ProjectMemberSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 0); +/** + * Describes the message metalstack.api.v2.ProjectMemberQuery. + * Use `create(ProjectMemberQuerySchema)` to create a new message. + */ +export const ProjectMemberQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 1); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceListRequest. + * Use `create(ProjectMemberServiceListRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 2); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceGetRequest. + * Use `create(ProjectMemberServiceGetRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 3); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceCreateRequest. + * Use `create(ProjectMemberServiceCreateRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceCreateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 4); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceUpdateRequest. + * Use `create(ProjectMemberServiceUpdateRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 5); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceDeleteRequest. + * Use `create(ProjectMemberServiceDeleteRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 6); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceListResponse. + * Use `create(ProjectMemberServiceListResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 7); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceGetResponse. + * Use `create(ProjectMemberServiceGetResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 8); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceCreateResponse. + * Use `create(ProjectMemberServiceCreateResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceCreateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 9); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceDeleteResponse. + * Use `create(ProjectMemberServiceDeleteResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 10); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceUpdateResponse. + * Use `create(ProjectMemberServiceUpdateResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 11); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceLeaveRequest. + * Use `create(ProjectMemberServiceLeaveRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceLeaveRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 12); +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceLeaveResponse. + * Use `create(ProjectMemberServiceLeaveResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceLeaveResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project_member, 13); +/** + * ProjectMemberService provides project management operations. + * + * @generated from service metalstack.api.v2.ProjectMemberService + */ +export const ProjectMemberService = /*@__PURE__*/ serviceDesc(file_metalstack_api_v2_project_member, 0); diff --git a/js/metalstack/api/v2/project_member_pb.ts b/js/metalstack/api/v2/project_member_pb.ts new file mode 100644 index 00000000..a409b1d6 --- /dev/null +++ b/js/metalstack/api/v2/project_member_pb.ts @@ -0,0 +1,476 @@ +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" +// @generated from file metalstack/api/v2/project_member.proto (package metalstack.api.v2, syntax proto3) +/* eslint-disable */ + +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 { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Meta, ProjectRole, 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"; + +/** + * Describes the file metalstack/api/v2/project_member.proto. + */ +export const file_metalstack_api_v2_project_member: GenFile = /*@__PURE__*/ + fileDesc("CiZtZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0X21lbWJlci5wcm90bxIRbWV0YWxzdGFjay5hcGkudjIi2QEKDVByb2plY3RNZW1iZXISGwoGbWVtYmVyGAEgASgJQgu6SAhyBpC0rrECARI2CgRyb2xlGAIgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABEhwKFGluaGVyaXRlZF9tZW1iZXJzaGlwGAMgASgIEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKBG1ldGEYBSABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhIocBChJQcm9qZWN0TWVtYmVyUXVlcnkSIAoGbWVtYmVyGAEgASgJQgu6SAhyBpC0rrECAUgAiAEBEjsKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAFIAYgBAUIJCgdfbWVtYmVyQgcKBV9yb2xlInIKH1Byb2plY3RNZW1iZXJTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESNAoFcXVlcnkYAiABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyUXVlcnkiWAoeUHJvamVjdE1lbWJlclNlcnZpY2VHZXRSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBm1lbWJlchgCIAEoCUILukgIcgaQtK6xAgEikwEKIVByb2plY3RNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiwgEKIVByb2plY3RNZW1iZXJTZXJ2aWNlVXBkYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZtZW1iZXIYAiABKAkSNgoEcm9sZRgDIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RSb2xlQgi6SAWCAQIQARI6Cgt1cGRhdGVfbWV0YRgEIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBASJOCiFQcm9qZWN0TWVtYmVyU2VydmljZURlbGV0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESDgoGbWVtYmVyGAIgASgJIlUKIFByb2plY3RNZW1iZXJTZXJ2aWNlTGlzdFJlc3BvbnNlEjEKB21lbWJlcnMYASADKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyIlMKH1Byb2plY3RNZW1iZXJTZXJ2aWNlR2V0UmVzcG9uc2USMAoGbWVtYmVyGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlciJWCiJQcm9qZWN0TWVtYmVyU2VydmljZUNyZWF0ZVJlc3BvbnNlEjAKBm1lbWJlchgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXIiVgoiUHJvamVjdE1lbWJlclNlcnZpY2VEZWxldGVSZXNwb25zZRIwCgZtZW1iZXIYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyIlYKIlByb2plY3RNZW1iZXJTZXJ2aWNlVXBkYXRlUmVzcG9uc2USMAoGbWVtYmVyGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlciI9CiBQcm9qZWN0TWVtYmVyU2VydmljZUxlYXZlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASJVCiFQcm9qZWN0TWVtYmVyU2VydmljZUxlYXZlUmVzcG9uc2USMAoGbWVtYmVyGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlcjKWBgoUUHJvamVjdE1lbWJlclNlcnZpY2USfAoETGlzdBIyLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXJTZXJ2aWNlTGlzdFJlcXVlc3QaMy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISeQoDR2V0EjEubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlclNlcnZpY2VHZXRSZXF1ZXN0GjIubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlclNlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAISgAEKBkNyZWF0ZRI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCcrzGAEB4PMYARKAAQoGRGVsZXRlEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlclNlcnZpY2VEZWxldGVSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdE1lbWJlclNlcnZpY2VEZWxldGVSZXNwb25zZSIJyvMYAQHg8xgBEoABCgZVcGRhdGUSNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyU2VydmljZVVwZGF0ZVJlcXVlc3QaNS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyU2VydmljZVVwZGF0ZVJlc3BvbnNlIgnK8xgBAeDzGAESfAoFTGVhdmUSMy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyU2VydmljZUxlYXZlUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RNZW1iZXJTZXJ2aWNlTGVhdmVSZXNwb25zZSII2PMYAuDzGAFCyAEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkISUHJvamVjdE1lbWJlclByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); + +/** + * ProjectMember defines a user that participates in a project. + * + * @generated from message metalstack.api.v2.ProjectMember + */ +export type ProjectMember = Message<"metalstack.api.v2.ProjectMember"> & { + /** + * Member is the user id of the member. + * + * @generated from field: string member = 1; + */ + member: string; + + /** + * Role is the role of the member. + * + * @generated from field: metalstack.api.v2.ProjectRole role = 2; + */ + role: ProjectRole; + + /** + * InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. + * This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. + * Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members. + * + * @generated from field: bool inherited_membership = 3; + */ + inheritedMembership: boolean; + + /** + * CreatedAt the date when the member was added to the project. + * + * @generated from field: google.protobuf.Timestamp created_at = 4; + */ + createdAt?: Timestamp | undefined; + + /** + * Meta for this project member. + * + * @generated from field: metalstack.api.v2.Meta meta = 5; + */ + meta?: Meta | undefined; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMember. + * Use `create(ProjectMemberSchema)` to create a new message. + */ +export const ProjectMemberSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 0); + +/** + * ProjectQuery is used to search projects. + * + * @generated from message metalstack.api.v2.ProjectMemberQuery + */ +export type ProjectMemberQuery = Message<"metalstack.api.v2.ProjectMemberQuery"> & { + /** + * Member is the user id of the member. + * + * @generated from field: optional string member = 1; + */ + member?: string | undefined; + + /** + * Role is the role of the member. + * + * @generated from field: optional metalstack.api.v2.ProjectRole role = 2; + */ + role?: ProjectRole | undefined; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberQuery. + * Use `create(ProjectMemberQuerySchema)` to create a new message. + */ +export const ProjectMemberQuerySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 1); + +/** + * ProjectMemberServiceListRequest is the request payload to list all project members. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceListRequest + */ +export type ProjectMemberServiceListRequest = Message<"metalstack.api.v2.ProjectMemberServiceListRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + + /** + * Query for projects. + * + * @generated from field: metalstack.api.v2.ProjectMemberQuery query = 2; + */ + query?: ProjectMemberQuery | undefined; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceListRequest. + * Use `create(ProjectMemberServiceListRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceListRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 2); + +/** + * ProjectMemberServiceGetRequest is the request payload to get a project. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceGetRequest + */ +export type ProjectMemberServiceGetRequest = Message<"metalstack.api.v2.ProjectMemberServiceGetRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + + /** + * Member is the user id of the member. + * + * @generated from field: string member = 2; + */ + member: string; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceGetRequest. + * Use `create(ProjectMemberServiceGetRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceGetRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 3); + +/** + * ProjectMemberServiceCreateRequest is the request payload to Create a project. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceCreateRequest + */ +export type ProjectMemberServiceCreateRequest = Message<"metalstack.api.v2.ProjectMemberServiceCreateRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + + /** + * Login of the member to add. + * + * @generated from field: string member = 2; + */ + member: string; + + /** + * Role to assign to the new member. + * + * @generated from field: metalstack.api.v2.ProjectRole role = 3; + */ + role: ProjectRole; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceCreateRequest. + * Use `create(ProjectMemberServiceCreateRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceCreateRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 4); + +/** + * ProjectMemberServiceUpdateRequest is the request payload to update a project. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceUpdateRequest + */ +export type ProjectMemberServiceUpdateRequest = Message<"metalstack.api.v2.ProjectMemberServiceUpdateRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + + /** + * Member is the id of the member to remove from this project. + * + * @generated from field: string member = 2; + */ + member: string; + + /** + * Role is the role in this project the user will get after the update. + * + * @generated from field: metalstack.api.v2.ProjectRole role = 3; + */ + role: ProjectRole; + + /** + * UpdateMeta contains the timestamp and strategy to be used in this update request. + * + * @generated from field: metalstack.api.v2.UpdateMeta update_meta = 4; + */ + updateMeta?: UpdateMeta | undefined; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceUpdateRequest. + * Use `create(ProjectMemberServiceUpdateRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceUpdateRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 5); + +/** + * ProjectMemberServiceDeleteRequest is the request payload to delete a project. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceDeleteRequest + */ +export type ProjectMemberServiceDeleteRequest = Message<"metalstack.api.v2.ProjectMemberServiceDeleteRequest"> & { + /** + * Project is the uuid of the project. + * + * @generated from field: string project = 1; + */ + project: string; + + /** + * Member is the id of the member to remove from this project. + * + * @generated from field: string member = 2; + */ + member: string; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceDeleteRequest. + * Use `create(ProjectMemberServiceDeleteRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceDeleteRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 6); + +/** + * ProjectMemberServiceListResponse is the response payload to list all project members. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceListResponse + */ +export type ProjectMemberServiceListResponse = Message<"metalstack.api.v2.ProjectMemberServiceListResponse"> & { + /** + * Members is a list of project members. + * + * @generated from field: repeated metalstack.api.v2.ProjectMember members = 1; + */ + members: ProjectMember[]; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceListResponse. + * Use `create(ProjectMemberServiceListResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceListResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 7); + +/** + * ProjectMemberServiceGetResponse is the response payload to get a projects. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceGetResponse + */ +export type ProjectMemberServiceGetResponse = Message<"metalstack.api.v2.ProjectMemberServiceGetResponse"> & { + /** + * Member in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions. + * + * @generated from field: repeated metalstack.api.v2.ProjectMember member = 1; + */ + member: ProjectMember[]; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceGetResponse. + * Use `create(ProjectMemberServiceGetResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceGetResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 8); + +/** + * ProjectMemberServiceCreateResponse is the response payload to create a project member. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceCreateResponse + */ +export type ProjectMemberServiceCreateResponse = Message<"metalstack.api.v2.ProjectMemberServiceCreateResponse"> & { + /** + * Member is the created project member + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceCreateResponse. + * Use `create(ProjectMemberServiceCreateResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceCreateResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 9); + +/** + * ProjectMemberServiceDeleteResponse is the response payload to delete a project member. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceDeleteResponse + */ +export type ProjectMemberServiceDeleteResponse = Message<"metalstack.api.v2.ProjectMemberServiceDeleteResponse"> & { + /** + * Member is the deleted project member + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceDeleteResponse. + * Use `create(ProjectMemberServiceDeleteResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceDeleteResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 10); + +/** + * ProjectMemberServiceUpdateResponse is the response payload to update a project member. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceUpdateResponse + */ +export type ProjectMemberServiceUpdateResponse = Message<"metalstack.api.v2.ProjectMemberServiceUpdateResponse"> & { + /** + * Member is the updated project member + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceUpdateResponse. + * Use `create(ProjectMemberServiceUpdateResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceUpdateResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 11); + +/** + * ProjectMemberServiceLeaveRequest is used to leave a project. This way a member is not required to ask a project owner to remove him. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceLeaveRequest + */ +export type ProjectMemberServiceLeaveRequest = Message<"metalstack.api.v2.ProjectMemberServiceLeaveRequest"> & { + /** + * Project of the uuid of the project that the user wants to leave. + * + * @generated from field: string project = 1; + */ + project: string; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceLeaveRequest. + * Use `create(ProjectMemberServiceLeaveRequestSchema)` to create a new message. + */ +export const ProjectMemberServiceLeaveRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 12); + +/** + * ProjectMemberServiceLeaveResponse is the response payload to a leave project request. + * + * @generated from message metalstack.api.v2.ProjectMemberServiceLeaveResponse + */ +export type ProjectMemberServiceLeaveResponse = Message<"metalstack.api.v2.ProjectMemberServiceLeaveResponse"> & { + /** + * Member is the member of this project. + * + * @generated from field: metalstack.api.v2.ProjectMember member = 1; + */ + member?: ProjectMember | undefined; +}; + +/** + * Describes the message metalstack.api.v2.ProjectMemberServiceLeaveResponse. + * Use `create(ProjectMemberServiceLeaveResponseSchema)` to create a new message. + */ +export const ProjectMemberServiceLeaveResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_project_member, 13); + +/** + * ProjectMemberService provides project management operations. + * + * @generated from service metalstack.api.v2.ProjectMemberService + */ +export const ProjectMemberService: GenService<{ + /** + * Returns the list of project members. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.List + */ + list: { + methodKind: "unary"; + input: typeof ProjectMemberServiceListRequestSchema; + output: typeof ProjectMemberServiceListResponseSchema; + }, + /** + * Returns the project member of the project. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Get + */ + get: { + methodKind: "unary"; + input: typeof ProjectMemberServiceGetRequestSchema; + output: typeof ProjectMemberServiceGetResponseSchema; + }, + /** + * Create a project member. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Create + */ + create: { + methodKind: "unary"; + input: typeof ProjectMemberServiceCreateRequestSchema; + output: typeof ProjectMemberServiceCreateResponseSchema; + }, + /** + * Delete a project member. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Delete + */ + delete: { + methodKind: "unary"; + input: typeof ProjectMemberServiceDeleteRequestSchema; + output: typeof ProjectMemberServiceDeleteResponseSchema; + }, + /** + * Update a project member. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Update + */ + update: { + methodKind: "unary"; + input: typeof ProjectMemberServiceUpdateRequestSchema; + output: typeof ProjectMemberServiceUpdateResponseSchema; + }, + /** + * Leave a project. + * + * @generated from rpc metalstack.api.v2.ProjectMemberService.Leave + */ + leave: { + methodKind: "unary"; + input: typeof ProjectMemberServiceLeaveRequestSchema; + output: typeof ProjectMemberServiceLeaveResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_metalstack_api_v2_project_member, 0); + diff --git a/js/metalstack/api/v2/project_pb.d.ts b/js/metalstack/api/v2/project_pb.d.ts index 7fb60e0e..6e37bd92 100644 --- a/js/metalstack/api/v2/project_pb.d.ts +++ b/js/metalstack/api/v2/project_pb.d.ts @@ -55,50 +55,6 @@ export type Project = Message<"metalstack.api.v2.Project"> & { * Use `create(ProjectSchema)` to create a new message. */ export declare const ProjectSchema: GenMessage; -/** - * ProjectMember defines a user that participates in a project. - * - * @generated from message metalstack.api.v2.ProjectMember - */ -export type ProjectMember = Message<"metalstack.api.v2.ProjectMember"> & { - /** - * Id is the user id of the member. - * - * @generated from field: string id = 1; - */ - id: string; - /** - * Role is the role of the member. - * - * @generated from field: metalstack.api.v2.ProjectRole role = 2; - */ - role: ProjectRole; - /** - * InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. - * This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. - * Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members. - * - * @generated from field: bool inherited_membership = 3; - */ - inheritedMembership: boolean; - /** - * CreatedAt the date when the member was added to the project. - * - * @generated from field: google.protobuf.Timestamp created_at = 4; - */ - createdAt?: Timestamp | undefined; - /** - * Meta for this project member. - * - * @generated from field: metalstack.api.v2.Meta meta = 5; - */ - meta?: Meta | undefined; -}; -/** - * Describes the message metalstack.api.v2.ProjectMember. - * Use `create(ProjectMemberSchema)` to create a new message. - */ -export declare const ProjectMemberSchema: GenMessage; /** * ProjectInvite defines invite to project. * @@ -267,12 +223,6 @@ export type ProjectServiceGetResponse = Message<"metalstack.api.v2.ProjectServic * @generated from field: metalstack.api.v2.Project project = 1; */ project?: Project | undefined; - /** - * ProjectMembers in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions. - * - * @generated from field: repeated metalstack.api.v2.ProjectMember project_members = 2; - */ - projectMembers: ProjectMember[]; }; /** * Describes the message metalstack.api.v2.ProjectServiceGetResponse. @@ -558,166 +508,6 @@ export type ProjectServiceInviteGetResponse = Message<"metalstack.api.v2.Project * Use `create(ProjectServiceInviteGetResponseSchema)` to create a new message. */ export declare const ProjectServiceInviteGetResponseSchema: GenMessage; -/** - * ProjectServiceLeaveRequest is used to leave a project. - * - * @generated from message metalstack.api.v2.ProjectServiceLeaveRequest - */ -export type ProjectServiceLeaveRequest = Message<"metalstack.api.v2.ProjectServiceLeaveRequest"> & { - /** - * Project is the uuid of the project. - * - * @generated from field: string project = 1; - */ - project: string; -}; -/** - * Describes the message metalstack.api.v2.ProjectServiceLeaveRequest. - * Use `create(ProjectServiceLeaveRequestSchema)` to create a new message. - */ -export declare const ProjectServiceLeaveRequestSchema: GenMessage; -/** - * ProjectServiceLeaveResponse is the response payload to a leave project request. - * - * @generated from message metalstack.api.v2.ProjectServiceLeaveResponse - */ -export type ProjectServiceLeaveResponse = Message<"metalstack.api.v2.ProjectServiceLeaveResponse"> & {}; -/** - * Describes the message metalstack.api.v2.ProjectServiceLeaveResponse. - * Use `create(ProjectServiceLeaveResponseSchema)` to create a new message. - */ -export declare const ProjectServiceLeaveResponseSchema: GenMessage; -/** - * ProjectServiceAddMemberRequest is the request payload for adding a member to a project. - * - * @generated from message metalstack.api.v2.ProjectServiceAddMemberRequest - */ -export type ProjectServiceAddMemberRequest = Message<"metalstack.api.v2.ProjectServiceAddMemberRequest"> & { - /** - * Project is the uuid of the project. - * - * @generated from field: string project = 1; - */ - project: string; - /** - * Login of the member to add. - * - * @generated from field: string member = 2; - */ - member: string; - /** - * Role to assign to the new member. - * - * @generated from field: metalstack.api.v2.ProjectRole role = 3; - */ - role: ProjectRole; -}; -/** - * Describes the message metalstack.api.v2.ProjectServiceAddMemberRequest. - * Use `create(ProjectServiceAddMemberRequestSchema)` to create a new message. - */ -export declare const ProjectServiceAddMemberRequestSchema: GenMessage; -/** - * ProjectServiceAddMemberResponse is the response payload for the add member request. - * - * @generated from message metalstack.api.v2.ProjectServiceAddMemberResponse - */ -export type ProjectServiceAddMemberResponse = Message<"metalstack.api.v2.ProjectServiceAddMemberResponse"> & { - /** - * ProjectRole is the added project member. - * - * @generated from field: metalstack.api.v2.ProjectRole project_member = 1; - */ - projectMember: ProjectRole; -}; -/** - * Describes the message metalstack.api.v2.ProjectServiceAddMemberResponse. - * Use `create(ProjectServiceAddMemberResponseSchema)` to create a new message. - */ -export declare const ProjectServiceAddMemberResponseSchema: GenMessage; -/** - * ProjectServiceRemoveMemberRequest is used to remove a member from a project. - * - * @generated from message metalstack.api.v2.ProjectServiceRemoveMemberRequest - */ -export type ProjectServiceRemoveMemberRequest = Message<"metalstack.api.v2.ProjectServiceRemoveMemberRequest"> & { - /** - * Project is the uuid of the project. - * - * @generated from field: string project = 1; - */ - project: string; - /** - * Member is the id of the member to remove from this project. - * - * @generated from field: string member = 2; - */ - member: string; -}; -/** - * Describes the message metalstack.api.v2.ProjectServiceRemoveMemberRequest. - * Use `create(ProjectServiceRemoveMemberRequestSchema)` to create a new message. - */ -export declare const ProjectServiceRemoveMemberRequestSchema: GenMessage; -/** - * ProjectServiceRemoveMemberResponse is the response payload to a remove member request. - * - * @generated from message metalstack.api.v2.ProjectServiceRemoveMemberResponse - */ -export type ProjectServiceRemoveMemberResponse = Message<"metalstack.api.v2.ProjectServiceRemoveMemberResponse"> & {}; -/** - * Describes the message metalstack.api.v2.ProjectServiceRemoveMemberResponse. - * Use `create(ProjectServiceRemoveMemberResponseSchema)` to create a new message. - */ -export declare const ProjectServiceRemoveMemberResponseSchema: GenMessage; -/** - * ProjectServiceUpdateMemberRequest is used to update a member of a project. - * - * @generated from message metalstack.api.v2.ProjectServiceUpdateMemberRequest - */ -export type ProjectServiceUpdateMemberRequest = Message<"metalstack.api.v2.ProjectServiceUpdateMemberRequest"> & { - /** - * Project is the uuid of the project. - * - * @generated from field: string project = 1; - */ - project: string; - /** - * Member is the id of the member to remove from this project. - * - * @generated from field: string member = 2; - */ - member: string; - /** - * Role is the role in this project the user will get after the update. - * - * @generated from field: metalstack.api.v2.ProjectRole role = 3; - */ - role: ProjectRole; -}; -/** - * Describes the message metalstack.api.v2.ProjectServiceUpdateMemberRequest. - * Use `create(ProjectServiceUpdateMemberRequestSchema)` to create a new message. - */ -export declare const ProjectServiceUpdateMemberRequestSchema: GenMessage; -/** - * ProjectServiceUpdateMemberResponse is the response payload to a update member request. - * - * @generated from message metalstack.api.v2.ProjectServiceUpdateMemberResponse - */ -export type ProjectServiceUpdateMemberResponse = Message<"metalstack.api.v2.ProjectServiceUpdateMemberResponse"> & { - /** - * ProjectMember is the updated project member. - * - * @generated from field: metalstack.api.v2.ProjectMember project_member = 1; - */ - projectMember?: ProjectMember | undefined; -}; -/** - * Describes the message metalstack.api.v2.ProjectServiceUpdateMemberResponse. - * Use `create(ProjectServiceUpdateMemberResponseSchema)` to create a new message. - */ -export declare const ProjectServiceUpdateMemberResponseSchema: GenMessage; /** * ProjectServiceInviteAcceptRequest is the request payload to a accept invite request. * @@ -851,46 +641,6 @@ export declare const ProjectService: GenService<{ input: typeof ProjectServiceUpdateRequestSchema; output: typeof ProjectServiceUpdateResponseSchema; }; - /** - * Leave project. - * - * @generated from rpc metalstack.api.v2.ProjectService.Leave - */ - leave: { - methodKind: "unary"; - input: typeof ProjectServiceLeaveRequestSchema; - output: typeof ProjectServiceLeaveResponseSchema; - }; - /** - * AddMember adds a user to a project. - * - * @generated from rpc metalstack.api.v2.ProjectService.AddMember - */ - addMember: { - methodKind: "unary"; - input: typeof ProjectServiceAddMemberRequestSchema; - output: typeof ProjectServiceAddMemberResponseSchema; - }; - /** - * RemoveMember removes a user from a project. - * - * @generated from rpc metalstack.api.v2.ProjectService.RemoveMember - */ - removeMember: { - methodKind: "unary"; - input: typeof ProjectServiceRemoveMemberRequestSchema; - output: typeof ProjectServiceRemoveMemberResponseSchema; - }; - /** - * UpdateMember updates a user for a project. - * - * @generated from rpc metalstack.api.v2.ProjectService.UpdateMember - */ - updateMember: { - methodKind: "unary"; - input: typeof ProjectServiceUpdateMemberRequestSchema; - output: typeof ProjectServiceUpdateMemberResponseSchema; - }; /** * Invite a user to a project. * diff --git a/js/metalstack/api/v2/project_pb.js b/js/metalstack/api/v2/project_pb.js index 64caf325..440d320f 100644 --- a/js/metalstack/api/v2/project_pb.js +++ b/js/metalstack/api/v2/project_pb.js @@ -9,167 +9,122 @@ 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0LnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLAAQoHUHJvamVjdBIMCgR1dWlkGAEgASgJEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIOCgZ0ZW5hbnQYBSABKAkSJAoKYXZhdGFyX3VybBgGIAEoCUILukgIcgbgs66xAgFIAIgBAUINCgtfYXZhdGFyX3VybCLIAQoNUHJvamVjdE1lbWJlchIKCgJpZBgBIAEoCRI2CgRyb2xlGAIgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABEhwKFGluaGVyaXRlZF9tZW1iZXJzaGlwGAMgASgIEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKBG1ldGEYBSABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhIpICCg1Qcm9qZWN0SW52aXRlEg4KBnNlY3JldBgBIAEoCRIPCgdwcm9qZWN0GAIgASgJEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAESDgoGam9pbmVkGAQgASgIEhQKDHByb2plY3RfbmFtZRgFIAEoCRIOCgZ0ZW5hbnQYBiABKAkSEwoLdGVuYW50X25hbWUYByABKAkSLgoKZXhwaXJlc19hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJam9pbmVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJLChlQcm9qZWN0U2VydmljZUxpc3RSZXF1ZXN0Ei4KBXF1ZXJ5GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFF1ZXJ5IsUBCgxQcm9qZWN0UXVlcnkSGwoEdXVpZBgBIAEoCUIIukgFcgOwAQFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEiAKBnRlbmFudBgDIAEoCUILukgIcgaQtK6xAgFIAogBARIuCgZsYWJlbHMYBCABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIA4gBAUIHCgVfdXVpZEIHCgVfbmFtZUIJCgdfdGVuYW50QgkKB19sYWJlbHMiSgoaUHJvamVjdFNlcnZpY2VMaXN0UmVzcG9uc2USLAoIcHJvamVjdHMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IjUKGFByb2plY3RTZXJ2aWNlR2V0UmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASKDAQoZUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdBI5Cg9wcm9qZWN0X21lbWJlcnMYAiADKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyItYBChtQcm9qZWN0U2VydmljZUNyZWF0ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGwLOusQIBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgAiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0INCgtfYXZhdGFyX3VybCJLChxQcm9qZWN0U2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IjgKG1Byb2plY3RTZXJ2aWNlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASJLChxQcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IsoCChtQcm9qZWN0U2VydmljZVVwZGF0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAYgBARIkCgphdmF0YXJfdXJsGAUgASgJQgu6SAhyBuCzrrECAUgCiAEBEjQKBmxhYmVscxgGIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gDiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIksKHFByb2plY3RTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHcHJvamVjdBgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QicAobUHJvamVjdFNlcnZpY2VJbnZpdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjYKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiUAocUHJvamVjdFNlcnZpY2VJbnZpdGVSZXNwb25zZRIwCgZpbnZpdGUYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0SW52aXRlIj0KIFByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBIlYKIVByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIxCgdpbnZpdGVzGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSIwCh5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlcXVlc3QSDgoGc2VjcmV0GAEgASgJIlMKH1Byb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USMAoGaW52aXRlGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSI3ChpQcm9qZWN0U2VydmljZUxlYXZlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASIdChtQcm9qZWN0U2VydmljZUxlYXZlUmVzcG9uc2UikAEKHlByb2plY3RTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiWQofUHJvamVjdFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZRI2Cg5wcm9qZWN0X21lbWJlchgBIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RSb2xlIk4KIVByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZtZW1iZXIYAiABKAkiJAoiUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSKGAQohUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEg4KBm1lbWJlchgCIAEoCRI2CgRyb2xlGAMgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABIl4KIlByb2plY3RTZXJ2aWNlVXBkYXRlTWVtYmVyUmVzcG9uc2USOAoOcHJvamVjdF9tZW1iZXIYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyIjMKIVByb2plY3RTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiSwoiUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZRIPCgdwcm9qZWN0GAEgASgJEhQKDHByb2plY3RfbmFtZRgCIAEoCSJOCiFQcm9qZWN0U2VydmljZUludml0ZURlbGV0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESDgoGc2VjcmV0GAIgASgJIiQKIlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVzcG9uc2Uy4Q0KDlByb2plY3RTZXJ2aWNlEm0KBExpc3QSLC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxpc3RSZXF1ZXN0Gi0ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VMaXN0UmVzcG9uc2UiCNjzGALg8xgCEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCsLzGAIBAuDzGAESdAoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VEZWxldGVSZXNwb25zZSIJyvMYAQHg8xgBEnUKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAEScQoFTGVhdmUSLS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxlYXZlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGVhdmVSZXNwb25zZSIJyvMYAQPg8xgBEn0KCUFkZE1lbWJlchIxLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBoyLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlQWRkTWVtYmVyUmVzcG9uc2UiCcrzGAEB4PMYARKGAQoMUmVtb3ZlTWVtYmVyEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIJyvMYAQHg8xgBEoYBCgxVcGRhdGVNZW1iZXISNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QaNS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZVVwZGF0ZU1lbWJlclJlc3BvbnNlIgnK8xgBAeDzGAESdAoGSW52aXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVSZXNwb25zZSIJyvMYAQHg8xgBEoUBCgxJbnZpdGVBY2NlcHQSNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlcXVlc3QaNS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlIgjY8xgC4PMYARKGAQoMSW52aXRlRGVsZXRlEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZSIJyvMYAQHg8xgBEoMBCgtJbnZpdGVzTGlzdBIzLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVzTGlzdFJlc3BvbnNlIgnK8xgBAeDzGAISfAoJSW52aXRlR2V0EjEubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0GjIubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVHZXRSZXNwb25zZSII2PMYAuDzGAJCwgEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIMUHJvamVjdFByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0LnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLAAQoHUHJvamVjdBIMCgR1dWlkGAEgASgJEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIOCgZ0ZW5hbnQYBSABKAkSJAoKYXZhdGFyX3VybBgGIAEoCUILukgIcgbgs66xAgFIAIgBAUINCgtfYXZhdGFyX3VybCKSAgoNUHJvamVjdEludml0ZRIOCgZzZWNyZXQYASABKAkSDwoHcHJvamVjdBgCIAEoCRI2CgRyb2xlGAMgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABEg4KBmpvaW5lZBgEIAEoCBIUCgxwcm9qZWN0X25hbWUYBSABKAkSDgoGdGVuYW50GAYgASgJEhMKC3RlbmFudF9uYW1lGAcgASgJEi4KCmV4cGlyZXNfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWpvaW5lZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiSwoZUHJvamVjdFNlcnZpY2VMaXN0UmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RRdWVyeSLFAQoMUHJvamVjdFF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIgCgZ0ZW5hbnQYAyABKAlCC7pICHIGkLSusQIBSAKIAQESLgoGbGFiZWxzGAQgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAOIAQFCBwoFX3V1aWRCBwoFX25hbWVCCQoHX3RlbmFudEIJCgdfbGFiZWxzIkoKGlByb2plY3RTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCHByb2plY3RzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCI1ChhQcm9qZWN0U2VydmljZUdldFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQEiSAoZUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCLWAQobUHJvamVjdFNlcnZpY2VDcmVhdGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBsCzrrECARIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgESJAoKYXZhdGFyX3VybBgEIAEoCUILukgIcgbgs66xAgFIAIgBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNCDQoLX2F2YXRhcl91cmwiSwocUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCI4ChtQcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQEiSwocUHJvamVjdFNlcnZpY2VEZWxldGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCLKAgobUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESJAoKYXZhdGFyX3VybBgFIAEoCUILukgIcgbgs66xAgFIAogBARI0CgZsYWJlbHMYBiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIA4gBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDQoLX2F2YXRhcl91cmxCCQoHX2xhYmVscyJLChxQcm9qZWN0U2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0InAKG1Byb2plY3RTZXJ2aWNlSW52aXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARI2CgRyb2xlGAIgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABIlAKHFByb2plY3RTZXJ2aWNlSW52aXRlUmVzcG9uc2USMAoGaW52aXRlGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSI9CiBQcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASJWCiFQcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2USMQoHaW52aXRlcxgBIAMoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RJbnZpdGUiMAoeUHJvamVjdFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJTCh9Qcm9qZWN0U2VydmljZUludml0ZUdldFJlc3BvbnNlEjAKBmludml0ZRgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RJbnZpdGUiMwohUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJLCiJQcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg8KB3Byb2plY3QYASABKAkSFAoMcHJvamVjdF9uYW1lGAIgASgJIk4KIVByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZzZWNyZXQYAiABKAkiJAoiUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZTLdCQoOUHJvamVjdFNlcnZpY2USbQoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbQoDR2V0EisubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAISdQoGQ3JlYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJ0CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlIgnK8xgBAeDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJ0CgZJbnZpdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZVJlc3BvbnNlIgnK8xgBAeDzGAEShQEKDEludml0ZUFjY2VwdBI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlQWNjZXB0UmVzcG9uc2UiCNjzGALg8xgBEoYBCgxJbnZpdGVEZWxldGUSNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZURlbGV0ZVJlcXVlc3QaNS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIgnK8xgBAeDzGAESgwEKC0ludml0ZXNMaXN0EjMubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVzTGlzdFJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2UiCcrzGAEB4PMYAhJ8CglJbnZpdGVHZXQSMS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlcXVlc3QaMi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlc3BvbnNlIgjY8xgC4PMYAkLCAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQgxQcm9qZWN0UHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYyYgZwcm90bzM", [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. */ export const ProjectSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 0); -/** - * Describes the message metalstack.api.v2.ProjectMember. - * Use `create(ProjectMemberSchema)` to create a new message. - */ -export const ProjectMemberSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 1); /** * Describes the message metalstack.api.v2.ProjectInvite. * Use `create(ProjectInviteSchema)` to create a new message. */ -export const ProjectInviteSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 2); +export const ProjectInviteSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 1); /** * Describes the message metalstack.api.v2.ProjectServiceListRequest. * Use `create(ProjectServiceListRequestSchema)` to create a new message. */ -export const ProjectServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 3); +export const ProjectServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 2); /** * Describes the message metalstack.api.v2.ProjectQuery. * Use `create(ProjectQuerySchema)` to create a new message. */ -export const ProjectQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 4); +export const ProjectQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 3); /** * Describes the message metalstack.api.v2.ProjectServiceListResponse. * Use `create(ProjectServiceListResponseSchema)` to create a new message. */ -export const ProjectServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 5); +export const ProjectServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 4); /** * Describes the message metalstack.api.v2.ProjectServiceGetRequest. * Use `create(ProjectServiceGetRequestSchema)` to create a new message. */ -export const ProjectServiceGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 6); +export const ProjectServiceGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 5); /** * Describes the message metalstack.api.v2.ProjectServiceGetResponse. * Use `create(ProjectServiceGetResponseSchema)` to create a new message. */ -export const ProjectServiceGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 7); +export const ProjectServiceGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 6); /** * Describes the message metalstack.api.v2.ProjectServiceCreateRequest. * Use `create(ProjectServiceCreateRequestSchema)` to create a new message. */ -export const ProjectServiceCreateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 8); +export const ProjectServiceCreateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 7); /** * Describes the message metalstack.api.v2.ProjectServiceCreateResponse. * Use `create(ProjectServiceCreateResponseSchema)` to create a new message. */ -export const ProjectServiceCreateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 9); +export const ProjectServiceCreateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 8); /** * Describes the message metalstack.api.v2.ProjectServiceDeleteRequest. * Use `create(ProjectServiceDeleteRequestSchema)` to create a new message. */ -export const ProjectServiceDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 10); +export const ProjectServiceDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 9); /** * Describes the message metalstack.api.v2.ProjectServiceDeleteResponse. * Use `create(ProjectServiceDeleteResponseSchema)` to create a new message. */ -export const ProjectServiceDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 11); +export const ProjectServiceDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 10); /** * Describes the message metalstack.api.v2.ProjectServiceUpdateRequest. * Use `create(ProjectServiceUpdateRequestSchema)` to create a new message. */ -export const ProjectServiceUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 12); +export const ProjectServiceUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 11); /** * Describes the message metalstack.api.v2.ProjectServiceUpdateResponse. * Use `create(ProjectServiceUpdateResponseSchema)` to create a new message. */ -export const ProjectServiceUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 13); +export const ProjectServiceUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 12); /** * Describes the message metalstack.api.v2.ProjectServiceInviteRequest. * Use `create(ProjectServiceInviteRequestSchema)` to create a new message. */ -export const ProjectServiceInviteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 14); +export const ProjectServiceInviteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 13); /** * Describes the message metalstack.api.v2.ProjectServiceInviteResponse. * Use `create(ProjectServiceInviteResponseSchema)` to create a new message. */ -export const ProjectServiceInviteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 15); +export const ProjectServiceInviteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 14); /** * Describes the message metalstack.api.v2.ProjectServiceInvitesListRequest. * Use `create(ProjectServiceInvitesListRequestSchema)` to create a new message. */ -export const ProjectServiceInvitesListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 16); +export const ProjectServiceInvitesListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 15); /** * Describes the message metalstack.api.v2.ProjectServiceInvitesListResponse. * Use `create(ProjectServiceInvitesListResponseSchema)` to create a new message. */ -export const ProjectServiceInvitesListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 17); +export const ProjectServiceInvitesListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 16); /** * Describes the message metalstack.api.v2.ProjectServiceInviteGetRequest. * Use `create(ProjectServiceInviteGetRequestSchema)` to create a new message. */ -export const ProjectServiceInviteGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 18); +export const ProjectServiceInviteGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 17); /** * Describes the message metalstack.api.v2.ProjectServiceInviteGetResponse. * Use `create(ProjectServiceInviteGetResponseSchema)` to create a new message. */ -export const ProjectServiceInviteGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 19); -/** - * Describes the message metalstack.api.v2.ProjectServiceLeaveRequest. - * Use `create(ProjectServiceLeaveRequestSchema)` to create a new message. - */ -export const ProjectServiceLeaveRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 20); -/** - * Describes the message metalstack.api.v2.ProjectServiceLeaveResponse. - * Use `create(ProjectServiceLeaveResponseSchema)` to create a new message. - */ -export const ProjectServiceLeaveResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 21); -/** - * Describes the message metalstack.api.v2.ProjectServiceAddMemberRequest. - * Use `create(ProjectServiceAddMemberRequestSchema)` to create a new message. - */ -export const ProjectServiceAddMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 22); -/** - * Describes the message metalstack.api.v2.ProjectServiceAddMemberResponse. - * Use `create(ProjectServiceAddMemberResponseSchema)` to create a new message. - */ -export const ProjectServiceAddMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 23); -/** - * Describes the message metalstack.api.v2.ProjectServiceRemoveMemberRequest. - * Use `create(ProjectServiceRemoveMemberRequestSchema)` to create a new message. - */ -export const ProjectServiceRemoveMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 24); -/** - * Describes the message metalstack.api.v2.ProjectServiceRemoveMemberResponse. - * Use `create(ProjectServiceRemoveMemberResponseSchema)` to create a new message. - */ -export const ProjectServiceRemoveMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 25); -/** - * Describes the message metalstack.api.v2.ProjectServiceUpdateMemberRequest. - * Use `create(ProjectServiceUpdateMemberRequestSchema)` to create a new message. - */ -export const ProjectServiceUpdateMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 26); -/** - * Describes the message metalstack.api.v2.ProjectServiceUpdateMemberResponse. - * Use `create(ProjectServiceUpdateMemberResponseSchema)` to create a new message. - */ -export const ProjectServiceUpdateMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 27); +export const ProjectServiceInviteGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 18); /** * Describes the message metalstack.api.v2.ProjectServiceInviteAcceptRequest. * Use `create(ProjectServiceInviteAcceptRequestSchema)` to create a new message. */ -export const ProjectServiceInviteAcceptRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 28); +export const ProjectServiceInviteAcceptRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 19); /** * Describes the message metalstack.api.v2.ProjectServiceInviteAcceptResponse. * Use `create(ProjectServiceInviteAcceptResponseSchema)` to create a new message. */ -export const ProjectServiceInviteAcceptResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 29); +export const ProjectServiceInviteAcceptResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 20); /** * Describes the message metalstack.api.v2.ProjectServiceInviteDeleteRequest. * Use `create(ProjectServiceInviteDeleteRequestSchema)` to create a new message. */ -export const ProjectServiceInviteDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 30); +export const ProjectServiceInviteDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 21); /** * Describes the message metalstack.api.v2.ProjectServiceInviteDeleteResponse. * Use `create(ProjectServiceInviteDeleteResponseSchema)` to create a new message. */ -export const ProjectServiceInviteDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 31); +export const ProjectServiceInviteDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 22); /** * ProjectService provides project management operations. * diff --git a/js/metalstack/api/v2/project_pb.ts b/js/metalstack/api/v2/project_pb.ts index 2a5d5daf..10c4e014 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0LnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLAAQoHUHJvamVjdBIMCgR1dWlkGAEgASgJEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIOCgZ0ZW5hbnQYBSABKAkSJAoKYXZhdGFyX3VybBgGIAEoCUILukgIcgbgs66xAgFIAIgBAUINCgtfYXZhdGFyX3VybCLIAQoNUHJvamVjdE1lbWJlchIKCgJpZBgBIAEoCRI2CgRyb2xlGAIgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABEhwKFGluaGVyaXRlZF9tZW1iZXJzaGlwGAMgASgIEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKBG1ldGEYBSABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhIpICCg1Qcm9qZWN0SW52aXRlEg4KBnNlY3JldBgBIAEoCRIPCgdwcm9qZWN0GAIgASgJEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAESDgoGam9pbmVkGAQgASgIEhQKDHByb2plY3RfbmFtZRgFIAEoCRIOCgZ0ZW5hbnQYBiABKAkSEwoLdGVuYW50X25hbWUYByABKAkSLgoKZXhwaXJlc19hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJam9pbmVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJLChlQcm9qZWN0U2VydmljZUxpc3RSZXF1ZXN0Ei4KBXF1ZXJ5GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFF1ZXJ5IsUBCgxQcm9qZWN0UXVlcnkSGwoEdXVpZBgBIAEoCUIIukgFcgOwAQFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEiAKBnRlbmFudBgDIAEoCUILukgIcgaQtK6xAgFIAogBARIuCgZsYWJlbHMYBCABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIA4gBAUIHCgVfdXVpZEIHCgVfbmFtZUIJCgdfdGVuYW50QgkKB19sYWJlbHMiSgoaUHJvamVjdFNlcnZpY2VMaXN0UmVzcG9uc2USLAoIcHJvamVjdHMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IjUKGFByb2plY3RTZXJ2aWNlR2V0UmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASKDAQoZUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdBI5Cg9wcm9qZWN0X21lbWJlcnMYAiADKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyItYBChtQcm9qZWN0U2VydmljZUNyZWF0ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGwLOusQIBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgAiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0INCgtfYXZhdGFyX3VybCJLChxQcm9qZWN0U2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IjgKG1Byb2plY3RTZXJ2aWNlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASJLChxQcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0IsoCChtQcm9qZWN0U2VydmljZVVwZGF0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAYgBARIkCgphdmF0YXJfdXJsGAUgASgJQgu6SAhyBuCzrrECAUgCiAEBEjQKBmxhYmVscxgGIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gDiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIksKHFByb2plY3RTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHcHJvamVjdBgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3QicAobUHJvamVjdFNlcnZpY2VJbnZpdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjYKBHJvbGUYAiABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiUAocUHJvamVjdFNlcnZpY2VJbnZpdGVSZXNwb25zZRIwCgZpbnZpdGUYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0SW52aXRlIj0KIFByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBIlYKIVByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIxCgdpbnZpdGVzGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSIwCh5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlcXVlc3QSDgoGc2VjcmV0GAEgASgJIlMKH1Byb2plY3RTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USMAoGaW52aXRlGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSI3ChpQcm9qZWN0U2VydmljZUxlYXZlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASIdChtQcm9qZWN0U2VydmljZUxlYXZlUmVzcG9uc2UikAEKHlByb2plY3RTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBEjYKBHJvbGUYAyABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0Um9sZUIIukgFggECEAEiWQofUHJvamVjdFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZRI2Cg5wcm9qZWN0X21lbWJlchgBIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RSb2xlIk4KIVByb2plY3RTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZtZW1iZXIYAiABKAkiJAoiUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSKGAQohUHJvamVjdFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEg4KBm1lbWJlchgCIAEoCRI2CgRyb2xlGAMgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABIl4KIlByb2plY3RTZXJ2aWNlVXBkYXRlTWVtYmVyUmVzcG9uc2USOAoOcHJvamVjdF9tZW1iZXIYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0TWVtYmVyIjMKIVByb2plY3RTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiSwoiUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZRIPCgdwcm9qZWN0GAEgASgJEhQKDHByb2plY3RfbmFtZRgCIAEoCSJOCiFQcm9qZWN0U2VydmljZUludml0ZURlbGV0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESDgoGc2VjcmV0GAIgASgJIiQKIlByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVzcG9uc2Uy4Q0KDlByb2plY3RTZXJ2aWNlEm0KBExpc3QSLC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxpc3RSZXF1ZXN0Gi0ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VMaXN0UmVzcG9uc2UiCNjzGALg8xgCEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCsLzGAIBAuDzGAESdAoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VEZWxldGVSZXNwb25zZSIJyvMYAQHg8xgBEnUKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAEScQoFTGVhdmUSLS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxlYXZlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGVhdmVSZXNwb25zZSIJyvMYAQPg8xgBEn0KCUFkZE1lbWJlchIxLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBoyLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlQWRkTWVtYmVyUmVzcG9uc2UiCcrzGAEB4PMYARKGAQoMUmVtb3ZlTWVtYmVyEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZSIJyvMYAQHg8xgBEoYBCgxVcGRhdGVNZW1iZXISNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QaNS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZVVwZGF0ZU1lbWJlclJlc3BvbnNlIgnK8xgBAeDzGAESdAoGSW52aXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVSZXNwb25zZSIJyvMYAQHg8xgBEoUBCgxJbnZpdGVBY2NlcHQSNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlcXVlc3QaNS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlIgjY8xgC4PMYARKGAQoMSW52aXRlRGVsZXRlEjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0GjUubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZSIJyvMYAQHg8xgBEoMBCgtJbnZpdGVzTGlzdBIzLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVzTGlzdFJlc3BvbnNlIgnK8xgBAeDzGAISfAoJSW52aXRlR2V0EjEubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0GjIubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVHZXRSZXNwb25zZSII2PMYAuDzGAJCwgEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIMUHJvamVjdFByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); + fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9wcm9qZWN0LnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLAAQoHUHJvamVjdBIMCgR1dWlkGAEgASgJEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIOCgZ0ZW5hbnQYBSABKAkSJAoKYXZhdGFyX3VybBgGIAEoCUILukgIcgbgs66xAgFIAIgBAUINCgtfYXZhdGFyX3VybCKSAgoNUHJvamVjdEludml0ZRIOCgZzZWNyZXQYASABKAkSDwoHcHJvamVjdBgCIAEoCRI2CgRyb2xlGAMgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABEg4KBmpvaW5lZBgEIAEoCBIUCgxwcm9qZWN0X25hbWUYBSABKAkSDgoGdGVuYW50GAYgASgJEhMKC3RlbmFudF9uYW1lGAcgASgJEi4KCmV4cGlyZXNfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWpvaW5lZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiSwoZUHJvamVjdFNlcnZpY2VMaXN0UmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RRdWVyeSLFAQoMUHJvamVjdFF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIgCgZ0ZW5hbnQYAyABKAlCC7pICHIGkLSusQIBSAKIAQESLgoGbGFiZWxzGAQgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAOIAQFCBwoFX3V1aWRCBwoFX25hbWVCCQoHX3RlbmFudEIJCgdfbGFiZWxzIkoKGlByb2plY3RTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCHByb2plY3RzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCI1ChhQcm9qZWN0U2VydmljZUdldFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQEiSAoZUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCLWAQobUHJvamVjdFNlcnZpY2VDcmVhdGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBsCzrrECARIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgESJAoKYXZhdGFyX3VybBgEIAEoCUILukgIcgbgs66xAgFIAIgBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNCDQoLX2F2YXRhcl91cmwiSwocUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCI4ChtQcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQEiSwocUHJvamVjdFNlcnZpY2VEZWxldGVSZXNwb25zZRIrCgdwcm9qZWN0GAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdCLKAgobUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESJAoKYXZhdGFyX3VybBgFIAEoCUILukgIcgbgs66xAgFIAogBARI0CgZsYWJlbHMYBiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIA4gBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDQoLX2F2YXRhcl91cmxCCQoHX2xhYmVscyJLChxQcm9qZWN0U2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB3Byb2plY3QYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0InAKG1Byb2plY3RTZXJ2aWNlSW52aXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARI2CgRyb2xlGAIgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFJvbGVCCLpIBYIBAhABIlAKHFByb2plY3RTZXJ2aWNlSW52aXRlUmVzcG9uc2USMAoGaW52aXRlGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdEludml0ZSI9CiBQcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABASJWCiFQcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2USMQoHaW52aXRlcxgBIAMoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RJbnZpdGUiMAoeUHJvamVjdFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJTCh9Qcm9qZWN0U2VydmljZUludml0ZUdldFJlc3BvbnNlEjAKBmludml0ZRgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RJbnZpdGUiMwohUHJvamVjdFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJLCiJQcm9qZWN0U2VydmljZUludml0ZUFjY2VwdFJlc3BvbnNlEg8KB3Byb2plY3QYASABKAkSFAoMcHJvamVjdF9uYW1lGAIgASgJIk4KIVByb2plY3RTZXJ2aWNlSW52aXRlRGVsZXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIOCgZzZWNyZXQYAiABKAkiJAoiUHJvamVjdFNlcnZpY2VJbnZpdGVEZWxldGVSZXNwb25zZTLdCQoOUHJvamVjdFNlcnZpY2USbQoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbQoDR2V0EisubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAISdQoGQ3JlYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VDcmVhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJ0CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZURlbGV0ZVJlc3BvbnNlIgnK8xgBAeDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJ0CgZJbnZpdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZVJlc3BvbnNlIgnK8xgBAeDzGAEShQEKDEludml0ZUFjY2VwdBI0Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBo1Lm1ldGFsc3RhY2suYXBpLnYyLlByb2plY3RTZXJ2aWNlSW52aXRlQWNjZXB0UmVzcG9uc2UiCNjzGALg8xgBEoYBCgxJbnZpdGVEZWxldGUSNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZURlbGV0ZVJlcXVlc3QaNS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIgnK8xgBAeDzGAESgwEKC0ludml0ZXNMaXN0EjMubWV0YWxzdGFjay5hcGkudjIuUHJvamVjdFNlcnZpY2VJbnZpdGVzTGlzdFJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2UiCcrzGAEB4PMYAhJ8CglJbnZpdGVHZXQSMS5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlcXVlc3QaMi5tZXRhbHN0YWNrLmFwaS52Mi5Qcm9qZWN0U2VydmljZUludml0ZUdldFJlc3BvbnNlIgjY8xgC4PMYAkLCAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQgxQcm9qZWN0UHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYyYgZwcm90bzM", [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. @@ -75,57 +75,6 @@ export type Project = Message<"metalstack.api.v2.Project"> & { export const ProjectSchema: GenMessage = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_project, 0); -/** - * ProjectMember defines a user that participates in a project. - * - * @generated from message metalstack.api.v2.ProjectMember - */ -export type ProjectMember = Message<"metalstack.api.v2.ProjectMember"> & { - /** - * Id is the user id of the member. - * - * @generated from field: string id = 1; - */ - id: string; - - /** - * Role is the role of the member. - * - * @generated from field: metalstack.api.v2.ProjectRole role = 2; - */ - role: ProjectRole; - - /** - * InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. - * This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. - * Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members. - * - * @generated from field: bool inherited_membership = 3; - */ - inheritedMembership: boolean; - - /** - * CreatedAt the date when the member was added to the project. - * - * @generated from field: google.protobuf.Timestamp created_at = 4; - */ - createdAt?: Timestamp | undefined; - - /** - * Meta for this project member. - * - * @generated from field: metalstack.api.v2.Meta meta = 5; - */ - meta?: Meta | undefined; -}; - -/** - * Describes the message metalstack.api.v2.ProjectMember. - * Use `create(ProjectMemberSchema)` to create a new message. - */ -export const ProjectMemberSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 1); - /** * ProjectInvite defines invite to project. * @@ -201,7 +150,7 @@ export type ProjectInvite = Message<"metalstack.api.v2.ProjectInvite"> & { * Use `create(ProjectInviteSchema)` to create a new message. */ export const ProjectInviteSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 2); + messageDesc(file_metalstack_api_v2_project, 1); /** * ProjectServiceListRequest is the request payload to list all projects. @@ -222,7 +171,7 @@ export type ProjectServiceListRequest = Message<"metalstack.api.v2.ProjectServic * Use `create(ProjectServiceListRequestSchema)` to create a new message. */ export const ProjectServiceListRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 3); + messageDesc(file_metalstack_api_v2_project, 2); /** * ProjectQuery is used to search projects. @@ -264,7 +213,7 @@ export type ProjectQuery = Message<"metalstack.api.v2.ProjectQuery"> & { * Use `create(ProjectQuerySchema)` to create a new message. */ export const ProjectQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 4); + messageDesc(file_metalstack_api_v2_project, 3); /** * ProjectServiceListResponse is the response payload to list all projects. @@ -285,7 +234,7 @@ export type ProjectServiceListResponse = Message<"metalstack.api.v2.ProjectServi * Use `create(ProjectServiceListResponseSchema)` to create a new message. */ export const ProjectServiceListResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 5); + messageDesc(file_metalstack_api_v2_project, 4); /** * ProjectServiceGetRequest is the request payload to get a project. @@ -306,7 +255,7 @@ export type ProjectServiceGetRequest = Message<"metalstack.api.v2.ProjectService * Use `create(ProjectServiceGetRequestSchema)` to create a new message. */ export const ProjectServiceGetRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 6); + messageDesc(file_metalstack_api_v2_project, 5); /** * ProjectServiceGetResponse is the response payload to get a projects. @@ -320,13 +269,6 @@ export type ProjectServiceGetResponse = Message<"metalstack.api.v2.ProjectServic * @generated from field: metalstack.api.v2.Project project = 1; */ project?: Project | undefined; - - /** - * ProjectMembers in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions. - * - * @generated from field: repeated metalstack.api.v2.ProjectMember project_members = 2; - */ - projectMembers: ProjectMember[]; }; /** @@ -334,7 +276,7 @@ export type ProjectServiceGetResponse = Message<"metalstack.api.v2.ProjectServic * Use `create(ProjectServiceGetResponseSchema)` to create a new message. */ export const ProjectServiceGetResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 7); + messageDesc(file_metalstack_api_v2_project, 6); /** * ProjectServiceCreateRequest is the request payload to Create a project. @@ -384,7 +326,7 @@ export type ProjectServiceCreateRequest = Message<"metalstack.api.v2.ProjectServ * Use `create(ProjectServiceCreateRequestSchema)` to create a new message. */ export const ProjectServiceCreateRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 8); + messageDesc(file_metalstack_api_v2_project, 7); /** * ProjectServiceCreateResponse is the response payload of creation of a project. @@ -405,7 +347,7 @@ export type ProjectServiceCreateResponse = Message<"metalstack.api.v2.ProjectSer * Use `create(ProjectServiceCreateResponseSchema)` to create a new message. */ export const ProjectServiceCreateResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 9); + messageDesc(file_metalstack_api_v2_project, 8); /** * ProjectServiceDeleteRequest is the request payload to delete a project. @@ -426,7 +368,7 @@ export type ProjectServiceDeleteRequest = Message<"metalstack.api.v2.ProjectServ * Use `create(ProjectServiceDeleteRequestSchema)` to create a new message. */ export const ProjectServiceDeleteRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 10); + messageDesc(file_metalstack_api_v2_project, 9); /** * ProjectServiceDeleteResponse is the response payload to delete a project. @@ -447,7 +389,7 @@ export type ProjectServiceDeleteResponse = Message<"metalstack.api.v2.ProjectSer * Use `create(ProjectServiceDeleteResponseSchema)` to create a new message. */ export const ProjectServiceDeleteResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 11); + messageDesc(file_metalstack_api_v2_project, 10); /** * ProjectServiceUpdateRequest is the request payload to update a project. @@ -503,7 +445,7 @@ export type ProjectServiceUpdateRequest = Message<"metalstack.api.v2.ProjectServ * Use `create(ProjectServiceUpdateRequestSchema)` to create a new message. */ export const ProjectServiceUpdateRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 12); + messageDesc(file_metalstack_api_v2_project, 11); /** * ProjectServiceUpdateResponse is the response payload to update a project. @@ -524,7 +466,7 @@ export type ProjectServiceUpdateResponse = Message<"metalstack.api.v2.ProjectSer * Use `create(ProjectServiceUpdateResponseSchema)` to create a new message. */ export const ProjectServiceUpdateResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 13); + messageDesc(file_metalstack_api_v2_project, 12); /** * ProjectServiceInviteRequest is used to invite a member to a project. @@ -552,7 +494,7 @@ export type ProjectServiceInviteRequest = Message<"metalstack.api.v2.ProjectServ * Use `create(ProjectServiceInviteRequestSchema)` to create a new message. */ export const ProjectServiceInviteRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 14); + messageDesc(file_metalstack_api_v2_project, 13); /** * ProjectServiceInviteResponse is the response payload to a invite member request. @@ -575,7 +517,7 @@ export type ProjectServiceInviteResponse = Message<"metalstack.api.v2.ProjectSer * Use `create(ProjectServiceInviteResponseSchema)` to create a new message. */ export const ProjectServiceInviteResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 15); + messageDesc(file_metalstack_api_v2_project, 14); /** * ProjectServiceInvitesListRequest is the request payload to a list invites request. @@ -596,7 +538,7 @@ export type ProjectServiceInvitesListRequest = Message<"metalstack.api.v2.Projec * Use `create(ProjectServiceInvitesListRequestSchema)` to create a new message. */ export const ProjectServiceInvitesListRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 16); + messageDesc(file_metalstack_api_v2_project, 15); /** * ProjectServiceInvitesListResponse is the response payload to a list invites request. @@ -617,7 +559,7 @@ export type ProjectServiceInvitesListResponse = Message<"metalstack.api.v2.Proje * Use `create(ProjectServiceInvitesListResponseSchema)` to create a new message. */ export const ProjectServiceInvitesListResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 17); + messageDesc(file_metalstack_api_v2_project, 16); /** * ProjectServiceInviteGetRequest is the request payload to get a invite. @@ -638,7 +580,7 @@ export type ProjectServiceInviteGetRequest = Message<"metalstack.api.v2.ProjectS * Use `create(ProjectServiceInviteGetRequestSchema)` to create a new message. */ export const ProjectServiceInviteGetRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 18); + messageDesc(file_metalstack_api_v2_project, 17); /** * ProjectServiceInviteGetResponse is the response payload to a get invite request. @@ -659,198 +601,7 @@ export type ProjectServiceInviteGetResponse = Message<"metalstack.api.v2.Project * Use `create(ProjectServiceInviteGetResponseSchema)` to create a new message. */ export const ProjectServiceInviteGetResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 19); - -/** - * ProjectServiceLeaveRequest is used to leave a project. - * - * @generated from message metalstack.api.v2.ProjectServiceLeaveRequest - */ -export type ProjectServiceLeaveRequest = Message<"metalstack.api.v2.ProjectServiceLeaveRequest"> & { - /** - * Project is the uuid of the project. - * - * @generated from field: string project = 1; - */ - project: string; -}; - -/** - * Describes the message metalstack.api.v2.ProjectServiceLeaveRequest. - * Use `create(ProjectServiceLeaveRequestSchema)` to create a new message. - */ -export const ProjectServiceLeaveRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 20); - -/** - * ProjectServiceLeaveResponse is the response payload to a leave project request. - * - * @generated from message metalstack.api.v2.ProjectServiceLeaveResponse - */ -export type ProjectServiceLeaveResponse = Message<"metalstack.api.v2.ProjectServiceLeaveResponse"> & { -}; - -/** - * Describes the message metalstack.api.v2.ProjectServiceLeaveResponse. - * Use `create(ProjectServiceLeaveResponseSchema)` to create a new message. - */ -export const ProjectServiceLeaveResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 21); - -/** - * ProjectServiceAddMemberRequest is the request payload for adding a member to a project. - * - * @generated from message metalstack.api.v2.ProjectServiceAddMemberRequest - */ -export type ProjectServiceAddMemberRequest = Message<"metalstack.api.v2.ProjectServiceAddMemberRequest"> & { - /** - * Project is the uuid of the project. - * - * @generated from field: string project = 1; - */ - project: string; - - /** - * Login of the member to add. - * - * @generated from field: string member = 2; - */ - member: string; - - /** - * Role to assign to the new member. - * - * @generated from field: metalstack.api.v2.ProjectRole role = 3; - */ - role: ProjectRole; -}; - -/** - * Describes the message metalstack.api.v2.ProjectServiceAddMemberRequest. - * Use `create(ProjectServiceAddMemberRequestSchema)` to create a new message. - */ -export const ProjectServiceAddMemberRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 22); - -/** - * ProjectServiceAddMemberResponse is the response payload for the add member request. - * - * @generated from message metalstack.api.v2.ProjectServiceAddMemberResponse - */ -export type ProjectServiceAddMemberResponse = Message<"metalstack.api.v2.ProjectServiceAddMemberResponse"> & { - /** - * ProjectRole is the added project member. - * - * @generated from field: metalstack.api.v2.ProjectRole project_member = 1; - */ - projectMember: ProjectRole; -}; - -/** - * Describes the message metalstack.api.v2.ProjectServiceAddMemberResponse. - * Use `create(ProjectServiceAddMemberResponseSchema)` to create a new message. - */ -export const ProjectServiceAddMemberResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 23); - -/** - * ProjectServiceRemoveMemberRequest is used to remove a member from a project. - * - * @generated from message metalstack.api.v2.ProjectServiceRemoveMemberRequest - */ -export type ProjectServiceRemoveMemberRequest = Message<"metalstack.api.v2.ProjectServiceRemoveMemberRequest"> & { - /** - * Project is the uuid of the project. - * - * @generated from field: string project = 1; - */ - project: string; - - /** - * Member is the id of the member to remove from this project. - * - * @generated from field: string member = 2; - */ - member: string; -}; - -/** - * Describes the message metalstack.api.v2.ProjectServiceRemoveMemberRequest. - * Use `create(ProjectServiceRemoveMemberRequestSchema)` to create a new message. - */ -export const ProjectServiceRemoveMemberRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 24); - -/** - * ProjectServiceRemoveMemberResponse is the response payload to a remove member request. - * - * @generated from message metalstack.api.v2.ProjectServiceRemoveMemberResponse - */ -export type ProjectServiceRemoveMemberResponse = Message<"metalstack.api.v2.ProjectServiceRemoveMemberResponse"> & { -}; - -/** - * Describes the message metalstack.api.v2.ProjectServiceRemoveMemberResponse. - * Use `create(ProjectServiceRemoveMemberResponseSchema)` to create a new message. - */ -export const ProjectServiceRemoveMemberResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 25); - -/** - * ProjectServiceUpdateMemberRequest is used to update a member of a project. - * - * @generated from message metalstack.api.v2.ProjectServiceUpdateMemberRequest - */ -export type ProjectServiceUpdateMemberRequest = Message<"metalstack.api.v2.ProjectServiceUpdateMemberRequest"> & { - /** - * Project is the uuid of the project. - * - * @generated from field: string project = 1; - */ - project: string; - - /** - * Member is the id of the member to remove from this project. - * - * @generated from field: string member = 2; - */ - member: string; - - /** - * Role is the role in this project the user will get after the update. - * - * @generated from field: metalstack.api.v2.ProjectRole role = 3; - */ - role: ProjectRole; -}; - -/** - * Describes the message metalstack.api.v2.ProjectServiceUpdateMemberRequest. - * Use `create(ProjectServiceUpdateMemberRequestSchema)` to create a new message. - */ -export const ProjectServiceUpdateMemberRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 26); - -/** - * ProjectServiceUpdateMemberResponse is the response payload to a update member request. - * - * @generated from message metalstack.api.v2.ProjectServiceUpdateMemberResponse - */ -export type ProjectServiceUpdateMemberResponse = Message<"metalstack.api.v2.ProjectServiceUpdateMemberResponse"> & { - /** - * ProjectMember is the updated project member. - * - * @generated from field: metalstack.api.v2.ProjectMember project_member = 1; - */ - projectMember?: ProjectMember | undefined; -}; - -/** - * Describes the message metalstack.api.v2.ProjectServiceUpdateMemberResponse. - * Use `create(ProjectServiceUpdateMemberResponseSchema)` to create a new message. - */ -export const ProjectServiceUpdateMemberResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 27); + messageDesc(file_metalstack_api_v2_project, 18); /** * ProjectServiceInviteAcceptRequest is the request payload to a accept invite request. @@ -871,7 +622,7 @@ export type ProjectServiceInviteAcceptRequest = Message<"metalstack.api.v2.Proje * Use `create(ProjectServiceInviteAcceptRequestSchema)` to create a new message. */ export const ProjectServiceInviteAcceptRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 28); + messageDesc(file_metalstack_api_v2_project, 19); /** * ProjectServiceInviteAcceptResponse is the response payload to a accept invite request. @@ -899,7 +650,7 @@ export type ProjectServiceInviteAcceptResponse = Message<"metalstack.api.v2.Proj * Use `create(ProjectServiceInviteAcceptResponseSchema)` to create a new message. */ export const ProjectServiceInviteAcceptResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 29); + messageDesc(file_metalstack_api_v2_project, 20); /** * ProjectServiceInviteDeleteRequest is the request payload to a delete invite. @@ -927,7 +678,7 @@ export type ProjectServiceInviteDeleteRequest = Message<"metalstack.api.v2.Proje * Use `create(ProjectServiceInviteDeleteRequestSchema)` to create a new message. */ export const ProjectServiceInviteDeleteRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 30); + messageDesc(file_metalstack_api_v2_project, 21); /** * ProjectServiceInviteDeleteResponse is the response payload of a delete invite request. @@ -942,7 +693,7 @@ export type ProjectServiceInviteDeleteResponse = Message<"metalstack.api.v2.Proj * Use `create(ProjectServiceInviteDeleteResponseSchema)` to create a new message. */ export const ProjectServiceInviteDeleteResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_project, 31); + messageDesc(file_metalstack_api_v2_project, 22); /** * ProjectService provides project management operations. @@ -1000,46 +751,6 @@ export const ProjectService: GenService<{ input: typeof ProjectServiceUpdateRequestSchema; output: typeof ProjectServiceUpdateResponseSchema; }, - /** - * Leave project. - * - * @generated from rpc metalstack.api.v2.ProjectService.Leave - */ - leave: { - methodKind: "unary"; - input: typeof ProjectServiceLeaveRequestSchema; - output: typeof ProjectServiceLeaveResponseSchema; - }, - /** - * AddMember adds a user to a project. - * - * @generated from rpc metalstack.api.v2.ProjectService.AddMember - */ - addMember: { - methodKind: "unary"; - input: typeof ProjectServiceAddMemberRequestSchema; - output: typeof ProjectServiceAddMemberResponseSchema; - }, - /** - * RemoveMember removes a user from a project. - * - * @generated from rpc metalstack.api.v2.ProjectService.RemoveMember - */ - removeMember: { - methodKind: "unary"; - input: typeof ProjectServiceRemoveMemberRequestSchema; - output: typeof ProjectServiceRemoveMemberResponseSchema; - }, - /** - * UpdateMember updates a user for a project. - * - * @generated from rpc metalstack.api.v2.ProjectService.UpdateMember - */ - updateMember: { - methodKind: "unary"; - input: typeof ProjectServiceUpdateMemberRequestSchema; - output: typeof ProjectServiceUpdateMemberResponseSchema; - }, /** * Invite a user to a project. * diff --git a/js/metalstack/api/v2/tenant_member_pb.d.ts b/js/metalstack/api/v2/tenant_member_pb.d.ts new file mode 100644 index 00000000..45af4312 --- /dev/null +++ b/js/metalstack/api/v2/tenant_member_pb.d.ts @@ -0,0 +1,417 @@ +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import type { Meta, TenantRole, UpdateMeta } from "./common_pb"; +import type { Message } from "@bufbuild/protobuf"; +/** + * Describes the file metalstack/api/v2/tenant_member.proto. + */ +export declare const file_metalstack_api_v2_tenant_member: GenFile; +/** + * TenantMember defines a user that participates in a tenant. + * + * @generated from message metalstack.api.v2.TenantMember + */ +export type TenantMember = Message<"metalstack.api.v2.TenantMember"> & { + /** + * Member is the user id of the member. + * + * @generated from field: string member = 1; + */ + member: string; + /** + * Role is the role of the member. + * + * @generated from field: metalstack.api.v2.TenantRole role = 2; + */ + role: TenantRole; + /** + * Projects in which a user is a direct member. + * + * @generated from field: repeated string projects = 3; + */ + projects: string[]; + /** + * CreatedAt the date when the member was added to the tenant. + * + * @generated from field: google.protobuf.Timestamp created_at = 4; + */ + createdAt?: Timestamp | undefined; + /** + * Meta for this tenant member. + * + * @generated from field: metalstack.api.v2.Meta meta = 5; + */ + meta?: Meta | undefined; + /** + * Tenant is the tenant that this member participates in. + * + * @generated from field: string tenant = 6; + */ + tenant: string; +}; +/** + * Describes the message metalstack.api.v2.TenantMember. + * Use `create(TenantMemberSchema)` to create a new message. + */ +export declare const TenantMemberSchema: GenMessage; +/** + * TenantMemberServiceListRequest is the request payload of the tenant member list request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceListRequest + */ +export type TenantMemberServiceListRequest = Message<"metalstack.api.v2.TenantMemberServiceListRequest"> & { + /** + * Login of the tenant. + * + * @generated from field: string login = 1; + */ + login: string; + /** + * Query for tenant members. + * + * @generated from field: metalstack.api.v2.TenantMemberQuery query = 2; + */ + query?: TenantMemberQuery | undefined; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceListRequest. + * Use `create(TenantMemberServiceListRequestSchema)` to create a new message. + */ +export declare const TenantMemberServiceListRequestSchema: GenMessage; +/** + * TenantMemberQuery is used to search tenant members. + * + * @generated from message metalstack.api.v2.TenantMemberQuery + */ +export type TenantMemberQuery = Message<"metalstack.api.v2.TenantMemberQuery"> & { + /** + * Member is the user id of the member. + * + * @generated from field: optional string member = 1; + */ + member?: string | undefined; + /** + * Role is the role of the member. + * + * @generated from field: optional metalstack.api.v2.TenantRole role = 2; + */ + role?: TenantRole | undefined; + /** + * Projects in which a user is a direct member. + * + * @generated from field: repeated string projects = 3; + */ + projects: string[]; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberQuery. + * Use `create(TenantMemberQuerySchema)` to create a new message. + */ +export declare const TenantMemberQuerySchema: GenMessage; +/** + * TenantMemberServiceGetRequest is the request payload of the tenant member get request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceGetRequest + */ +export type TenantMemberServiceGetRequest = Message<"metalstack.api.v2.TenantMemberServiceGetRequest"> & { + /** + * Login of the tenant. + * + * @generated from field: string login = 1; + */ + login: string; + /** + * Member is the user id of the member. + * + * @generated from field: string member = 2; + */ + member: string; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceGetRequest. + * Use `create(TenantMemberServiceGetRequestSchema)` to create a new message. + */ +export declare const TenantMemberServiceGetRequestSchema: GenMessage; +/** + * TenantMemberServiceDeleteRequest is used to remove a member from a tenant. + * + * @generated from message metalstack.api.v2.TenantMemberServiceDeleteRequest + */ +export type TenantMemberServiceDeleteRequest = Message<"metalstack.api.v2.TenantMemberServiceDeleteRequest"> & { + /** + * Login of the tenant. + * + * @generated from field: string login = 1; + */ + login: string; + /** + * Member is the id of the member to remove from this tenant. + * + * @generated from field: string member = 2; + */ + member: string; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceDeleteRequest. + * Use `create(TenantMemberServiceDeleteRequestSchema)` to create a new message. + */ +export declare const TenantMemberServiceDeleteRequestSchema: GenMessage; +/** + * TenantMemberServiceCreateRequest is the request payload for adding a member to a tenant. + * + * @generated from message metalstack.api.v2.TenantMemberServiceCreateRequest + */ +export type TenantMemberServiceCreateRequest = Message<"metalstack.api.v2.TenantMemberServiceCreateRequest"> & { + /** + * Login of the tenant to which the member will be added. + * + * @generated from field: string login = 1; + */ + login: string; + /** + * Login of the member to add. + * + * @generated from field: string member = 2; + */ + member: string; + /** + * Role to assign to the new member. + * + * @generated from field: metalstack.api.v2.TenantRole role = 3; + */ + role: TenantRole; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceCreateRequest. + * Use `create(TenantMemberServiceCreateRequestSchema)` to create a new message. + */ +export declare const TenantMemberServiceCreateRequestSchema: GenMessage; +/** + * TenantMemberServiceUpdateRequest is used to update a member from a tenant. + * + * @generated from message metalstack.api.v2.TenantMemberServiceUpdateRequest + */ +export type TenantMemberServiceUpdateRequest = Message<"metalstack.api.v2.TenantMemberServiceUpdateRequest"> & { + /** + * Login of the tenant. + * + * @generated from field: string login = 1; + */ + login: string; + /** + * Member is the id of the member to update in this tenant. + * + * @generated from field: string member = 2; + */ + member: string; + /** + * Role of this user in this tenant. + * + * @generated from field: optional metalstack.api.v2.TenantRole role = 3; + */ + role?: TenantRole | undefined; + /** + * UpdateMeta contains the timestamp and strategy to be used in this update request. + * + * @generated from field: metalstack.api.v2.UpdateMeta update_meta = 4; + */ + updateMeta?: UpdateMeta | undefined; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceUpdateRequest. + * Use `create(TenantMemberServiceUpdateRequestSchema)` to create a new message. + */ +export declare const TenantMemberServiceUpdateRequestSchema: GenMessage; +/** + * TenantMemberServiceGetResponse is the response payload of the tenant member get request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceGetResponse + */ +export type TenantMemberServiceGetResponse = Message<"metalstack.api.v2.TenantMemberServiceGetResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceGetResponse. + * Use `create(TenantMemberServiceGetResponseSchema)` to create a new message. + */ +export declare const TenantMemberServiceGetResponseSchema: GenMessage; +/** + * TenantMemberServiceListResponse is the response payload of the tenant member list request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceListResponse + */ +export type TenantMemberServiceListResponse = Message<"metalstack.api.v2.TenantMemberServiceListResponse"> & { + /** + * Members is the list of tenant members. + * + * @generated from field: repeated metalstack.api.v2.TenantMember members = 1; + */ + members: TenantMember[]; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceListResponse. + * Use `create(TenantMemberServiceListResponseSchema)` to create a new message. + */ +export declare const TenantMemberServiceListResponseSchema: GenMessage; +/** + * TenantMemberServiceCreateResponse is the response payload of the tenant member create request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceCreateResponse + */ +export type TenantMemberServiceCreateResponse = Message<"metalstack.api.v2.TenantMemberServiceCreateResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceCreateResponse. + * Use `create(TenantMemberServiceCreateResponseSchema)` to create a new message. + */ +export declare const TenantMemberServiceCreateResponseSchema: GenMessage; +/** + * TenantMemberServiceUpdateResponse is the response payload of the tenant member update request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceUpdateResponse + */ +export type TenantMemberServiceUpdateResponse = Message<"metalstack.api.v2.TenantMemberServiceUpdateResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceUpdateResponse. + * Use `create(TenantMemberServiceUpdateResponseSchema)` to create a new message. + */ +export declare const TenantMemberServiceUpdateResponseSchema: GenMessage; +/** + * TenantMemberServiceDeleteResponse is the response payload of the tenant member delete request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceDeleteResponse + */ +export type TenantMemberServiceDeleteResponse = Message<"metalstack.api.v2.TenantMemberServiceDeleteResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceDeleteResponse. + * Use `create(TenantMemberServiceDeleteResponseSchema)` to create a new message. + */ +export declare const TenantMemberServiceDeleteResponseSchema: GenMessage; +/** + * TenantMemberServiceLeaveRequest is used to leave a tenant. This way a member is not required to ask a tenant owner to remove him. + * + * @generated from message metalstack.api.v2.TenantMemberServiceLeaveRequest + */ +export type TenantMemberServiceLeaveRequest = Message<"metalstack.api.v2.TenantMemberServiceLeaveRequest"> & { + /** + * Login of the tenant that the user wants to leave. + * + * @generated from field: string login = 1; + */ + login: string; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceLeaveRequest. + * Use `create(TenantMemberServiceLeaveRequestSchema)` to create a new message. + */ +export declare const TenantMemberServiceLeaveRequestSchema: GenMessage; +/** + * TenantMemberServiceLeaveResponse is the response payload to a leave tenant request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceLeaveResponse + */ +export type TenantMemberServiceLeaveResponse = Message<"metalstack.api.v2.TenantMemberServiceLeaveResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; +/** + * Describes the message metalstack.api.v2.TenantMemberServiceLeaveResponse. + * Use `create(TenantMemberServiceLeaveResponseSchema)` to create a new message. + */ +export declare const TenantMemberServiceLeaveResponseSchema: GenMessage; +/** + * TenantMemberService provides tenant member management operations. + * + * @generated from service metalstack.api.v2.TenantMemberService + */ +export declare const TenantMemberService: GenService<{ + /** + * Creates a new tenant member. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Create + */ + create: { + methodKind: "unary"; + input: typeof TenantMemberServiceCreateRequestSchema; + output: typeof TenantMemberServiceCreateResponseSchema; + }; + /** + * Returns the list of tenant members. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.List + */ + list: { + methodKind: "unary"; + input: typeof TenantMemberServiceListRequestSchema; + output: typeof TenantMemberServiceListResponseSchema; + }; + /** + * Get a tenant member. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Get + */ + get: { + methodKind: "unary"; + input: typeof TenantMemberServiceGetRequestSchema; + output: typeof TenantMemberServiceGetResponseSchema; + }; + /** + * Update a tenant member. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Update + */ + update: { + methodKind: "unary"; + input: typeof TenantMemberServiceUpdateRequestSchema; + output: typeof TenantMemberServiceUpdateResponseSchema; + }; + /** + * Delete a tenant. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Delete + */ + delete: { + methodKind: "unary"; + input: typeof TenantMemberServiceDeleteRequestSchema; + output: typeof TenantMemberServiceDeleteResponseSchema; + }; + /** + * Leave removes a member from a tenant. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Leave + */ + leave: { + methodKind: "unary"; + input: typeof TenantMemberServiceLeaveRequestSchema; + output: typeof TenantMemberServiceLeaveResponseSchema; + }; +}>; diff --git a/js/metalstack/api/v2/tenant_member_pb.js b/js/metalstack/api/v2/tenant_member_pb.js new file mode 100644 index 00000000..7a821852 --- /dev/null +++ b/js/metalstack/api/v2/tenant_member_pb.js @@ -0,0 +1,88 @@ +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" +// @generated from file metalstack/api/v2/tenant_member.proto (package metalstack.api.v2, syntax proto3) +/* eslint-disable */ +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../../buf/validate/validate_pb"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import { file_metalstack_api_v2_common } from "./common_pb"; +import { file_metalstack_api_v2_predefined_rules } from "./predefined_rules_pb"; +/** + * Describes the file metalstack/api/v2/tenant_member.proto. + */ +export const file_metalstack_api_v2_tenant_member = /*@__PURE__*/ fileDesc("CiVtZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnRfbWVtYmVyLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLoAQoMVGVuYW50TWVtYmVyEhsKBm1lbWJlchgBIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABEhAKCHByb2plY3RzGAMgAygJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKBG1ldGEYBSABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhsKBnRlbmFudBgGIAEoCUILukgIcgaQtK6xAgEicQoeVGVuYW50TWVtYmVyU2VydmljZUxpc3RSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIzCgVxdWVyeRgCIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlclF1ZXJ5IpcBChFUZW5hbnRNZW1iZXJRdWVyeRIgCgZtZW1iZXIYASABKAlCC7pICHIGkLSusQIBSACIAQESOgoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABSAGIAQESEAoIcHJvamVjdHMYAyADKAlCCQoHX21lbWJlckIHCgVfcm9sZSJYCh1UZW5hbnRNZW1iZXJTZXJ2aWNlR2V0UmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESGwoGbWVtYmVyGAIgASgJQgu6SAhyBpC0rrECASJOCiBUZW5hbnRNZW1iZXJTZXJ2aWNlRGVsZXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESDgoGbWVtYmVyGAIgASgJIpIBCiBUZW5hbnRNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESGwoGbWVtYmVyGAIgASgJQgu6SAhyBpC0rrECARI1CgRyb2xlGAMgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEi3AEKIFRlbmFudE1lbWJlclNlcnZpY2VVcGRhdGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBEjoKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQAUgAiAEBEjoKC3VwZGF0ZV9tZXRhGAQgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBQgcKBV9yb2xlIlEKHlRlbmFudE1lbWJlclNlcnZpY2VHZXRSZXNwb25zZRIvCgZtZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIiUwofVGVuYW50TWVtYmVyU2VydmljZUxpc3RSZXNwb25zZRIwCgdtZW1iZXJzGAEgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIlQKIVRlbmFudE1lbWJlclNlcnZpY2VDcmVhdGVSZXNwb25zZRIvCgZtZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIiVAohVGVuYW50TWVtYmVyU2VydmljZVVwZGF0ZVJlc3BvbnNlEi8KBm1lbWJlchgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlciJUCiFUZW5hbnRNZW1iZXJTZXJ2aWNlRGVsZXRlUmVzcG9uc2USLwoGbWVtYmVyGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIj0KH1RlbmFudE1lbWJlclNlcnZpY2VMZWF2ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBIlMKIFRlbmFudE1lbWJlclNlcnZpY2VMZWF2ZVJlc3BvbnNlEi8KBm1lbWJlchgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlcjKIBgoTVGVuYW50TWVtYmVyU2VydmljZRJ+CgZDcmVhdGUSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlclNlcnZpY2VDcmVhdGVSZXNwb25zZSIJwvMYAQHg8xgBEnsKBExpc3QSMS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlTGlzdFJlcXVlc3QaMi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlTGlzdFJlc3BvbnNlIgzC8xgEAQIDBODzGAISeAoDR2V0EjAubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyU2VydmljZUdldFJlcXVlc3QaMS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlR2V0UmVzcG9uc2UiDMLzGAQBAgME4PMYAhJ+CgZVcGRhdGUSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlVXBkYXRlUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlclNlcnZpY2VVcGRhdGVSZXNwb25zZSIJwvMYAQHg8xgBEn4KBkRlbGV0ZRIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlclNlcnZpY2VEZWxldGVSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyU2VydmljZURlbGV0ZVJlc3BvbnNlIgnC8xgBAeDzGAESegoFTGVhdmUSMi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlTGVhdmVSZXF1ZXN0GjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyU2VydmljZUxlYXZlUmVzcG9uc2UiCNjzGALg8xgBQscBChVjb20ubWV0YWxzdGFjay5hcGkudjJCEVRlbmFudE1lbWJlclByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [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.TenantMember. + * Use `create(TenantMemberSchema)` to create a new message. + */ +export const TenantMemberSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 0); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceListRequest. + * Use `create(TenantMemberServiceListRequestSchema)` to create a new message. + */ +export const TenantMemberServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 1); +/** + * Describes the message metalstack.api.v2.TenantMemberQuery. + * Use `create(TenantMemberQuerySchema)` to create a new message. + */ +export const TenantMemberQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 2); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceGetRequest. + * Use `create(TenantMemberServiceGetRequestSchema)` to create a new message. + */ +export const TenantMemberServiceGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 3); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceDeleteRequest. + * Use `create(TenantMemberServiceDeleteRequestSchema)` to create a new message. + */ +export const TenantMemberServiceDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 4); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceCreateRequest. + * Use `create(TenantMemberServiceCreateRequestSchema)` to create a new message. + */ +export const TenantMemberServiceCreateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 5); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceUpdateRequest. + * Use `create(TenantMemberServiceUpdateRequestSchema)` to create a new message. + */ +export const TenantMemberServiceUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 6); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceGetResponse. + * Use `create(TenantMemberServiceGetResponseSchema)` to create a new message. + */ +export const TenantMemberServiceGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 7); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceListResponse. + * Use `create(TenantMemberServiceListResponseSchema)` to create a new message. + */ +export const TenantMemberServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 8); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceCreateResponse. + * Use `create(TenantMemberServiceCreateResponseSchema)` to create a new message. + */ +export const TenantMemberServiceCreateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 9); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceUpdateResponse. + * Use `create(TenantMemberServiceUpdateResponseSchema)` to create a new message. + */ +export const TenantMemberServiceUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 10); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceDeleteResponse. + * Use `create(TenantMemberServiceDeleteResponseSchema)` to create a new message. + */ +export const TenantMemberServiceDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 11); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceLeaveRequest. + * Use `create(TenantMemberServiceLeaveRequestSchema)` to create a new message. + */ +export const TenantMemberServiceLeaveRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 12); +/** + * Describes the message metalstack.api.v2.TenantMemberServiceLeaveResponse. + * Use `create(TenantMemberServiceLeaveResponseSchema)` to create a new message. + */ +export const TenantMemberServiceLeaveResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant_member, 13); +/** + * TenantMemberService provides tenant member management operations. + * + * @generated from service metalstack.api.v2.TenantMemberService + */ +export const TenantMemberService = /*@__PURE__*/ serviceDesc(file_metalstack_api_v2_tenant_member, 0); diff --git a/js/metalstack/api/v2/tenant_member_pb.ts b/js/metalstack/api/v2/tenant_member_pb.ts new file mode 100644 index 00000000..ff3f54fd --- /dev/null +++ b/js/metalstack/api/v2/tenant_member_pb.ts @@ -0,0 +1,488 @@ +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" +// @generated from file metalstack/api/v2/tenant_member.proto (package metalstack.api.v2, syntax proto3) +/* eslint-disable */ + +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 { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Meta, TenantRole, 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"; + +/** + * Describes the file metalstack/api/v2/tenant_member.proto. + */ +export const file_metalstack_api_v2_tenant_member: GenFile = /*@__PURE__*/ + fileDesc("CiVtZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnRfbWVtYmVyLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiLoAQoMVGVuYW50TWVtYmVyEhsKBm1lbWJlchgBIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABEhAKCHByb2plY3RzGAMgAygJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKBG1ldGEYBSABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhsKBnRlbmFudBgGIAEoCUILukgIcgaQtK6xAgEicQoeVGVuYW50TWVtYmVyU2VydmljZUxpc3RSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIzCgVxdWVyeRgCIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlclF1ZXJ5IpcBChFUZW5hbnRNZW1iZXJRdWVyeRIgCgZtZW1iZXIYASABKAlCC7pICHIGkLSusQIBSACIAQESOgoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABSAGIAQESEAoIcHJvamVjdHMYAyADKAlCCQoHX21lbWJlckIHCgVfcm9sZSJYCh1UZW5hbnRNZW1iZXJTZXJ2aWNlR2V0UmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESGwoGbWVtYmVyGAIgASgJQgu6SAhyBpC0rrECASJOCiBUZW5hbnRNZW1iZXJTZXJ2aWNlRGVsZXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESDgoGbWVtYmVyGAIgASgJIpIBCiBUZW5hbnRNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESGwoGbWVtYmVyGAIgASgJQgu6SAhyBpC0rrECARI1CgRyb2xlGAMgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEi3AEKIFRlbmFudE1lbWJlclNlcnZpY2VVcGRhdGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBEjoKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQAUgAiAEBEjoKC3VwZGF0ZV9tZXRhGAQgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBQgcKBV9yb2xlIlEKHlRlbmFudE1lbWJlclNlcnZpY2VHZXRSZXNwb25zZRIvCgZtZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIiUwofVGVuYW50TWVtYmVyU2VydmljZUxpc3RSZXNwb25zZRIwCgdtZW1iZXJzGAEgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIlQKIVRlbmFudE1lbWJlclNlcnZpY2VDcmVhdGVSZXNwb25zZRIvCgZtZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIiVAohVGVuYW50TWVtYmVyU2VydmljZVVwZGF0ZVJlc3BvbnNlEi8KBm1lbWJlchgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlciJUCiFUZW5hbnRNZW1iZXJTZXJ2aWNlRGVsZXRlUmVzcG9uc2USLwoGbWVtYmVyGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIj0KH1RlbmFudE1lbWJlclNlcnZpY2VMZWF2ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBIlMKIFRlbmFudE1lbWJlclNlcnZpY2VMZWF2ZVJlc3BvbnNlEi8KBm1lbWJlchgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlcjKIBgoTVGVuYW50TWVtYmVyU2VydmljZRJ+CgZDcmVhdGUSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlQ3JlYXRlUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlclNlcnZpY2VDcmVhdGVSZXNwb25zZSIJwvMYAQHg8xgBEnsKBExpc3QSMS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlTGlzdFJlcXVlc3QaMi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlTGlzdFJlc3BvbnNlIgzC8xgEAQIDBODzGAISeAoDR2V0EjAubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyU2VydmljZUdldFJlcXVlc3QaMS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlR2V0UmVzcG9uc2UiDMLzGAQBAgME4PMYAhJ+CgZVcGRhdGUSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlVXBkYXRlUmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlclNlcnZpY2VVcGRhdGVSZXNwb25zZSIJwvMYAQHg8xgBEn4KBkRlbGV0ZRIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlclNlcnZpY2VEZWxldGVSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyU2VydmljZURlbGV0ZVJlc3BvbnNlIgnC8xgBAeDzGAESegoFTGVhdmUSMi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXJTZXJ2aWNlTGVhdmVSZXF1ZXN0GjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyU2VydmljZUxlYXZlUmVzcG9uc2UiCNjzGALg8xgBQscBChVjb20ubWV0YWxzdGFjay5hcGkudjJCEVRlbmFudE1lbWJlclByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); + +/** + * TenantMember defines a user that participates in a tenant. + * + * @generated from message metalstack.api.v2.TenantMember + */ +export type TenantMember = Message<"metalstack.api.v2.TenantMember"> & { + /** + * Member is the user id of the member. + * + * @generated from field: string member = 1; + */ + member: string; + + /** + * Role is the role of the member. + * + * @generated from field: metalstack.api.v2.TenantRole role = 2; + */ + role: TenantRole; + + /** + * Projects in which a user is a direct member. + * + * @generated from field: repeated string projects = 3; + */ + projects: string[]; + + /** + * CreatedAt the date when the member was added to the tenant. + * + * @generated from field: google.protobuf.Timestamp created_at = 4; + */ + createdAt?: Timestamp | undefined; + + /** + * Meta for this tenant member. + * + * @generated from field: metalstack.api.v2.Meta meta = 5; + */ + meta?: Meta | undefined; + + /** + * Tenant is the tenant that this member participates in. + * + * @generated from field: string tenant = 6; + */ + tenant: string; +}; + +/** + * Describes the message metalstack.api.v2.TenantMember. + * Use `create(TenantMemberSchema)` to create a new message. + */ +export const TenantMemberSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 0); + +/** + * TenantMemberServiceListRequest is the request payload of the tenant member list request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceListRequest + */ +export type TenantMemberServiceListRequest = Message<"metalstack.api.v2.TenantMemberServiceListRequest"> & { + /** + * Login of the tenant. + * + * @generated from field: string login = 1; + */ + login: string; + + /** + * Query for tenant members. + * + * @generated from field: metalstack.api.v2.TenantMemberQuery query = 2; + */ + query?: TenantMemberQuery | undefined; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceListRequest. + * Use `create(TenantMemberServiceListRequestSchema)` to create a new message. + */ +export const TenantMemberServiceListRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 1); + +/** + * TenantMemberQuery is used to search tenant members. + * + * @generated from message metalstack.api.v2.TenantMemberQuery + */ +export type TenantMemberQuery = Message<"metalstack.api.v2.TenantMemberQuery"> & { + /** + * Member is the user id of the member. + * + * @generated from field: optional string member = 1; + */ + member?: string | undefined; + + /** + * Role is the role of the member. + * + * @generated from field: optional metalstack.api.v2.TenantRole role = 2; + */ + role?: TenantRole | undefined; + + /** + * Projects in which a user is a direct member. + * + * @generated from field: repeated string projects = 3; + */ + projects: string[]; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberQuery. + * Use `create(TenantMemberQuerySchema)` to create a new message. + */ +export const TenantMemberQuerySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 2); + +/** + * TenantMemberServiceGetRequest is the request payload of the tenant member get request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceGetRequest + */ +export type TenantMemberServiceGetRequest = Message<"metalstack.api.v2.TenantMemberServiceGetRequest"> & { + /** + * Login of the tenant. + * + * @generated from field: string login = 1; + */ + login: string; + + /** + * Member is the user id of the member. + * + * @generated from field: string member = 2; + */ + member: string; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceGetRequest. + * Use `create(TenantMemberServiceGetRequestSchema)` to create a new message. + */ +export const TenantMemberServiceGetRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 3); + +/** + * TenantMemberServiceDeleteRequest is used to remove a member from a tenant. + * + * @generated from message metalstack.api.v2.TenantMemberServiceDeleteRequest + */ +export type TenantMemberServiceDeleteRequest = Message<"metalstack.api.v2.TenantMemberServiceDeleteRequest"> & { + /** + * Login of the tenant. + * + * @generated from field: string login = 1; + */ + login: string; + + /** + * Member is the id of the member to remove from this tenant. + * + * @generated from field: string member = 2; + */ + member: string; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceDeleteRequest. + * Use `create(TenantMemberServiceDeleteRequestSchema)` to create a new message. + */ +export const TenantMemberServiceDeleteRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 4); + +/** + * TenantMemberServiceCreateRequest is the request payload for adding a member to a tenant. + * + * @generated from message metalstack.api.v2.TenantMemberServiceCreateRequest + */ +export type TenantMemberServiceCreateRequest = Message<"metalstack.api.v2.TenantMemberServiceCreateRequest"> & { + /** + * Login of the tenant to which the member will be added. + * + * @generated from field: string login = 1; + */ + login: string; + + /** + * Login of the member to add. + * + * @generated from field: string member = 2; + */ + member: string; + + /** + * Role to assign to the new member. + * + * @generated from field: metalstack.api.v2.TenantRole role = 3; + */ + role: TenantRole; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceCreateRequest. + * Use `create(TenantMemberServiceCreateRequestSchema)` to create a new message. + */ +export const TenantMemberServiceCreateRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 5); + +/** + * TenantMemberServiceUpdateRequest is used to update a member from a tenant. + * + * @generated from message metalstack.api.v2.TenantMemberServiceUpdateRequest + */ +export type TenantMemberServiceUpdateRequest = Message<"metalstack.api.v2.TenantMemberServiceUpdateRequest"> & { + /** + * Login of the tenant. + * + * @generated from field: string login = 1; + */ + login: string; + + /** + * Member is the id of the member to update in this tenant. + * + * @generated from field: string member = 2; + */ + member: string; + + /** + * Role of this user in this tenant. + * + * @generated from field: optional metalstack.api.v2.TenantRole role = 3; + */ + role?: TenantRole | undefined; + + /** + * UpdateMeta contains the timestamp and strategy to be used in this update request. + * + * @generated from field: metalstack.api.v2.UpdateMeta update_meta = 4; + */ + updateMeta?: UpdateMeta | undefined; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceUpdateRequest. + * Use `create(TenantMemberServiceUpdateRequestSchema)` to create a new message. + */ +export const TenantMemberServiceUpdateRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 6); + +/** + * TenantMemberServiceGetResponse is the response payload of the tenant member get request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceGetResponse + */ +export type TenantMemberServiceGetResponse = Message<"metalstack.api.v2.TenantMemberServiceGetResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceGetResponse. + * Use `create(TenantMemberServiceGetResponseSchema)` to create a new message. + */ +export const TenantMemberServiceGetResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 7); + +/** + * TenantMemberServiceListResponse is the response payload of the tenant member list request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceListResponse + */ +export type TenantMemberServiceListResponse = Message<"metalstack.api.v2.TenantMemberServiceListResponse"> & { + /** + * Members is the list of tenant members. + * + * @generated from field: repeated metalstack.api.v2.TenantMember members = 1; + */ + members: TenantMember[]; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceListResponse. + * Use `create(TenantMemberServiceListResponseSchema)` to create a new message. + */ +export const TenantMemberServiceListResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 8); + +/** + * TenantMemberServiceCreateResponse is the response payload of the tenant member create request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceCreateResponse + */ +export type TenantMemberServiceCreateResponse = Message<"metalstack.api.v2.TenantMemberServiceCreateResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceCreateResponse. + * Use `create(TenantMemberServiceCreateResponseSchema)` to create a new message. + */ +export const TenantMemberServiceCreateResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 9); + +/** + * TenantMemberServiceUpdateResponse is the response payload of the tenant member update request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceUpdateResponse + */ +export type TenantMemberServiceUpdateResponse = Message<"metalstack.api.v2.TenantMemberServiceUpdateResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceUpdateResponse. + * Use `create(TenantMemberServiceUpdateResponseSchema)` to create a new message. + */ +export const TenantMemberServiceUpdateResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 10); + +/** + * TenantMemberServiceDeleteResponse is the response payload of the tenant member delete request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceDeleteResponse + */ +export type TenantMemberServiceDeleteResponse = Message<"metalstack.api.v2.TenantMemberServiceDeleteResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceDeleteResponse. + * Use `create(TenantMemberServiceDeleteResponseSchema)` to create a new message. + */ +export const TenantMemberServiceDeleteResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 11); + +/** + * TenantMemberServiceLeaveRequest is used to leave a tenant. This way a member is not required to ask a tenant owner to remove him. + * + * @generated from message metalstack.api.v2.TenantMemberServiceLeaveRequest + */ +export type TenantMemberServiceLeaveRequest = Message<"metalstack.api.v2.TenantMemberServiceLeaveRequest"> & { + /** + * Login of the tenant that the user wants to leave. + * + * @generated from field: string login = 1; + */ + login: string; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceLeaveRequest. + * Use `create(TenantMemberServiceLeaveRequestSchema)` to create a new message. + */ +export const TenantMemberServiceLeaveRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 12); + +/** + * TenantMemberServiceLeaveResponse is the response payload to a leave tenant request. + * + * @generated from message metalstack.api.v2.TenantMemberServiceLeaveResponse + */ +export type TenantMemberServiceLeaveResponse = Message<"metalstack.api.v2.TenantMemberServiceLeaveResponse"> & { + /** + * Member is the member of this tenant. + * + * @generated from field: metalstack.api.v2.TenantMember member = 1; + */ + member?: TenantMember | undefined; +}; + +/** + * Describes the message metalstack.api.v2.TenantMemberServiceLeaveResponse. + * Use `create(TenantMemberServiceLeaveResponseSchema)` to create a new message. + */ +export const TenantMemberServiceLeaveResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_tenant_member, 13); + +/** + * TenantMemberService provides tenant member management operations. + * + * @generated from service metalstack.api.v2.TenantMemberService + */ +export const TenantMemberService: GenService<{ + /** + * Creates a new tenant member. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Create + */ + create: { + methodKind: "unary"; + input: typeof TenantMemberServiceCreateRequestSchema; + output: typeof TenantMemberServiceCreateResponseSchema; + }, + /** + * Returns the list of tenant members. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.List + */ + list: { + methodKind: "unary"; + input: typeof TenantMemberServiceListRequestSchema; + output: typeof TenantMemberServiceListResponseSchema; + }, + /** + * Get a tenant member. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Get + */ + get: { + methodKind: "unary"; + input: typeof TenantMemberServiceGetRequestSchema; + output: typeof TenantMemberServiceGetResponseSchema; + }, + /** + * Update a tenant member. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Update + */ + update: { + methodKind: "unary"; + input: typeof TenantMemberServiceUpdateRequestSchema; + output: typeof TenantMemberServiceUpdateResponseSchema; + }, + /** + * Delete a tenant. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Delete + */ + delete: { + methodKind: "unary"; + input: typeof TenantMemberServiceDeleteRequestSchema; + output: typeof TenantMemberServiceDeleteResponseSchema; + }, + /** + * Leave removes a member from a tenant. + * + * @generated from rpc metalstack.api.v2.TenantMemberService.Leave + */ + leave: { + methodKind: "unary"; + input: typeof TenantMemberServiceLeaveRequestSchema; + output: typeof TenantMemberServiceLeaveResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_metalstack_api_v2_tenant_member, 0); + diff --git a/js/metalstack/api/v2/tenant_pb.d.ts b/js/metalstack/api/v2/tenant_pb.d.ts index 75b31aa2..999bd0da 100644 --- a/js/metalstack/api/v2/tenant_pb.d.ts +++ b/js/metalstack/api/v2/tenant_pb.d.ts @@ -60,48 +60,6 @@ export type Tenant = Message<"metalstack.api.v2.Tenant"> & { * Use `create(TenantSchema)` to create a new message. */ export declare const TenantSchema: GenMessage; -/** - * TenantMember defines a user that participates in a tenant. - * - * @generated from message metalstack.api.v2.TenantMember - */ -export type TenantMember = Message<"metalstack.api.v2.TenantMember"> & { - /** - * Id is the user id of the member. - * - * @generated from field: string id = 1; - */ - id: string; - /** - * Role is the role of the member. - * - * @generated from field: metalstack.api.v2.TenantRole role = 2; - */ - role: TenantRole; - /** - * Projects in which a user is a direct member. - * - * @generated from field: repeated string projects = 3; - */ - projects: string[]; - /** - * CreatedAt the date when the member was added to the tenant. - * - * @generated from field: google.protobuf.Timestamp created_at = 4; - */ - createdAt?: Timestamp | undefined; - /** - * Meta for this tenant member. - * - * @generated from field: metalstack.api.v2.Meta meta = 5; - */ - meta?: Meta | undefined; -}; -/** - * Describes the message metalstack.api.v2.TenantMember. - * Use `create(TenantMemberSchema)` to create a new message. - */ -export declare const TenantMemberSchema: GenMessage; /** * TenantInvite defines invite to tenant. * @@ -366,12 +324,6 @@ export type TenantServiceGetResponse = Message<"metalstack.api.v2.TenantServiceG * @generated from field: metalstack.api.v2.Tenant tenant = 1; */ tenant?: Tenant | undefined; - /** - * TenantMembers of this tenant. - * - * @generated from field: repeated metalstack.api.v2.TenantMember tenant_members = 2; - */ - tenantMembers: TenantMember[]; }; /** * Describes the message metalstack.api.v2.TenantServiceGetResponse. @@ -564,77 +516,6 @@ export type TenantServiceInviteGetResponse = Message<"metalstack.api.v2.TenantSe * Use `create(TenantServiceInviteGetResponseSchema)` to create a new message. */ export declare const TenantServiceInviteGetResponseSchema: GenMessage; -/** - * TenantServiceRemoveMemberRequest is used to remove a member from a tenant. - * - * @generated from message metalstack.api.v2.TenantServiceRemoveMemberRequest - */ -export type TenantServiceRemoveMemberRequest = Message<"metalstack.api.v2.TenantServiceRemoveMemberRequest"> & { - /** - * Login of the tenant. - * - * @generated from field: string login = 1; - */ - login: string; - /** - * Member is the id of the member to remove from this tenant. - * - * @generated from field: string member = 2; - */ - member: string; -}; -/** - * Describes the message metalstack.api.v2.TenantServiceRemoveMemberRequest. - * Use `create(TenantServiceRemoveMemberRequestSchema)` to create a new message. - */ -export declare const TenantServiceRemoveMemberRequestSchema: GenMessage; -/** - * TenantServiceLeaveTenantRequest is used to leave a tenant. - * - * @generated from message metalstack.api.v2.TenantServiceLeaveRequest - */ -export type TenantServiceLeaveRequest = Message<"metalstack.api.v2.TenantServiceLeaveRequest"> & { - /** - * Login of the tenant. - * - * @generated from field: string login = 1; - */ - login: string; -}; -/** - * Describes the message metalstack.api.v2.TenantServiceLeaveRequest. - * Use `create(TenantServiceLeaveRequestSchema)` to create a new message. - */ -export declare const TenantServiceLeaveRequestSchema: GenMessage; -/** - * TenantServiceLeaveTenantResponse is the response payload to a leave tenant request. - * - * @generated from message metalstack.api.v2.TenantServiceLeaveResponse - */ -export type TenantServiceLeaveResponse = Message<"metalstack.api.v2.TenantServiceLeaveResponse"> & {}; -/** - * Describes the message metalstack.api.v2.TenantServiceLeaveResponse. - * Use `create(TenantServiceLeaveResponseSchema)` to create a new message. - */ -export declare const TenantServiceLeaveResponseSchema: GenMessage; -/** - * TenantServiceRemoveMemberResponse is the response payload to a remove member request. - * - * @generated from message metalstack.api.v2.TenantServiceRemoveMemberResponse - */ -export type TenantServiceRemoveMemberResponse = Message<"metalstack.api.v2.TenantServiceRemoveMemberResponse"> & { - /** - * TenantMember is the removed tenant member. - * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; - */ - tenantMember?: TenantMember | undefined; -}; -/** - * Describes the message metalstack.api.v2.TenantServiceRemoveMemberResponse. - * Use `create(TenantServiceRemoveMemberResponseSchema)` to create a new message. - */ -export declare const TenantServiceRemoveMemberResponseSchema: GenMessage; /** * TenantServiceInviteAcceptRequest is the request payload to a accept invite request. * @@ -712,102 +593,6 @@ export type TenantServiceInviteDeleteResponse = Message<"metalstack.api.v2.Tenan * Use `create(TenantServiceInviteDeleteResponseSchema)` to create a new message. */ export declare const TenantServiceInviteDeleteResponseSchema: GenMessage; -/** - * TenantServiceAddMemberRequest is the request payload for adding a member to a tenant. - * - * @generated from message metalstack.api.v2.TenantServiceAddMemberRequest - */ -export type TenantServiceAddMemberRequest = Message<"metalstack.api.v2.TenantServiceAddMemberRequest"> & { - /** - * Login of the tenant to which the member will be added. - * - * @generated from field: string login = 1; - */ - login: string; - /** - * Login of the member to add. - * - * @generated from field: string member = 2; - */ - member: string; - /** - * Role to assign to the new member. - * - * @generated from field: metalstack.api.v2.TenantRole role = 3; - */ - role: TenantRole; -}; -/** - * Describes the message metalstack.api.v2.TenantServiceAddMemberRequest. - * Use `create(TenantServiceAddMemberRequestSchema)` to create a new message. - */ -export declare const TenantServiceAddMemberRequestSchema: GenMessage; -/** - * TenantServiceAddMemberResponse is the response payload for the add member request. - * - * @generated from message metalstack.api.v2.TenantServiceAddMemberResponse - */ -export type TenantServiceAddMemberResponse = Message<"metalstack.api.v2.TenantServiceAddMemberResponse"> & { - /** - * TenantMember is the added tenant member. - * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; - */ - tenantMember?: TenantMember | undefined; -}; -/** - * Describes the message metalstack.api.v2.TenantServiceAddMemberResponse. - * Use `create(TenantServiceAddMemberResponseSchema)` to create a new message. - */ -export declare const TenantServiceAddMemberResponseSchema: GenMessage; -/** - * TenantServiceUpdateMemberRequest is used to update a member from a tenant. - * - * @generated from message metalstack.api.v2.TenantServiceUpdateMemberRequest - */ -export type TenantServiceUpdateMemberRequest = Message<"metalstack.api.v2.TenantServiceUpdateMemberRequest"> & { - /** - * Login of the tenant. - * - * @generated from field: string login = 1; - */ - login: string; - /** - * Member is the id of the member to update in this tenant. - * - * @generated from field: string member = 2; - */ - member: string; - /** - * Role of this user in this tenant. - * - * @generated from field: metalstack.api.v2.TenantRole role = 3; - */ - role: TenantRole; -}; -/** - * Describes the message metalstack.api.v2.TenantServiceUpdateMemberRequest. - * Use `create(TenantServiceUpdateMemberRequestSchema)` to create a new message. - */ -export declare const TenantServiceUpdateMemberRequestSchema: GenMessage; -/** - * TenantServiceUpdateMemberResponse is the response payload to a update member request. - * - * @generated from message metalstack.api.v2.TenantServiceUpdateMemberResponse - */ -export type TenantServiceUpdateMemberResponse = Message<"metalstack.api.v2.TenantServiceUpdateMemberResponse"> & { - /** - * TenantMember is the updated membership. - * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; - */ - tenantMember?: TenantMember | undefined; -}; -/** - * Describes the message metalstack.api.v2.TenantServiceUpdateMemberResponse. - * Use `create(TenantServiceUpdateMemberResponseSchema)` to create a new message. - */ -export declare const TenantServiceUpdateMemberResponseSchema: GenMessage; /** * TenantService provides tenant management operations. * @@ -864,46 +649,6 @@ export declare const TenantService: GenService<{ input: typeof TenantServiceDeleteRequestSchema; output: typeof TenantServiceDeleteResponseSchema; }; - /** - * Leave removes a member from a tenant. - * - * @generated from rpc metalstack.api.v2.TenantService.Leave - */ - leave: { - methodKind: "unary"; - input: typeof TenantServiceLeaveRequestSchema; - output: typeof TenantServiceLeaveResponseSchema; - }; - /** - * AddMember adds a member to a tenant. - * - * @generated from rpc metalstack.api.v2.TenantService.AddMember - */ - addMember: { - methodKind: "unary"; - input: typeof TenantServiceAddMemberRequestSchema; - output: typeof TenantServiceAddMemberResponseSchema; - }; - /** - * RemoveMember removes a member from a tenant. - * - * @generated from rpc metalstack.api.v2.TenantService.RemoveMember - */ - removeMember: { - methodKind: "unary"; - input: typeof TenantServiceRemoveMemberRequestSchema; - output: typeof TenantServiceRemoveMemberResponseSchema; - }; - /** - * UpdateMember update a member of a tenant. - * - * @generated from rpc metalstack.api.v2.TenantService.UpdateMember - */ - updateMember: { - methodKind: "unary"; - input: typeof TenantServiceUpdateMemberRequestSchema; - output: typeof TenantServiceUpdateMemberResponseSchema; - }; /** * Invite a user to a tenant. * diff --git a/js/metalstack/api/v2/tenant_pb.js b/js/metalstack/api/v2/tenant_pb.js index 9eb270b6..53610787 100644 --- a/js/metalstack/api/v2/tenant_pb.js +++ b/js/metalstack/api/v2/tenant_pb.js @@ -9,167 +9,122 @@ 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("Ch5tZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnQucHJvdG8SEW1ldGFsc3RhY2suYXBpLnYyItUBCgZUZW5hbnQSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEhYKBWVtYWlsGAQgASgJQge6SARyAmABEiAKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECARIfCgphdmF0YXJfdXJsGAYgASgJQgu6SAhyBuCzrrECARISCgpjcmVhdGVkX2J5GAcgASgJIscBCgxUZW5hbnRNZW1iZXISFwoCaWQYASABKAlCC7pICHIGkLSusQIBEjUKBHJvbGUYAiABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIQCghwcm9qZWN0cxgDIAMoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlCgRtZXRhGAUgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YSKcAgoMVGVuYW50SW52aXRlEg4KBnNlY3JldBgBIAEoCRIVCg10YXJnZXRfdGVuYW50GAIgASgJEjUKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIOCgZqb2luZWQYBCABKAgSGgoSdGFyZ2V0X3RlbmFudF9uYW1lGAUgASgJEg4KBnRlbmFudBgGIAEoCRITCgt0ZW5hbnRfbmFtZRgHIAEoCRIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglqb2luZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkkKGFRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFF1ZXJ5IscBCgtUZW5hbnRRdWVyeRIfCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEi4KBmxhYmVscxgDIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gCiAEBEikKBnBhZ2luZxgEIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlBhZ2luZ0IICgZfbG9naW5CBwoFX25hbWVCCQoHX2xhYmVscyIoChdUZW5hbnRTZXJ2aWNlR2V0UmVxdWVzdBINCgVsb2dpbhgBIAEoCSL1AQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0IOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsIvECChpUZW5hbnRTZXJ2aWNlVXBkYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIbCgVlbWFpbBgEIAEoCUIHukgEcgJgAUgBiAEBEiUKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECAUgCiAEBEiQKCmF2YXRhcl91cmwYBiABKAlCC7pICHIG4LOusQIBSAOIAQESNAoGbGFiZWxzGAcgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSASIAQFCBwoFX25hbWVCCAoGX2VtYWlsQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIjgKGlRlbmFudFNlcnZpY2VEZWxldGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECASJ+ChhUZW5hbnRTZXJ2aWNlR2V0UmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50EjcKDnRlbmFudF9tZW1iZXJzGAIgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIkcKGVRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2USKgoHdGVuYW50cxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJIChtUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkgKG1RlbmFudFNlcnZpY2VVcGRhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSAobVGVuYW50U2VydmljZURlbGV0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJvChpUZW5hbnRTZXJ2aWNlSW52aXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIk4KG1RlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZRIvCgZpbnZpdGUYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRJbnZpdGUiPQofVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgEiVAogVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2USMAoHaW52aXRlcxgBIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSIvCh1UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiUQoeVGVuYW50U2VydmljZUludml0ZUdldFJlc3BvbnNlEi8KBmludml0ZRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSJOCiBUZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESDgoGbWVtYmVyGAIgASgJIjcKGVRlbmFudFNlcnZpY2VMZWF2ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBIhwKGlRlbmFudFNlcnZpY2VMZWF2ZVJlc3BvbnNlIlsKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZRI2Cg10ZW5hbnRfbWVtYmVyGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIjIKIFRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJICiFUZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVzcG9uc2USDgoGdGVuYW50GAEgASgJEhMKC3RlbmFudF9uYW1lGAIgASgJIk4KIFRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIOCgZzZWNyZXQYAiABKAkiIwohVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIo8BCh1UZW5hbnRTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESGwoGbWVtYmVyGAIgASgJQgu6SAhyBpC0rrECARI1CgRyb2xlGAMgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEiWAoeVGVuYW50U2VydmljZUFkZE1lbWJlclJlc3BvbnNlEjYKDXRlbmFudF9tZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIikgEKIFRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBEjUKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQASJbCiFUZW5hbnRTZXJ2aWNlVXBkYXRlTWVtYmVyUmVzcG9uc2USNgoNdGVuYW50X21lbWJlchgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlcjLFDQoNVGVuYW50U2VydmljZRJxCgZDcmVhdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZSII2PMYAuDzGAESawoETGlzdBIrLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2UiCNjzGALg8xgCEmwKA0dldBIqLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VHZXRSZXF1ZXN0GisubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUdldFJlc3BvbnNlIgzC8xgEAQIDBODzGAIScwoGVXBkYXRlEi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVVwZGF0ZVJlcXVlc3QaLi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsLzGAIBAuDzGAEScwoGRGVsZXRlEi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZURlbGV0ZVJlcXVlc3QaLi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiCsLzGAIBAuDzGAESbwoFTGVhdmUSLC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlTGVhdmVSZXF1ZXN0Gi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxlYXZlUmVzcG9uc2UiCcLzGAED4PMYARJ8CglBZGRNZW1iZXISMC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBoxLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZSIKwvMYAgEC4PMYARKEAQoMUmVtb3ZlTWVtYmVyEjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVzcG9uc2UiCcLzGAEB4PMYARKEAQoMVXBkYXRlTWVtYmVyEjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlTWVtYmVyUmVzcG9uc2UiCcLzGAEB4PMYARJyCgZJbnZpdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZSIJwvMYAQHg8xgBEoMBCgxJbnZpdGVBY2NlcHQSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZSII2PMYAuDzGAEShAEKDEludml0ZURlbGV0ZRIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIgnC8xgBAeDzGAESgQEKC0ludml0ZXNMaXN0EjIubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVzTGlzdFJlc3BvbnNlIgnC8xgBAeDzGAISegoJSW52aXRlR2V0EjAubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUdldFJlcXVlc3QaMS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2UiCNjzGALg8xgCQsEBChVjb20ubWV0YWxzdGFjay5hcGkudjJCC1RlbmFudFByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [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("Ch5tZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnQucHJvdG8SEW1ldGFsc3RhY2suYXBpLnYyItUBCgZUZW5hbnQSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEhYKBWVtYWlsGAQgASgJQge6SARyAmABEiAKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECARIfCgphdmF0YXJfdXJsGAYgASgJQgu6SAhyBuCzrrECARISCgpjcmVhdGVkX2J5GAcgASgJIpwCCgxUZW5hbnRJbnZpdGUSDgoGc2VjcmV0GAEgASgJEhUKDXRhcmdldF90ZW5hbnQYAiABKAkSNQoEcm9sZRgDIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABEg4KBmpvaW5lZBgEIAEoCBIaChJ0YXJnZXRfdGVuYW50X25hbWUYBSABKAkSDgoGdGVuYW50GAYgASgJEhMKC3RlbmFudF9uYW1lGAcgASgJEi4KCmV4cGlyZXNfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWpvaW5lZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiSQoYVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Ei0KBXF1ZXJ5GAEgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50UXVlcnkixwEKC1RlbmFudFF1ZXJ5Eh8KBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESLgoGbGFiZWxzGAMgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAKIAQESKQoGcGFnaW5nGAQgASgLMhkubWV0YWxzdGFjay5hcGkudjIuUGFnaW5nQggKBl9sb2dpbkIHCgVfbmFtZUIJCgdfbGFiZWxzIigKF1RlbmFudFNlcnZpY2VHZXRSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJIvUBChpUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIlCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgFIAIgBARIbCgVlbWFpbBgDIAEoCUIHukgEcgJgAUgBiAEBEiQKCmF2YXRhcl91cmwYBCABKAlCC7pICHIG4LOusQIBSAKIAQESKQoGbGFiZWxzGAUgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzQg4KDF9kZXNjcmlwdGlvbkIICgZfZW1haWxCDQoLX2F2YXRhcl91cmwi8QIKGlRlbmFudFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIeCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECAUgAiAEBEhsKBWVtYWlsGAQgASgJQge6SARyAmABSAGIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAKIAQESJAoKYXZhdGFyX3VybBgGIAEoCUILukgIcgbgs66xAgFIA4gBARI0CgZsYWJlbHMYByABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIBIgBAUIHCgVfbmFtZUIICgZfZW1haWxCDgoMX2Rlc2NyaXB0aW9uQg0KC19hdmF0YXJfdXJsQgkKB19sYWJlbHMiOAoaVGVuYW50U2VydmljZURlbGV0ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBIkUKGFRlbmFudFNlcnZpY2VHZXRSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiRwoZVGVuYW50U2VydmljZUxpc3RSZXNwb25zZRIqCgd0ZW5hbnRzGAEgAygLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkgKG1RlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSAobVGVuYW50U2VydmljZVVwZGF0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJIChtUZW5hbnRTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Im8KGlRlbmFudFNlcnZpY2VJbnZpdGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARI1CgRyb2xlGAIgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEiTgobVGVuYW50U2VydmljZUludml0ZVJlc3BvbnNlEi8KBmludml0ZRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSI9Ch9UZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECASJUCiBUZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIwCgdpbnZpdGVzGAEgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50SW52aXRlIi8KHVRlbmFudFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJRCh5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USLwoGaW52aXRlGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50SW52aXRlIjIKIFRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJICiFUZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVzcG9uc2USDgoGdGVuYW50GAEgASgJEhMKC3RlbmFudF9uYW1lGAIgASgJIk4KIFRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIOCgZzZWNyZXQYAiABKAkiIwohVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlMsgJCg1UZW5hbnRTZXJ2aWNlEnEKBkNyZWF0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlIgjY8xgC4PMYARJrCgRMaXN0EisubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbAoDR2V0EioubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUdldFJlcXVlc3QaKy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlR2V0UmVzcG9uc2UiDMLzGAQBAgME4PMYAhJzCgZVcGRhdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJzCgZEZWxldGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlRGVsZXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VEZWxldGVSZXNwb25zZSIKwvMYAgEC4PMYARJyCgZJbnZpdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZSIJwvMYAQHg8xgBEoMBCgxJbnZpdGVBY2NlcHQSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZSII2PMYAuDzGAEShAEKDEludml0ZURlbGV0ZRIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIgnC8xgBAeDzGAESgQEKC0ludml0ZXNMaXN0EjIubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVzTGlzdFJlc3BvbnNlIgnC8xgBAeDzGAISegoJSW52aXRlR2V0EjAubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUdldFJlcXVlc3QaMS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2UiCNjzGALg8xgCQsEBChVjb20ubWV0YWxzdGFjay5hcGkudjJCC1RlbmFudFByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [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. */ export const TenantSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 0); -/** - * Describes the message metalstack.api.v2.TenantMember. - * Use `create(TenantMemberSchema)` to create a new message. - */ -export const TenantMemberSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 1); /** * Describes the message metalstack.api.v2.TenantInvite. * Use `create(TenantInviteSchema)` to create a new message. */ -export const TenantInviteSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 2); +export const TenantInviteSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 1); /** * Describes the message metalstack.api.v2.TenantServiceListRequest. * Use `create(TenantServiceListRequestSchema)` to create a new message. */ -export const TenantServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 3); +export const TenantServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 2); /** * 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); +export const TenantQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 3); /** * 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, 5); +export const TenantServiceGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 4); /** * 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, 6); +export const TenantServiceCreateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 5); /** * 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, 7); +export const TenantServiceUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 6); /** * 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, 8); +export const TenantServiceDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 7); /** * 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, 9); +export const TenantServiceGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 8); /** * 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, 10); +export const TenantServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 9); /** * 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, 11); +export const TenantServiceCreateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 10); /** * 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, 12); +export const TenantServiceUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 11); /** * 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, 13); +export const TenantServiceDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 12); /** * 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, 14); +export const TenantServiceInviteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 13); /** * 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, 15); +export const TenantServiceInviteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 14); /** * 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, 16); +export const TenantServiceInvitesListRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 15); /** * 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, 17); +export const TenantServiceInvitesListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 16); /** * 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, 18); +export const TenantServiceInviteGetRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 17); /** * 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, 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, 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, 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, 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, 23); +export const TenantServiceInviteGetResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 18); /** * 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, 24); +export const TenantServiceInviteAcceptRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 19); /** * 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, 25); +export const TenantServiceInviteAcceptResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 20); /** * 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, 26); +export const TenantServiceInviteDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 21); /** * 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, 27); -/** - * Describes the message metalstack.api.v2.TenantServiceAddMemberRequest. - * Use `create(TenantServiceAddMemberRequestSchema)` to create a new message. - */ -export const TenantServiceAddMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 28); -/** - * Describes the message metalstack.api.v2.TenantServiceAddMemberResponse. - * Use `create(TenantServiceAddMemberResponseSchema)` to create a new message. - */ -export const TenantServiceAddMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 29); -/** - * 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, 30); -/** - * 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, 31); +export const TenantServiceInviteDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 22); /** * TenantService provides tenant management operations. * diff --git a/js/metalstack/api/v2/tenant_pb.ts b/js/metalstack/api/v2/tenant_pb.ts index e327cdbc..60ef5071 100644 --- a/js/metalstack/api/v2/tenant_pb.ts +++ b/js/metalstack/api/v2/tenant_pb.ts @@ -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("Ch5tZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnQucHJvdG8SEW1ldGFsc3RhY2suYXBpLnYyItUBCgZUZW5hbnQSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEhYKBWVtYWlsGAQgASgJQge6SARyAmABEiAKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECARIfCgphdmF0YXJfdXJsGAYgASgJQgu6SAhyBuCzrrECARISCgpjcmVhdGVkX2J5GAcgASgJIscBCgxUZW5hbnRNZW1iZXISFwoCaWQYASABKAlCC7pICHIGkLSusQIBEjUKBHJvbGUYAiABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIQCghwcm9qZWN0cxgDIAMoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlCgRtZXRhGAUgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YSKcAgoMVGVuYW50SW52aXRlEg4KBnNlY3JldBgBIAEoCRIVCg10YXJnZXRfdGVuYW50GAIgASgJEjUKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQARIOCgZqb2luZWQYBCABKAgSGgoSdGFyZ2V0X3RlbmFudF9uYW1lGAUgASgJEg4KBnRlbmFudBgGIAEoCRITCgt0ZW5hbnRfbmFtZRgHIAEoCRIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglqb2luZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkkKGFRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFF1ZXJ5IscBCgtUZW5hbnRRdWVyeRIfCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEi4KBmxhYmVscxgDIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gCiAEBEikKBnBhZ2luZxgEIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlBhZ2luZ0IICgZfbG9naW5CBwoFX25hbWVCCQoHX2xhYmVscyIoChdUZW5hbnRTZXJ2aWNlR2V0UmVxdWVzdBINCgVsb2dpbhgBIAEoCSL1AQoaVGVuYW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBSACIAQESGwoFZW1haWwYAyABKAlCB7pIBHICYAFIAYgBARIkCgphdmF0YXJfdXJsGAQgASgJQgu6SAhyBuCzrrECAUgCiAEBEikKBmxhYmVscxgFIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0IOCgxfZGVzY3JpcHRpb25CCAoGX2VtYWlsQg0KC19hdmF0YXJfdXJsIvECChpUZW5hbnRTZXJ2aWNlVXBkYXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESHgoEbmFtZRgDIAEoCUILukgIcgbAs66xAgFIAIgBARIbCgVlbWFpbBgEIAEoCUIHukgEcgJgAUgBiAEBEiUKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECAUgCiAEBEiQKCmF2YXRhcl91cmwYBiABKAlCC7pICHIG4LOusQIBSAOIAQESNAoGbGFiZWxzGAcgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSASIAQFCBwoFX25hbWVCCAoGX2VtYWlsQg4KDF9kZXNjcmlwdGlvbkINCgtfYXZhdGFyX3VybEIJCgdfbGFiZWxzIjgKGlRlbmFudFNlcnZpY2VEZWxldGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECASJ+ChhUZW5hbnRTZXJ2aWNlR2V0UmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50EjcKDnRlbmFudF9tZW1iZXJzGAIgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIkcKGVRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2USKgoHdGVuYW50cxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJIChtUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkgKG1RlbmFudFNlcnZpY2VVcGRhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSAobVGVuYW50U2VydmljZURlbGV0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJvChpUZW5hbnRTZXJ2aWNlSW52aXRlUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESNQoEcm9sZRgCIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABIk4KG1RlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZRIvCgZpbnZpdGUYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRJbnZpdGUiPQofVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgEiVAogVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVzcG9uc2USMAoHaW52aXRlcxgBIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSIvCh1UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVxdWVzdBIOCgZzZWNyZXQYASABKAkiUQoeVGVuYW50U2VydmljZUludml0ZUdldFJlc3BvbnNlEi8KBmludml0ZRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSJOCiBUZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESDgoGbWVtYmVyGAIgASgJIjcKGVRlbmFudFNlcnZpY2VMZWF2ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBIhwKGlRlbmFudFNlcnZpY2VMZWF2ZVJlc3BvbnNlIlsKIVRlbmFudFNlcnZpY2VSZW1vdmVNZW1iZXJSZXNwb25zZRI2Cg10ZW5hbnRfbWVtYmVyGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50TWVtYmVyIjIKIFRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJICiFUZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVzcG9uc2USDgoGdGVuYW50GAEgASgJEhMKC3RlbmFudF9uYW1lGAIgASgJIk4KIFRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIOCgZzZWNyZXQYAiABKAkiIwohVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIo8BCh1UZW5hbnRTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBIaCgVsb2dpbhgBIAEoCUILukgIcgaQtK6xAgESGwoGbWVtYmVyGAIgASgJQgu6SAhyBpC0rrECARI1CgRyb2xlGAMgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEiWAoeVGVuYW50U2VydmljZUFkZE1lbWJlclJlc3BvbnNlEjYKDXRlbmFudF9tZW1iZXIYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRNZW1iZXIikgEKIFRlbmFudFNlcnZpY2VVcGRhdGVNZW1iZXJSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIbCgZtZW1iZXIYAiABKAlCC7pICHIGkLSusQIBEjUKBHJvbGUYAyABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRSb2xlQgi6SAWCAQIQASJbCiFUZW5hbnRTZXJ2aWNlVXBkYXRlTWVtYmVyUmVzcG9uc2USNgoNdGVuYW50X21lbWJlchgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudE1lbWJlcjLFDQoNVGVuYW50U2VydmljZRJxCgZDcmVhdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZSII2PMYAuDzGAESawoETGlzdBIrLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VMaXN0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VMaXN0UmVzcG9uc2UiCNjzGALg8xgCEmwKA0dldBIqLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VHZXRSZXF1ZXN0GisubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUdldFJlc3BvbnNlIgzC8xgEAQIDBODzGAIScwoGVXBkYXRlEi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVVwZGF0ZVJlcXVlc3QaLi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsLzGAIBAuDzGAEScwoGRGVsZXRlEi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZURlbGV0ZVJlcXVlc3QaLi5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiCsLzGAIBAuDzGAESbwoFTGVhdmUSLC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlTGVhdmVSZXF1ZXN0Gi0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxlYXZlUmVzcG9uc2UiCcLzGAED4PMYARJ8CglBZGRNZW1iZXISMC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlQWRkTWVtYmVyUmVxdWVzdBoxLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VBZGRNZW1iZXJSZXNwb25zZSIKwvMYAgEC4PMYARKEAQoMUmVtb3ZlTWVtYmVyEjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVJlbW92ZU1lbWJlclJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlUmVtb3ZlTWVtYmVyUmVzcG9uc2UiCcLzGAEB4PMYARKEAQoMVXBkYXRlTWVtYmVyEjMubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZVVwZGF0ZU1lbWJlclJlcXVlc3QaNC5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlTWVtYmVyUmVzcG9uc2UiCcLzGAEB4PMYARJyCgZJbnZpdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZSIJwvMYAQHg8xgBEoMBCgxJbnZpdGVBY2NlcHQSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZSII2PMYAuDzGAEShAEKDEludml0ZURlbGV0ZRIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIgnC8xgBAeDzGAESgQEKC0ludml0ZXNMaXN0EjIubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVzTGlzdFJlc3BvbnNlIgnC8xgBAeDzGAISegoJSW52aXRlR2V0EjAubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUdldFJlcXVlc3QaMS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2UiCNjzGALg8xgCQsEBChVjb20ubWV0YWxzdGFjay5hcGkudjJCC1RlbmFudFByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]); + fileDesc("Ch5tZXRhbHN0YWNrL2FwaS92Mi90ZW5hbnQucHJvdG8SEW1ldGFsc3RhY2suYXBpLnYyItUBCgZUZW5hbnQSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEhYKBWVtYWlsGAQgASgJQge6SARyAmABEiAKC2Rlc2NyaXB0aW9uGAUgASgJQgu6SAhyBsizrrECARIfCgphdmF0YXJfdXJsGAYgASgJQgu6SAhyBuCzrrECARISCgpjcmVhdGVkX2J5GAcgASgJIpwCCgxUZW5hbnRJbnZpdGUSDgoGc2VjcmV0GAEgASgJEhUKDXRhcmdldF90ZW5hbnQYAiABKAkSNQoEcm9sZRgDIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFJvbGVCCLpIBYIBAhABEg4KBmpvaW5lZBgEIAEoCBIaChJ0YXJnZXRfdGVuYW50X25hbWUYBSABKAkSDgoGdGVuYW50GAYgASgJEhMKC3RlbmFudF9uYW1lGAcgASgJEi4KCmV4cGlyZXNfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWpvaW5lZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiSQoYVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0Ei0KBXF1ZXJ5GAEgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50UXVlcnkixwEKC1RlbmFudFF1ZXJ5Eh8KBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESLgoGbGFiZWxzGAMgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAKIAQESKQoGcGFnaW5nGAQgASgLMhkubWV0YWxzdGFjay5hcGkudjIuUGFnaW5nQggKBl9sb2dpbkIHCgVfbmFtZUIJCgdfbGFiZWxzIigKF1RlbmFudFNlcnZpY2VHZXRSZXF1ZXN0Eg0KBWxvZ2luGAEgASgJIvUBChpUZW5hbnRTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIlCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgFIAIgBARIbCgVlbWFpbBgDIAEoCUIHukgEcgJgAUgBiAEBEiQKCmF2YXRhcl91cmwYBCABKAlCC7pICHIG4LOusQIBSAKIAQESKQoGbGFiZWxzGAUgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzQg4KDF9kZXNjcmlwdGlvbkIICgZfZW1haWxCDQoLX2F2YXRhcl91cmwi8QIKGlRlbmFudFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIeCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECAUgAiAEBEhsKBWVtYWlsGAQgASgJQge6SARyAmABSAGIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAKIAQESJAoKYXZhdGFyX3VybBgGIAEoCUILukgIcgbgs66xAgFIA4gBARI0CgZsYWJlbHMYByABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIBIgBAUIHCgVfbmFtZUIICgZfZW1haWxCDgoMX2Rlc2NyaXB0aW9uQg0KC19hdmF0YXJfdXJsQgkKB19sYWJlbHMiOAoaVGVuYW50U2VydmljZURlbGV0ZVJlcXVlc3QSGgoFbG9naW4YASABKAlCC7pICHIGkLSusQIBIkUKGFRlbmFudFNlcnZpY2VHZXRSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiRwoZVGVuYW50U2VydmljZUxpc3RSZXNwb25zZRIqCgd0ZW5hbnRzGAEgAygLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50IkgKG1RlbmFudFNlcnZpY2VDcmVhdGVSZXNwb25zZRIpCgZ0ZW5hbnQYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnQiSAobVGVuYW50U2VydmljZVVwZGF0ZVJlc3BvbnNlEikKBnRlbmFudBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudCJIChtUZW5hbnRTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKQoGdGVuYW50GAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Im8KGlRlbmFudFNlcnZpY2VJbnZpdGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARI1CgRyb2xlGAIgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50Um9sZUIIukgFggECEAEiTgobVGVuYW50U2VydmljZUludml0ZVJlc3BvbnNlEi8KBmludml0ZRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudEludml0ZSI9Ch9UZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECASJUCiBUZW5hbnRTZXJ2aWNlSW52aXRlc0xpc3RSZXNwb25zZRIwCgdpbnZpdGVzGAEgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50SW52aXRlIi8KHVRlbmFudFNlcnZpY2VJbnZpdGVHZXRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJRCh5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2USLwoGaW52aXRlGAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50SW52aXRlIjIKIFRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJICiFUZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVzcG9uc2USDgoGdGVuYW50GAEgASgJEhMKC3RlbmFudF9uYW1lGAIgASgJIk4KIFRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0EhoKBWxvZ2luGAEgASgJQgu6SAhyBpC0rrECARIOCgZzZWNyZXQYAiABKAkiIwohVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlMsgJCg1UZW5hbnRTZXJ2aWNlEnEKBkNyZWF0ZRItLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VDcmVhdGVSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUNyZWF0ZVJlc3BvbnNlIgjY8xgC4PMYARJrCgRMaXN0EisubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxpc3RSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUxpc3RSZXNwb25zZSII2PMYAuDzGAISbAoDR2V0EioubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUdldFJlcXVlc3QaKy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlR2V0UmVzcG9uc2UiDMLzGAQBAgME4PMYAhJzCgZVcGRhdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlVXBkYXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VVcGRhdGVSZXNwb25zZSIKwvMYAgEC4PMYARJzCgZEZWxldGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlRGVsZXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VEZWxldGVSZXNwb25zZSIKwvMYAgEC4PMYARJyCgZJbnZpdGUSLS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlUmVxdWVzdBouLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVSZXNwb25zZSIJwvMYAQHg8xgBEoMBCgxJbnZpdGVBY2NlcHQSMy5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlQWNjZXB0UmVxdWVzdBo0Lm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVBY2NlcHRSZXNwb25zZSII2PMYAuDzGAEShAEKDEludml0ZURlbGV0ZRIzLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVEZWxldGVSZXF1ZXN0GjQubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZURlbGV0ZVJlc3BvbnNlIgnC8xgBAeDzGAESgQEKC0ludml0ZXNMaXN0EjIubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZXNMaXN0UmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLlRlbmFudFNlcnZpY2VJbnZpdGVzTGlzdFJlc3BvbnNlIgnC8xgBAeDzGAISegoJSW52aXRlR2V0EjAubWV0YWxzdGFjay5hcGkudjIuVGVuYW50U2VydmljZUludml0ZUdldFJlcXVlc3QaMS5tZXRhbHN0YWNrLmFwaS52Mi5UZW5hbnRTZXJ2aWNlSW52aXRlR2V0UmVzcG9uc2UiCNjzGALg8xgCQsEBChVjb20ubWV0YWxzdGFjay5hcGkudjJCC1RlbmFudFByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [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. @@ -81,55 +81,6 @@ export type Tenant = Message<"metalstack.api.v2.Tenant"> & { export const TenantSchema: GenMessage = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_tenant, 0); -/** - * TenantMember defines a user that participates in a tenant. - * - * @generated from message metalstack.api.v2.TenantMember - */ -export type TenantMember = Message<"metalstack.api.v2.TenantMember"> & { - /** - * Id is the user id of the member. - * - * @generated from field: string id = 1; - */ - id: string; - - /** - * Role is the role of the member. - * - * @generated from field: metalstack.api.v2.TenantRole role = 2; - */ - role: TenantRole; - - /** - * Projects in which a user is a direct member. - * - * @generated from field: repeated string projects = 3; - */ - projects: string[]; - - /** - * CreatedAt the date when the member was added to the tenant. - * - * @generated from field: google.protobuf.Timestamp created_at = 4; - */ - createdAt?: Timestamp | undefined; - - /** - * Meta for this tenant member. - * - * @generated from field: metalstack.api.v2.Meta meta = 5; - */ - meta?: Meta | undefined; -}; - -/** - * Describes the message metalstack.api.v2.TenantMember. - * Use `create(TenantMemberSchema)` to create a new message. - */ -export const TenantMemberSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 1); - /** * TenantInvite defines invite to tenant. * @@ -205,7 +156,7 @@ export type TenantInvite = Message<"metalstack.api.v2.TenantInvite"> & { * Use `create(TenantInviteSchema)` to create a new message. */ export const TenantInviteSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 2); + messageDesc(file_metalstack_api_v2_tenant, 1); /** * TenantServiceListRequest is the request payload of the tenant list request. @@ -226,7 +177,7 @@ export type TenantServiceListRequest = Message<"metalstack.api.v2.TenantServiceL * Use `create(TenantServiceListRequestSchema)` to create a new message. */ export const TenantServiceListRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 3); + messageDesc(file_metalstack_api_v2_tenant, 2); /** * TenantQuery is used to search tenants. @@ -268,7 +219,7 @@ export type TenantQuery = Message<"metalstack.api.v2.TenantQuery"> & { * Use `create(TenantQuerySchema)` to create a new message. */ export const TenantQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 4); + messageDesc(file_metalstack_api_v2_tenant, 3); /** * TenantServiceGetRequest is the request payload of the tenant get request. @@ -289,7 +240,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, 5); + messageDesc(file_metalstack_api_v2_tenant, 4); /** * TenantServiceCreateRequest is the request payload of the tenant create request. @@ -338,7 +289,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, 6); + messageDesc(file_metalstack_api_v2_tenant, 5); /** * TenantServiceUpdateRequest is the request payload of the tenant update request. @@ -401,7 +352,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, 7); + messageDesc(file_metalstack_api_v2_tenant, 6); /** * TenantServiceDeleteRequest is the request payload of the tenant delete request. @@ -422,7 +373,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, 8); + messageDesc(file_metalstack_api_v2_tenant, 7); /** * TenantServiceGetResponse is the response payload of the tenant get request. @@ -436,13 +387,6 @@ export type TenantServiceGetResponse = Message<"metalstack.api.v2.TenantServiceG * @generated from field: metalstack.api.v2.Tenant tenant = 1; */ tenant?: Tenant | undefined; - - /** - * TenantMembers of this tenant. - * - * @generated from field: repeated metalstack.api.v2.TenantMember tenant_members = 2; - */ - tenantMembers: TenantMember[]; }; /** @@ -450,7 +394,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, 9); + messageDesc(file_metalstack_api_v2_tenant, 8); /** * TenantServiceListResponse is the response payload of the tenant list request. @@ -471,7 +415,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, 10); + messageDesc(file_metalstack_api_v2_tenant, 9); /** * TenantServiceCreateResponse is the response payload of the tenant create request. @@ -492,7 +436,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, 11); + messageDesc(file_metalstack_api_v2_tenant, 10); /** * TenantServiceUpdateResponse is the response payload of the tenant update request. @@ -513,7 +457,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, 12); + messageDesc(file_metalstack_api_v2_tenant, 11); /** * TenantServiceDeleteResponse is the response payload of the tenant delete request. @@ -534,7 +478,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, 13); + messageDesc(file_metalstack_api_v2_tenant, 12); /** * TenantServiceInviteRequest is used to invite a member to a tenant. @@ -562,7 +506,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, 14); + messageDesc(file_metalstack_api_v2_tenant, 13); /** * TenantServiceInviteRequest is the response payload to a invite member request. @@ -583,7 +527,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, 15); + messageDesc(file_metalstack_api_v2_tenant, 14); /** * TenantServiceInvitesListRequest is the request payload to a list invites request. @@ -604,7 +548,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, 16); + messageDesc(file_metalstack_api_v2_tenant, 15); /** * TenantServiceInvitesListResponse is the response payload to a list invites request. @@ -625,7 +569,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, 17); + messageDesc(file_metalstack_api_v2_tenant, 16); /** * TenantServiceInviteGetRequest is the request payload to get a invite. @@ -646,7 +590,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, 18); + messageDesc(file_metalstack_api_v2_tenant, 17); /** * TenantServiceInviteGetResponse is the response payload to a get invite request. @@ -667,92 +611,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, 19); - -/** - * TenantServiceRemoveMemberRequest is used to remove a member from a tenant. - * - * @generated from message metalstack.api.v2.TenantServiceRemoveMemberRequest - */ -export type TenantServiceRemoveMemberRequest = Message<"metalstack.api.v2.TenantServiceRemoveMemberRequest"> & { - /** - * Login of the tenant. - * - * @generated from field: string login = 1; - */ - login: string; - - /** - * Member is the id of the member to remove from this tenant. - * - * @generated from field: string member = 2; - */ - member: string; -}; - -/** - * Describes the message metalstack.api.v2.TenantServiceRemoveMemberRequest. - * Use `create(TenantServiceRemoveMemberRequestSchema)` to create a new message. - */ -export const TenantServiceRemoveMemberRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 20); - -/** - * TenantServiceLeaveTenantRequest is used to leave a tenant. - * - * @generated from message metalstack.api.v2.TenantServiceLeaveRequest - */ -export type TenantServiceLeaveRequest = Message<"metalstack.api.v2.TenantServiceLeaveRequest"> & { - /** - * Login of the tenant. - * - * @generated from field: string login = 1; - */ - login: string; -}; - -/** - * Describes the message metalstack.api.v2.TenantServiceLeaveRequest. - * Use `create(TenantServiceLeaveRequestSchema)` to create a new message. - */ -export const TenantServiceLeaveRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 21); - -/** - * TenantServiceLeaveTenantResponse is the response payload to a leave tenant request. - * - * @generated from message metalstack.api.v2.TenantServiceLeaveResponse - */ -export type TenantServiceLeaveResponse = Message<"metalstack.api.v2.TenantServiceLeaveResponse"> & { -}; - -/** - * Describes the message metalstack.api.v2.TenantServiceLeaveResponse. - * Use `create(TenantServiceLeaveResponseSchema)` to create a new message. - */ -export const TenantServiceLeaveResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 22); - -/** - * TenantServiceRemoveMemberResponse is the response payload to a remove member request. - * - * @generated from message metalstack.api.v2.TenantServiceRemoveMemberResponse - */ -export type TenantServiceRemoveMemberResponse = Message<"metalstack.api.v2.TenantServiceRemoveMemberResponse"> & { - /** - * TenantMember is the removed tenant member. - * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; - */ - tenantMember?: TenantMember | undefined; -}; - -/** - * Describes the message metalstack.api.v2.TenantServiceRemoveMemberResponse. - * Use `create(TenantServiceRemoveMemberResponseSchema)` to create a new message. - */ -export const TenantServiceRemoveMemberResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 23); + messageDesc(file_metalstack_api_v2_tenant, 18); /** * TenantServiceInviteAcceptRequest is the request payload to a accept invite request. @@ -773,7 +632,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, 24); + messageDesc(file_metalstack_api_v2_tenant, 19); /** * TenantServiceInviteAcceptResponse is the response payload to a accept invite request. @@ -801,7 +660,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, 25); + messageDesc(file_metalstack_api_v2_tenant, 20); /** * TenantServiceInviteDeleteRequest is the request payload to a delete invite. @@ -829,7 +688,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, 26); + messageDesc(file_metalstack_api_v2_tenant, 21); /** * TenantServiceInviteDeleteResponse is the response payload of a delete invite request. @@ -844,119 +703,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, 27); - -/** - * TenantServiceAddMemberRequest is the request payload for adding a member to a tenant. - * - * @generated from message metalstack.api.v2.TenantServiceAddMemberRequest - */ -export type TenantServiceAddMemberRequest = Message<"metalstack.api.v2.TenantServiceAddMemberRequest"> & { - /** - * Login of the tenant to which the member will be added. - * - * @generated from field: string login = 1; - */ - login: string; - - /** - * Login of the member to add. - * - * @generated from field: string member = 2; - */ - member: string; - - /** - * Role to assign to the new member. - * - * @generated from field: metalstack.api.v2.TenantRole role = 3; - */ - role: TenantRole; -}; - -/** - * Describes the message metalstack.api.v2.TenantServiceAddMemberRequest. - * Use `create(TenantServiceAddMemberRequestSchema)` to create a new message. - */ -export const TenantServiceAddMemberRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 28); - -/** - * TenantServiceAddMemberResponse is the response payload for the add member request. - * - * @generated from message metalstack.api.v2.TenantServiceAddMemberResponse - */ -export type TenantServiceAddMemberResponse = Message<"metalstack.api.v2.TenantServiceAddMemberResponse"> & { - /** - * TenantMember is the added tenant member. - * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; - */ - tenantMember?: TenantMember | undefined; -}; - -/** - * Describes the message metalstack.api.v2.TenantServiceAddMemberResponse. - * Use `create(TenantServiceAddMemberResponseSchema)` to create a new message. - */ -export const TenantServiceAddMemberResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 29); - -/** - * TenantServiceUpdateMemberRequest is used to update a member from a tenant. - * - * @generated from message metalstack.api.v2.TenantServiceUpdateMemberRequest - */ -export type TenantServiceUpdateMemberRequest = Message<"metalstack.api.v2.TenantServiceUpdateMemberRequest"> & { - /** - * Login of the tenant. - * - * @generated from field: string login = 1; - */ - login: string; - - /** - * Member is the id of the member to update in this tenant. - * - * @generated from field: string member = 2; - */ - member: string; - - /** - * Role of this user in this tenant. - * - * @generated from field: metalstack.api.v2.TenantRole role = 3; - */ - role: TenantRole; -}; - -/** - * Describes the message metalstack.api.v2.TenantServiceUpdateMemberRequest. - * Use `create(TenantServiceUpdateMemberRequestSchema)` to create a new message. - */ -export const TenantServiceUpdateMemberRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 30); - -/** - * TenantServiceUpdateMemberResponse is the response payload to a update member request. - * - * @generated from message metalstack.api.v2.TenantServiceUpdateMemberResponse - */ -export type TenantServiceUpdateMemberResponse = Message<"metalstack.api.v2.TenantServiceUpdateMemberResponse"> & { - /** - * TenantMember is the updated membership. - * - * @generated from field: metalstack.api.v2.TenantMember tenant_member = 1; - */ - tenantMember?: TenantMember | undefined; -}; - -/** - * Describes the message metalstack.api.v2.TenantServiceUpdateMemberResponse. - * Use `create(TenantServiceUpdateMemberResponseSchema)` to create a new message. - */ -export const TenantServiceUpdateMemberResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_tenant, 31); + messageDesc(file_metalstack_api_v2_tenant, 22); /** * TenantService provides tenant management operations. @@ -1014,46 +761,6 @@ export const TenantService: GenService<{ input: typeof TenantServiceDeleteRequestSchema; output: typeof TenantServiceDeleteResponseSchema; }, - /** - * Leave removes a member from a tenant. - * - * @generated from rpc metalstack.api.v2.TenantService.Leave - */ - leave: { - methodKind: "unary"; - input: typeof TenantServiceLeaveRequestSchema; - output: typeof TenantServiceLeaveResponseSchema; - }, - /** - * AddMember adds a member to a tenant. - * - * @generated from rpc metalstack.api.v2.TenantService.AddMember - */ - addMember: { - methodKind: "unary"; - input: typeof TenantServiceAddMemberRequestSchema; - output: typeof TenantServiceAddMemberResponseSchema; - }, - /** - * RemoveMember removes a member from a tenant. - * - * @generated from rpc metalstack.api.v2.TenantService.RemoveMember - */ - removeMember: { - methodKind: "unary"; - input: typeof TenantServiceRemoveMemberRequestSchema; - output: typeof TenantServiceRemoveMemberResponseSchema; - }, - /** - * UpdateMember update a member of a tenant. - * - * @generated from rpc metalstack.api.v2.TenantService.UpdateMember - */ - updateMember: { - methodKind: "unary"; - input: typeof TenantServiceUpdateMemberRequestSchema; - output: typeof TenantServiceUpdateMemberResponseSchema; - }, /** * Invite a user to a tenant. * diff --git a/proto/metalstack/admin/v2/project.proto b/proto/metalstack/admin/v2/project.proto index 3300e11f..1d7ca567 100644 --- a/proto/metalstack/admin/v2/project.proto +++ b/proto/metalstack/admin/v2/project.proto @@ -2,17 +2,35 @@ syntax = "proto3"; package metalstack.admin.v2; +import "buf/validate/validate.proto"; import "metalstack/api/v2/common.proto"; +import "metalstack/api/v2/predefined_rules.proto"; import "metalstack/api/v2/project.proto"; +import "metalstack/api/v2/project_member.proto"; // ProjectService provides project management operations. service ProjectService { + // Creates a new project. + rpc Create(ProjectServiceCreateRequest) returns (ProjectServiceCreateResponse) { + option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_EDITOR; + option (metalstack.api.v2.auditing) = AUDITING_INCLUDED; + } // Returns the list of projects matching the filter criteria. rpc List(ProjectServiceListRequest) returns (ProjectServiceListResponse) { option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_EDITOR; option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_VIEWER; option (metalstack.api.v2.auditing) = AUDITING_EXCLUDED; } + // Add a member to a project. + rpc AddMember(ProjectServiceAddMemberRequest) returns (ProjectServiceAddMemberResponse) { + option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_EDITOR; + option (metalstack.api.v2.auditing) = AUDITING_INCLUDED; + } + // RemoveMember removes a member from a project. + rpc RemoveMember(ProjectServiceRemoveMemberRequest) returns (ProjectServiceRemoveMemberResponse) { + option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_EDITOR; + option (metalstack.api.v2.auditing) = AUDITING_INCLUDED; + } } // ProjectServiceListRequest is the request payload for listing projects. @@ -26,3 +44,55 @@ message ProjectServiceListResponse { // Projects contains the list of projects. repeated metalstack.api.v2.Project projects = 1; } + +// ProjectServiceCreateRequest is the request payload to Create a project. +message ProjectServiceCreateRequest { + // Login is the tenant of this project. + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true]; + // Name of this project, unique per tenant. + string name = 2 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true]; + // 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 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; + // Labels on the project. + metalstack.api.v2.Labels labels = 5; + // Project is the uuid of the project. + optional string project = 6 [(buf.validate.field).string.uuid = true]; +} + +// ProjectServiceCreateResponse is the response payload for creating a project. +message ProjectServiceCreateResponse { + // Project contains the created project. + metalstack.api.v2.Project project = 1; +} + +// ProjectServiceAddMemberRequest is the request payload for adding a member to a tenant. +message ProjectServiceAddMemberRequest { + // Project is the uuid of the project. + string project = 1 [(buf.validate.field).string.uuid = true]; + // Login of the member to add. + string member = 2 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Role to assign to the new member. + metalstack.api.v2.ProjectRole role = 3 [(buf.validate.field).enum.defined_only = true]; +} + +// ProjectServiceAddMemberResponse is the response payload for the add member request. +message ProjectServiceAddMemberResponse { + // Member is the added project member. + metalstack.api.v2.ProjectMember member = 1; +} + +// ProjectServiceRemoveMemberRequest is the request payload for removing a member from a project. +message ProjectServiceRemoveMemberRequest { + // Project is the uuid of the project. + string project = 1 [(buf.validate.field).string.uuid = true]; + // Login of the member to remove. + string member = 2 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; +} + +// ProjectServiceRemoveMemberResponse is the response payload for the remove member request. +message ProjectServiceRemoveMemberResponse { + // Member is the removed project member. + metalstack.api.v2.ProjectMember member = 1; +} diff --git a/proto/metalstack/admin/v2/tenant.proto b/proto/metalstack/admin/v2/tenant.proto index 417f4821..d5c5417c 100644 --- a/proto/metalstack/admin/v2/tenant.proto +++ b/proto/metalstack/admin/v2/tenant.proto @@ -6,6 +6,7 @@ import "buf/validate/validate.proto"; import "metalstack/api/v2/common.proto"; import "metalstack/api/v2/predefined_rules.proto"; import "metalstack/api/v2/tenant.proto"; +import "metalstack/api/v2/tenant_member.proto"; // TenantService provides tenant management operations. service TenantService { @@ -35,7 +36,7 @@ service TenantService { // TenantServiceCreateRequest is the request payload for creating a tenant. message TenantServiceCreateRequest { // Name of the tenant. - string name = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + string name = 1 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true]; // Description of the tenant. optional string description = 2 [(buf.validate.field).string.(metalstack.api.v2.is_description) = true]; // Email of the tenant, if not set will be inherited from the creator. @@ -44,6 +45,8 @@ message TenantServiceCreateRequest { 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; + // Login of the tenant. + optional string login = 6 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; } // TenantServiceCreateResponse is the response payload for creating a tenant. @@ -78,8 +81,8 @@ message TenantServiceAddMemberRequest { // TenantServiceAddMemberResponse is the response payload for the add member request. message TenantServiceAddMemberResponse { - // TenantMember is the added tenant member. - metalstack.api.v2.TenantMember tenant_member = 1; + // Member is the added tenant member. + metalstack.api.v2.TenantMember member = 1; } // TenantServiceRemoveMemberRequest is the request payload for removing a member from a tenant. @@ -92,6 +95,6 @@ message TenantServiceRemoveMemberRequest { // TenantServiceRemoveMemberResponse is the response payload for the remove member request. message TenantServiceRemoveMemberResponse { - // TenantMember is the removed tenant member. - metalstack.api.v2.TenantMember tenant_member = 1; + // Member is the removed tenant member. + metalstack.api.v2.TenantMember member = 1; } diff --git a/proto/metalstack/api/v2/project.proto b/proto/metalstack/api/v2/project.proto index bdd425f1..15b00c24 100644 --- a/proto/metalstack/api/v2/project.proto +++ b/proto/metalstack/api/v2/project.proto @@ -38,27 +38,6 @@ service ProjectService { option (project_roles) = PROJECT_ROLE_EDITOR; option (auditing) = AUDITING_INCLUDED; } - // Leave project. - rpc Leave(ProjectServiceLeaveRequest) returns (ProjectServiceLeaveResponse) { - option (project_roles) = PROJECT_ROLE_VIEWER; - option (auditing) = AUDITING_INCLUDED; - } - - // AddMember adds a user to a project. - rpc AddMember(ProjectServiceAddMemberRequest) returns (ProjectServiceAddMemberResponse) { - option (project_roles) = PROJECT_ROLE_OWNER; - option (auditing) = AUDITING_INCLUDED; - } - // RemoveMember removes a user from a project. - rpc RemoveMember(ProjectServiceRemoveMemberRequest) returns (ProjectServiceRemoveMemberResponse) { - option (project_roles) = PROJECT_ROLE_OWNER; - option (auditing) = AUDITING_INCLUDED; - } - // UpdateMember updates a user for a project. - rpc UpdateMember(ProjectServiceUpdateMemberRequest) returns (ProjectServiceUpdateMemberResponse) { - option (project_roles) = PROJECT_ROLE_OWNER; - option (auditing) = AUDITING_INCLUDED; - } // Invite a user to a project. rpc Invite(ProjectServiceInviteRequest) returns (ProjectServiceInviteResponse) { @@ -104,22 +83,6 @@ message Project { optional string avatar_url = 6 [(buf.validate.field).string.(metalstack.api.v2.is_uri) = true]; } -// ProjectMember defines a user that participates in a project. -message ProjectMember { - // Id is the user id of the member. - string id = 1; - // Role is the role of the member. - ProjectRole role = 2 [(buf.validate.field).enum.defined_only = true]; - // InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. - // This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. - // Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members. - bool inherited_membership = 3; - // CreatedAt the date when the member was added to the project. - google.protobuf.Timestamp created_at = 4; - // Meta for this project member. - Meta meta = 5; -} - // ProjectInvite defines invite to project. message ProjectInvite { // Secret is the secret part of the invite, typically part of the url. @@ -176,8 +139,6 @@ message ProjectServiceGetRequest { message ProjectServiceGetResponse { // Project is the project. Project project = 1; - // ProjectMembers in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions. - repeated ProjectMember project_members = 2; } // ProjectServiceCreateRequest is the request payload to Create a project. @@ -276,58 +237,6 @@ message ProjectServiceInviteGetResponse { ProjectInvite invite = 1; } -// ProjectServiceLeaveRequest is used to leave a project. -message ProjectServiceLeaveRequest { - // Project is the uuid of the project. - string project = 1 [(buf.validate.field).string.uuid = true]; -} - -// ProjectServiceLeaveResponse is the response payload to a leave project request. -message ProjectServiceLeaveResponse {} - -// ProjectServiceAddMemberRequest is the request payload for adding a member to a project. -message ProjectServiceAddMemberRequest { - // Project is the uuid of the project. - string project = 1 [(buf.validate.field).string.uuid = true]; - // Login of the member to add. - string member = 2 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; - // Role to assign to the new member. - ProjectRole role = 3 [(buf.validate.field).enum.defined_only = true]; -} - -// ProjectServiceAddMemberResponse is the response payload for the add member request. -message ProjectServiceAddMemberResponse { - // ProjectRole is the added project member. - ProjectRole project_member = 1; -} - -// ProjectServiceRemoveMemberRequest is used to remove a member from a project. -message ProjectServiceRemoveMemberRequest { - // Project is the uuid of the project. - string project = 1 [(buf.validate.field).string.uuid = true]; - // Member is the id of the member to remove from this project. - string member = 2; -} - -// ProjectServiceRemoveMemberResponse is the response payload to a remove member request. -message ProjectServiceRemoveMemberResponse {} - -// ProjectServiceUpdateMemberRequest is used to update a member of a project. -message ProjectServiceUpdateMemberRequest { - // Project is the uuid of the project. - string project = 1 [(buf.validate.field).string.uuid = true]; - // Member is the id of the member to remove from this project. - string member = 2; - // Role is the role in this project the user will get after the update. - ProjectRole role = 3 [(buf.validate.field).enum.defined_only = true]; -} - -// ProjectServiceUpdateMemberResponse is the response payload to a update member request. -message ProjectServiceUpdateMemberResponse { - // ProjectMember is the updated project member. - ProjectMember project_member = 1; -} - // ProjectServiceInviteAcceptRequest is the request payload to a accept invite request. message ProjectServiceInviteAcceptRequest { // Secret is the invitation secret part of the invitation url. diff --git a/proto/metalstack/api/v2/project_member.proto b/proto/metalstack/api/v2/project_member.proto new file mode 100644 index 00000000..5953ba07 --- /dev/null +++ b/proto/metalstack/api/v2/project_member.proto @@ -0,0 +1,159 @@ +syntax = "proto3"; + +package metalstack.api.v2; + +import "buf/validate/validate.proto"; +import "google/protobuf/timestamp.proto"; +import "metalstack/api/v2/common.proto"; +import "metalstack/api/v2/predefined_rules.proto"; + +// ProjectMemberService provides project management operations. +service ProjectMemberService { + // Returns the list of project members. + rpc List(ProjectMemberServiceListRequest) returns (ProjectMemberServiceListResponse) { + option (project_roles) = PROJECT_ROLE_OWNER; + option (project_roles) = PROJECT_ROLE_EDITOR; + option (project_roles) = PROJECT_ROLE_VIEWER; + option (auditing) = AUDITING_EXCLUDED; + } + // Returns the project member of the project. + rpc Get(ProjectMemberServiceGetRequest) returns (ProjectMemberServiceGetResponse) { + option (project_roles) = PROJECT_ROLE_OWNER; + option (project_roles) = PROJECT_ROLE_EDITOR; + option (project_roles) = PROJECT_ROLE_VIEWER; + option (auditing) = AUDITING_EXCLUDED; + } + // Create a project member. + rpc Create(ProjectMemberServiceCreateRequest) returns (ProjectMemberServiceCreateResponse) { + option (project_roles) = PROJECT_ROLE_OWNER; + option (auditing) = AUDITING_INCLUDED; + } + // Delete a project member. + rpc Delete(ProjectMemberServiceDeleteRequest) returns (ProjectMemberServiceDeleteResponse) { + option (project_roles) = PROJECT_ROLE_OWNER; + option (auditing) = AUDITING_INCLUDED; + } + // Update a project member. + rpc Update(ProjectMemberServiceUpdateRequest) returns (ProjectMemberServiceUpdateResponse) { + option (project_roles) = PROJECT_ROLE_OWNER; + option (auditing) = AUDITING_INCLUDED; + } + + // Leave a project. + rpc Leave(ProjectMemberServiceLeaveRequest) returns (ProjectMemberServiceLeaveResponse) { + option (visibility) = VISIBILITY_SELF; + option (auditing) = AUDITING_INCLUDED; + } +} + +// ProjectMember defines a user that participates in a project. +message ProjectMember { + // Member is the user id of the member. + string member = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Role is the role of the member. + ProjectRole role = 2 [(buf.validate.field).enum.defined_only = true]; + // InheritedMembership indicates that this member has implicit permissions on the project through his membership within the tenant. + // This member does not have direct project membership but gains permissions on this project from the role he has in the tenant. + // Inherited memberships are not included in member lists for users with guest permission but only for direct tenant members. + bool inherited_membership = 3; + // CreatedAt the date when the member was added to the project. + google.protobuf.Timestamp created_at = 4; + // Meta for this project member. + Meta meta = 5; +} + +// ProjectQuery is used to search projects. +message ProjectMemberQuery { + // Member is the user id of the member. + optional string member = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Role is the role of the member. + optional ProjectRole role = 2 [(buf.validate.field).enum.defined_only = true]; +} + +// ProjectMemberServiceListRequest is the request payload to list all project members. +message ProjectMemberServiceListRequest { + // Project is the uuid of the project. + string project = 1 [(buf.validate.field).string.uuid = true]; + // Query for projects. + ProjectMemberQuery query = 2; +} + +// ProjectMemberServiceGetRequest is the request payload to get a project. +message ProjectMemberServiceGetRequest { + // Project is the uuid of the project. + string project = 1 [(buf.validate.field).string.uuid = true]; + // Member is the user id of the member. + string member = 2 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; +} + +// ProjectMemberServiceCreateRequest is the request payload to Create a project. +message ProjectMemberServiceCreateRequest { + // Project is the uuid of the project. + string project = 1 [(buf.validate.field).string.uuid = true]; + // Login of the member to add. + string member = 2 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Role to assign to the new member. + ProjectRole role = 3 [(buf.validate.field).enum.defined_only = true]; +} + +// ProjectMemberServiceUpdateRequest is the request payload to update a project. +message ProjectMemberServiceUpdateRequest { + // Project is the uuid of the project. + string project = 1 [(buf.validate.field).string.uuid = true]; + // Member is the id of the member to remove from this project. + string member = 2; + // Role is the role in this project the user will get after the update. + ProjectRole role = 3 [(buf.validate.field).enum.defined_only = true]; + // UpdateMeta contains the timestamp and strategy to be used in this update request. + UpdateMeta update_meta = 4 [(buf.validate.field).required = true]; +} + +// ProjectMemberServiceDeleteRequest is the request payload to delete a project. +message ProjectMemberServiceDeleteRequest { + // Project is the uuid of the project. + string project = 1 [(buf.validate.field).string.uuid = true]; + // Member is the id of the member to remove from this project. + string member = 2; +} + +// ProjectMemberServiceListResponse is the response payload to list all project members. +message ProjectMemberServiceListResponse { + // Members is a list of project members. + repeated ProjectMember members = 1; +} + +// ProjectMemberServiceGetResponse is the response payload to get a projects. +message ProjectMemberServiceGetResponse { + // Member in this project, projects guests will only see direct project members and not implicit memberships from tenant permissions. + repeated ProjectMember member = 1; +} + +// ProjectMemberServiceCreateResponse is the response payload to create a project member. +message ProjectMemberServiceCreateResponse { + // Member is the created project member + ProjectMember member = 1; +} + +// ProjectMemberServiceDeleteResponse is the response payload to delete a project member. +message ProjectMemberServiceDeleteResponse { + // Member is the deleted project member + ProjectMember member = 1; +} + +// ProjectMemberServiceUpdateResponse is the response payload to update a project member. +message ProjectMemberServiceUpdateResponse { + // Member is the updated project member + ProjectMember member = 1; +} + +// ProjectMemberServiceLeaveRequest is used to leave a project. This way a member is not required to ask a project owner to remove him. +message ProjectMemberServiceLeaveRequest { + // Project of the uuid of the project that the user wants to leave. + string project = 1 [(buf.validate.field).string.uuid = true]; +} + +// ProjectMemberServiceLeaveResponse is the response payload to a leave project request. +message ProjectMemberServiceLeaveResponse { + // Member is the member of this project. + ProjectMember member = 1; +} diff --git a/proto/metalstack/api/v2/tenant.proto b/proto/metalstack/api/v2/tenant.proto index 35f325b9..ed688c46 100644 --- a/proto/metalstack/api/v2/tenant.proto +++ b/proto/metalstack/api/v2/tenant.proto @@ -40,30 +40,6 @@ service TenantService { option (auditing) = AUDITING_INCLUDED; } - // Leave removes a member from a tenant. - rpc Leave(TenantServiceLeaveRequest) returns (TenantServiceLeaveResponse) { - option (tenant_roles) = TENANT_ROLE_VIEWER; - option (auditing) = AUDITING_INCLUDED; - } - - // AddMember adds a member to a tenant. - rpc AddMember(TenantServiceAddMemberRequest) returns (TenantServiceAddMemberResponse) { - option (tenant_roles) = TENANT_ROLE_OWNER; - option (tenant_roles) = TENANT_ROLE_EDITOR; - option (auditing) = AUDITING_INCLUDED; - } - // RemoveMember removes a member from a tenant. - rpc RemoveMember(TenantServiceRemoveMemberRequest) returns (TenantServiceRemoveMemberResponse) { - option (tenant_roles) = TENANT_ROLE_OWNER; - option (auditing) = AUDITING_INCLUDED; - } - - // UpdateMember update a member of a tenant. - rpc UpdateMember(TenantServiceUpdateMemberRequest) returns (TenantServiceUpdateMemberResponse) { - option (tenant_roles) = TENANT_ROLE_OWNER; - option (auditing) = AUDITING_INCLUDED; - } - // Invite a user to a tenant. rpc Invite(TenantServiceInviteRequest) returns (TenantServiceInviteResponse) { option (tenant_roles) = TENANT_ROLE_OWNER; @@ -109,20 +85,6 @@ message Tenant { string created_by = 7; } -// TenantMember defines a user that participates in a tenant. -message TenantMember { - // Id is the user id of the member. - 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 in which a user is a direct member. - repeated string projects = 3; - // CreatedAt the date when the member was added to the tenant. - google.protobuf.Timestamp created_at = 4; - // Meta for this tenant member. - Meta meta = 5; -} - // TenantInvite defines invite to tenant. message TenantInvite { // Secret is the secret part of the invite, typically part of the url. @@ -211,8 +173,6 @@ message TenantServiceDeleteRequest { message TenantServiceGetResponse { // Tenant is the tenant. Tenant tenant = 1; - // TenantMembers of this tenant. - repeated TenantMember tenant_members = 2; } // TenantServiceListResponse is the response payload of the tenant list request. @@ -277,29 +237,6 @@ message TenantServiceInviteGetResponse { TenantInvite invite = 1; } -// TenantServiceRemoveMemberRequest is used to remove a member from a tenant. -message TenantServiceRemoveMemberRequest { - // Login of the tenant. - 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; -} - -// TenantServiceLeaveTenantRequest is used to leave a tenant. -message TenantServiceLeaveRequest { - // Login of the tenant. - string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; -} - -// TenantServiceLeaveTenantResponse is the response payload to a leave tenant request. -message TenantServiceLeaveResponse {} - -// TenantServiceRemoveMemberResponse is the response payload to a remove member request. -message TenantServiceRemoveMemberResponse { - // TenantMember is the removed tenant member. - TenantMember tenant_member = 1; -} - // TenantServiceInviteAcceptRequest is the request payload to a accept invite request. message TenantServiceInviteAcceptRequest { // Secret is the invitation secret part of the invitation url. @@ -324,35 +261,3 @@ message TenantServiceInviteDeleteRequest { // TenantServiceInviteDeleteResponse is the response payload of a delete invite request. message TenantServiceInviteDeleteResponse {} - -// TenantServiceAddMemberRequest is the request payload for adding a member to a tenant. -message TenantServiceAddMemberRequest { - // Login of the tenant to which the member will be added. - string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; - // Login of the member to add. - string member = 2 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; - // Role to assign to the new member. - TenantRole role = 3 [(buf.validate.field).enum.defined_only = true]; -} - -// TenantServiceAddMemberResponse is the response payload for the add member request. -message TenantServiceAddMemberResponse { - // TenantMember is the added tenant member. - TenantMember tenant_member = 1; -} - -// TenantServiceUpdateMemberRequest is used to update a member from a tenant. -message TenantServiceUpdateMemberRequest { - // Login of the tenant. - 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 [(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]; -} - -// TenantServiceUpdateMemberResponse is the response payload to a update member request. -message TenantServiceUpdateMemberResponse { - // TenantMember is the updated membership. - TenantMember tenant_member = 1; -} diff --git a/proto/metalstack/api/v2/tenant_member.proto b/proto/metalstack/api/v2/tenant_member.proto new file mode 100644 index 00000000..575571e9 --- /dev/null +++ b/proto/metalstack/api/v2/tenant_member.proto @@ -0,0 +1,163 @@ +syntax = "proto3"; + +package metalstack.api.v2; + +import "buf/validate/validate.proto"; +import "google/protobuf/timestamp.proto"; +import "metalstack/api/v2/common.proto"; +import "metalstack/api/v2/predefined_rules.proto"; + +// TenantMemberService provides tenant member management operations. +service TenantMemberService { + // Creates a new tenant member. + rpc Create(TenantMemberServiceCreateRequest) returns (TenantMemberServiceCreateResponse) { + option (tenant_roles) = TENANT_ROLE_OWNER; + option (auditing) = AUDITING_INCLUDED; + } + // Returns the list of tenant members. + rpc List(TenantMemberServiceListRequest) returns (TenantMemberServiceListResponse) { + option (tenant_roles) = TENANT_ROLE_OWNER; + option (tenant_roles) = TENANT_ROLE_EDITOR; + option (tenant_roles) = TENANT_ROLE_VIEWER; + option (tenant_roles) = TENANT_ROLE_GUEST; + option (auditing) = AUDITING_EXCLUDED; + } + // Get a tenant member. + rpc Get(TenantMemberServiceGetRequest) returns (TenantMemberServiceGetResponse) { + option (tenant_roles) = TENANT_ROLE_OWNER; + option (tenant_roles) = TENANT_ROLE_EDITOR; + option (tenant_roles) = TENANT_ROLE_VIEWER; + option (tenant_roles) = TENANT_ROLE_GUEST; + option (auditing) = AUDITING_EXCLUDED; + } + // Update a tenant member. + rpc Update(TenantMemberServiceUpdateRequest) returns (TenantMemberServiceUpdateResponse) { + option (tenant_roles) = TENANT_ROLE_OWNER; + option (auditing) = AUDITING_INCLUDED; + } + // Delete a tenant. + rpc Delete(TenantMemberServiceDeleteRequest) returns (TenantMemberServiceDeleteResponse) { + option (tenant_roles) = TENANT_ROLE_OWNER; + option (auditing) = AUDITING_INCLUDED; + } + + // Leave removes a member from a tenant. + rpc Leave(TenantMemberServiceLeaveRequest) returns (TenantMemberServiceLeaveResponse) { + option (visibility) = VISIBILITY_SELF; + option (auditing) = AUDITING_INCLUDED; + } +} + +// TenantMember defines a user that participates in a tenant. +message TenantMember { + // Member is the user id of the member. + string member = 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 in which a user is a direct member. + repeated string projects = 3; + // CreatedAt the date when the member was added to the tenant. + google.protobuf.Timestamp created_at = 4; + // Meta for this tenant member. + Meta meta = 5; + // Tenant is the tenant that this member participates in. + string tenant = 6 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; +} + +// TenantMemberServiceListRequest is the request payload of the tenant member list request. +message TenantMemberServiceListRequest { + // Login of the tenant. + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Query for tenant members. + TenantMemberQuery query = 2; +} + +// TenantMemberQuery is used to search tenant members. +message TenantMemberQuery { + // Member is the user id of the member. + optional string member = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Role is the role of the member. + optional TenantRole role = 2 [(buf.validate.field).enum.defined_only = true]; + // Projects in which a user is a direct member. + repeated string projects = 3; +} + +// TenantMemberServiceGetRequest is the request payload of the tenant member get request. +message TenantMemberServiceGetRequest { + // Login of the tenant. + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Member is the user id of the member. + string member = 2 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; +} + +// TenantMemberServiceDeleteRequest is used to remove a member from a tenant. +message TenantMemberServiceDeleteRequest { + // Login of the tenant. + 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; +} + +// TenantMemberServiceCreateRequest is the request payload for adding a member to a tenant. +message TenantMemberServiceCreateRequest { + // Login of the tenant to which the member will be added. + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Login of the member to add. + string member = 2 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Role to assign to the new member. + TenantRole role = 3 [(buf.validate.field).enum.defined_only = true]; +} + +// TenantMemberServiceUpdateRequest is used to update a member from a tenant. +message TenantMemberServiceUpdateRequest { + // Login of the tenant. + 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 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; + // Role of this user in this tenant. + optional TenantRole role = 3 [(buf.validate.field).enum.defined_only = true]; + // UpdateMeta contains the timestamp and strategy to be used in this update request. + UpdateMeta update_meta = 4 [(buf.validate.field).required = true]; +} + +// TenantMemberServiceGetResponse is the response payload of the tenant member get request. +message TenantMemberServiceGetResponse { + // Member is the member of this tenant. + TenantMember member = 1; +} + +// TenantMemberServiceListResponse is the response payload of the tenant member list request. +message TenantMemberServiceListResponse { + // Members is the list of tenant members. + repeated TenantMember members = 1; +} + +// TenantMemberServiceCreateResponse is the response payload of the tenant member create request. +message TenantMemberServiceCreateResponse { + // Member is the member of this tenant. + TenantMember member = 1; +} + +// TenantMemberServiceUpdateResponse is the response payload of the tenant member update request. +message TenantMemberServiceUpdateResponse { + // Member is the member of this tenant. + TenantMember member = 1; +} + +// TenantMemberServiceDeleteResponse is the response payload of the tenant member delete request. +message TenantMemberServiceDeleteResponse { + // Member is the member of this tenant. + TenantMember member = 1; +} + +// TenantMemberServiceLeaveRequest is used to leave a tenant. This way a member is not required to ask a tenant owner to remove him. +message TenantMemberServiceLeaveRequest { + // Login of the tenant that the user wants to leave. + string login = 1 [(buf.validate.field).string.(metalstack.api.v2.is_tenant_login) = true]; +} + +// TenantMemberServiceLeaveResponse is the response payload to a leave tenant request. +message TenantMemberServiceLeaveResponse { + // Member is the member of this tenant. + TenantMember member = 1; +} diff --git a/python/metalstack/admin/v2/project_connect.py b/python/metalstack/admin/v2/project_connect.py index 320e2bda..9171aa14 100644 --- a/python/metalstack/admin/v2/project_connect.py +++ b/python/metalstack/admin/v2/project_connect.py @@ -18,15 +18,34 @@ class ProjectService(Protocol): + async def create(self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + async def list(self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceListRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceListResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + async def add_member(self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def remove_member(self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + class ProjectServiceASGIApplication(ConnectASGIApplication[ProjectService]): def __init__(self, service: ProjectService | AsyncGenerator[ProjectService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None: super().__init__( service=service, endpoints=lambda svc: { + "/metalstack.admin.v2.ProjectService/Create": Endpoint.unary( + method=MethodInfo( + name="Create", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.create, + ), "/metalstack.admin.v2.ProjectService/List": Endpoint.unary( method=MethodInfo( name="List", @@ -37,6 +56,26 @@ def __init__(self, service: ProjectService | AsyncGenerator[ProjectService], *, ), function=svc.list, ), + "/metalstack.admin.v2.ProjectService/AddMember": Endpoint.unary( + method=MethodInfo( + name="AddMember", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.add_member, + ), + "/metalstack.admin.v2.ProjectService/RemoveMember": Endpoint.unary( + method=MethodInfo( + name="RemoveMember", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.remove_member, + ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, @@ -51,6 +90,26 @@ def path(self) -> str: class ProjectServiceClient(ConnectClient): + async def create( + self, + request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Create", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + async def list( self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceListRequest, @@ -71,19 +130,75 @@ async def list( timeout_ms=timeout_ms, ) + async def add_member( + self, + request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="AddMember", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def remove_member( + self, + request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="RemoveMember", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + class ProjectServiceSync(Protocol): + def create(self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def list(self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceListRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceListResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def add_member(self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def remove_member(self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") class ProjectServiceWSGIApplication(ConnectWSGIApplication): def __init__(self, service: ProjectServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None: super().__init__( endpoints={ + "/metalstack.admin.v2.ProjectService/Create": EndpointSync.unary( + method=MethodInfo( + name="Create", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.create, + ), "/metalstack.admin.v2.ProjectService/List": EndpointSync.unary( method=MethodInfo( name="List", @@ -94,6 +209,26 @@ def __init__(self, service: ProjectServiceSync, interceptors: Iterable[Intercept ), function=service.list, ), + "/metalstack.admin.v2.ProjectService/AddMember": EndpointSync.unary( + method=MethodInfo( + name="AddMember", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.add_member, + ), + "/metalstack.admin.v2.ProjectService/RemoveMember": EndpointSync.unary( + method=MethodInfo( + name="RemoveMember", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.remove_member, + ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, @@ -108,6 +243,26 @@ def path(self) -> str: class ProjectServiceClientSync(ConnectClientSync): + def create( + self, + request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Create", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + def list( self, request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceListRequest, @@ -128,4 +283,44 @@ def list( timeout_ms=timeout_ms, ) + def add_member( + self, + request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="AddMember", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def remove_member( + self, + request: metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="RemoveMember", + service_name="metalstack.admin.v2.ProjectService", + input=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, + output=metalstack_dot_admin_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + diff --git a/python/metalstack/admin/v2/project_pb2.py b/python/metalstack/admin/v2/project_pb2.py index 5fcc5c18..a4d7a1d4 100644 --- a/python/metalstack/admin/v2/project_pb2.py +++ b/python/metalstack/admin/v2/project_pb2.py @@ -22,11 +22,14 @@ _sym_db = _symbol_database.Default() +from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2 +from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2 from metalstack.api.v2 import project_pb2 as metalstack_dot_api_dot_v2_dot_project__pb2 +from metalstack.api.v2 import project_member_pb2 as metalstack_dot_api_dot_v2_dot_project__member__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/project.proto\x12\x13metalstack.admin.v2\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/project.proto\"a\n\x19ProjectServiceListRequest\x12:\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.ProjectQueryH\x00R\x05query\x88\x01\x01\x42\x08\n\x06_query\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects2\x85\x01\n\x0eProjectService\x12s\n\x04List\x12..metalstack.admin.v2.ProjectServiceListRequest\x1a/.metalstack.admin.v2.ProjectServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cProjectProtoP\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/project.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\x1fmetalstack/api/v2/project.proto\x1a&metalstack/api/v2/project_member.proto\"a\n\x19ProjectServiceListRequest\x12:\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.ProjectQueryH\x00R\x05query\x88\x01\x01\x42\x08\n\x06_query\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\"\xb8\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\x06labels\x12\'\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x01R\x07project\x88\x01\x01\x42\r\n\x0b_avatar_urlB\n\n\x08_project\"T\n\x1cProjectServiceCreateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\xa7\x01\n\x1eProjectServiceAddMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\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\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"[\n\x1fProjectServiceAddMemberResponse\x12\x38\n\x06member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x06member\"l\n!ProjectServiceRemoveMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x06member\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06member\"^\n\"ProjectServiceRemoveMemberResponse\x12\x38\n\x06member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x06member2\x90\x04\n\x0eProjectService\x12x\n\x06\x43reate\x12\x30.metalstack.admin.v2.ProjectServiceCreateRequest\x1a\x31.metalstack.admin.v2.ProjectServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12s\n\x04List\x12..metalstack.admin.v2.ProjectServiceListRequest\x1a/.metalstack.admin.v2.ProjectServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x81\x01\n\tAddMember\x12\x33.metalstack.admin.v2.ProjectServiceAddMemberRequest\x1a\x34.metalstack.admin.v2.ProjectServiceAddMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x8a\x01\n\x0cRemoveMember\x12\x36.metalstack.admin.v2.ProjectServiceRemoveMemberRequest\x1a\x37.metalstack.admin.v2.ProjectServiceRemoveMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cProjectProtoP\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) @@ -34,12 +37,50 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\027com.metalstack.admin.v2B\014ProjectProtoP\001Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\242\002\003MAX\252\002\023Metalstack.Admin.V2\312\002\023Metalstack\\Admin\\V2\342\002\037Metalstack\\Admin\\V2\\GPBMetadata\352\002\025Metalstack::Admin::V2' + _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' + _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['name']._loaded_options = None + _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['_PROJECTSERVICECREATEREQUEST'].fields_by_name['project']._loaded_options = None + _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['project']._loaded_options = None + _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['member']._loaded_options = None + _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['role']._loaded_options = None + _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' + _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['project']._loaded_options = None + _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['member']._loaded_options = None + _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_PROJECTSERVICE'].methods_by_name['Create']._loaded_options = None + _globals['_PROJECTSERVICE'].methods_by_name['Create']._serialized_options = b'\322\363\030\001\001\340\363\030\001' _globals['_PROJECTSERVICE'].methods_by_name['List']._loaded_options = None _globals['_PROJECTSERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002' - _globals['_PROJECTSERVICELISTREQUEST']._serialized_start=123 - _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=220 - _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=222 - _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=306 - _globals['_PROJECTSERVICE']._serialized_start=309 - _globals['_PROJECTSERVICE']._serialized_end=442 + _globals['_PROJECTSERVICE'].methods_by_name['AddMember']._loaded_options = None + _globals['_PROJECTSERVICE'].methods_by_name['AddMember']._serialized_options = b'\322\363\030\001\001\340\363\030\001' + _globals['_PROJECTSERVICE'].methods_by_name['RemoveMember']._loaded_options = None + _globals['_PROJECTSERVICE'].methods_by_name['RemoveMember']._serialized_options = b'\322\363\030\001\001\340\363\030\001' + _globals['_PROJECTSERVICELISTREQUEST']._serialized_start=234 + _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=331 + _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=333 + _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=417 + _globals['_PROJECTSERVICECREATEREQUEST']._serialized_start=420 + _globals['_PROJECTSERVICECREATEREQUEST']._serialized_end=732 + _globals['_PROJECTSERVICECREATERESPONSE']._serialized_start=734 + _globals['_PROJECTSERVICECREATERESPONSE']._serialized_end=818 + _globals['_PROJECTSERVICEADDMEMBERREQUEST']._serialized_start=821 + _globals['_PROJECTSERVICEADDMEMBERREQUEST']._serialized_end=988 + _globals['_PROJECTSERVICEADDMEMBERRESPONSE']._serialized_start=990 + _globals['_PROJECTSERVICEADDMEMBERRESPONSE']._serialized_end=1081 + _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_start=1083 + _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=1191 + _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=1193 + _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=1287 + _globals['_PROJECTSERVICE']._serialized_start=1290 + _globals['_PROJECTSERVICE']._serialized_end=1818 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/admin/v2/project_pb2.pyi b/python/metalstack/admin/v2/project_pb2.pyi index 1a75bc90..1812f00f 100644 --- a/python/metalstack/admin/v2/project_pb2.pyi +++ b/python/metalstack/admin/v2/project_pb2.pyi @@ -1,5 +1,8 @@ +from buf.validate import validate_pb2 as _validate_pb2 from metalstack.api.v2 import common_pb2 as _common_pb2 +from metalstack.api.v2 import predefined_rules_pb2 as _predefined_rules_pb2 from metalstack.api.v2 import project_pb2 as _project_pb2 +from metalstack.api.v2 import project_member_pb2 as _project_member_pb2 from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message @@ -19,3 +22,55 @@ class ProjectServiceListResponse(_message.Message): PROJECTS_FIELD_NUMBER: _ClassVar[int] projects: _containers.RepeatedCompositeFieldContainer[_project_pb2.Project] def __init__(self, projects: _Optional[_Iterable[_Union[_project_pb2.Project, _Mapping]]] = ...) -> None: ... + +class ProjectServiceCreateRequest(_message.Message): + __slots__ = ("login", "name", "description", "avatar_url", "labels", "project") + LOGIN_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + AVATAR_URL_FIELD_NUMBER: _ClassVar[int] + LABELS_FIELD_NUMBER: _ClassVar[int] + PROJECT_FIELD_NUMBER: _ClassVar[int] + login: str + name: str + description: str + avatar_url: str + labels: _common_pb2.Labels + project: str + def __init__(self, login: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., avatar_url: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., project: _Optional[str] = ...) -> None: ... + +class ProjectServiceCreateResponse(_message.Message): + __slots__ = ("project",) + PROJECT_FIELD_NUMBER: _ClassVar[int] + project: _project_pb2.Project + def __init__(self, project: _Optional[_Union[_project_pb2.Project, _Mapping]] = ...) -> None: ... + +class ProjectServiceAddMemberRequest(_message.Message): + __slots__ = ("project", "member", "role") + PROJECT_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + project: str + member: str + role: _common_pb2.ProjectRole + def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ... + +class ProjectServiceAddMemberResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _project_member_pb2.ProjectMember + def __init__(self, member: _Optional[_Union[_project_member_pb2.ProjectMember, _Mapping]] = ...) -> None: ... + +class ProjectServiceRemoveMemberRequest(_message.Message): + __slots__ = ("project", "member") + PROJECT_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + project: str + member: str + def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ...) -> None: ... + +class ProjectServiceRemoveMemberResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _project_member_pb2.ProjectMember + def __init__(self, member: _Optional[_Union[_project_member_pb2.ProjectMember, _Mapping]] = ...) -> None: ... diff --git a/python/metalstack/admin/v2/tenant_pb2.py b/python/metalstack/admin/v2/tenant_pb2.py index 16d5a779..cd2eb175 100644 --- a/python/metalstack/admin/v2/tenant_pb2.py +++ b/python/metalstack/admin/v2/tenant_pb2.py @@ -26,9 +26,10 @@ from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2 from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2 from metalstack.api.v2 import tenant_pb2 as metalstack_dot_api_dot_v2_dot_tenant__pb2 +from metalstack.api.v2 import tenant_member_pb2 as metalstack_dot_api_dot_v2_dot_tenant__member__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\"\xa2\x02\n\x1aTenantServiceCreateRequest\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\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_page\"\xa6\x01\n\x1dTenantServiceAddMemberRequest\x12#\n\x06tenant\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06tenant\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\"f\n\x1eTenantServiceAddMemberResponse\x12\x44\n\rtenant_member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x0ctenantMember\"l\n TenantServiceRemoveMemberRequest\x12#\n\x06tenant\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06tenant\x12#\n\x06member\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06member\"i\n!TenantServiceRemoveMemberResponse\x12\x44\n\rtenant_member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x0ctenantMember2\x86\x04\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\x12\x7f\n\tAddMember\x12\x32.metalstack.admin.v2.TenantServiceAddMemberRequest\x1a\x33.metalstack.admin.v2.TenantServiceAddMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x88\x01\n\x0cRemoveMember\x12\x35.metalstack.admin.v2.TenantServiceRemoveMemberRequest\x1a\x36.metalstack.admin.v2.TenantServiceRemoveMemberResponse\"\t\xd2\xf3\x18\x01\x01\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\x1a%metalstack/api/v2/tenant_member.proto\"\xd4\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\x06labels\x12&\n\x05login\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01H\x03R\x05login\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x08\n\x06_emailB\r\n\x0b_avatar_urlB\x08\n\x06_login\"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_page\"\xa6\x01\n\x1dTenantServiceAddMemberRequest\x12#\n\x06tenant\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06tenant\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\"Y\n\x1eTenantServiceAddMemberResponse\x12\x37\n\x06member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x06member\"l\n TenantServiceRemoveMemberRequest\x12#\n\x06tenant\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06tenant\x12#\n\x06member\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06member\"\\\n!TenantServiceRemoveMemberResponse\x12\x37\n\x06member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x06member2\x86\x04\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\x12\x7f\n\tAddMember\x12\x32.metalstack.admin.v2.TenantServiceAddMemberRequest\x1a\x33.metalstack.admin.v2.TenantServiceAddMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x88\x01\n\x0cRemoveMember\x12\x35.metalstack.admin.v2.TenantServiceRemoveMemberRequest\x1a\x36.metalstack.admin.v2.TenantServiceRemoveMemberResponse\"\t\xd2\xf3\x18\x01\x01\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) @@ -37,13 +38,15 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\027com.metalstack.admin.v2B\013TenantProtoP\001Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\242\002\003MAX\252\002\023Metalstack.Admin.V2\312\002\023Metalstack\\Admin\\V2\342\002\037Metalstack\\Admin\\V2\\GPBMetadata\352\002\025Metalstack::Admin::V2' _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['name']._loaded_options = None - _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _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['_TENANTSERVICECREATEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' _globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['tenant']._loaded_options = None _globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['tenant']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' _globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['member']._loaded_options = None @@ -62,22 +65,22 @@ _globals['_TENANTSERVICE'].methods_by_name['AddMember']._serialized_options = b'\322\363\030\001\001\340\363\030\001' _globals['_TENANTSERVICE'].methods_by_name['RemoveMember']._loaded_options = None _globals['_TENANTSERVICE'].methods_by_name['RemoveMember']._serialized_options = b'\322\363\030\001\001\340\363\030\001' - _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=193 - _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['_TENANTSERVICEADDMEMBERREQUEST']._serialized_start=781 - _globals['_TENANTSERVICEADDMEMBERREQUEST']._serialized_end=947 - _globals['_TENANTSERVICEADDMEMBERRESPONSE']._serialized_start=949 - _globals['_TENANTSERVICEADDMEMBERRESPONSE']._serialized_end=1051 - _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_start=1053 - _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_end=1161 - _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=1163 - _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=1268 - _globals['_TENANTSERVICE']._serialized_start=1271 - _globals['_TENANTSERVICE']._serialized_end=1789 + _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=232 + _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=572 + _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=574 + _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=654 + _globals['_TENANTSERVICELISTREQUEST']._serialized_start=656 + _globals['_TENANTSERVICELISTREQUEST']._serialized_end=736 + _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=739 + _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=867 + _globals['_TENANTSERVICEADDMEMBERREQUEST']._serialized_start=870 + _globals['_TENANTSERVICEADDMEMBERREQUEST']._serialized_end=1036 + _globals['_TENANTSERVICEADDMEMBERRESPONSE']._serialized_start=1038 + _globals['_TENANTSERVICEADDMEMBERRESPONSE']._serialized_end=1127 + _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_start=1129 + _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_end=1237 + _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=1239 + _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=1331 + _globals['_TENANTSERVICE']._serialized_start=1334 + _globals['_TENANTSERVICE']._serialized_end=1852 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/admin/v2/tenant_pb2.pyi b/python/metalstack/admin/v2/tenant_pb2.pyi index 77b01eb8..e227e8ff 100644 --- a/python/metalstack/admin/v2/tenant_pb2.pyi +++ b/python/metalstack/admin/v2/tenant_pb2.pyi @@ -2,6 +2,7 @@ from buf.validate import validate_pb2 as _validate_pb2 from metalstack.api.v2 import common_pb2 as _common_pb2 from metalstack.api.v2 import predefined_rules_pb2 as _predefined_rules_pb2 from metalstack.api.v2 import tenant_pb2 as _tenant_pb2 +from metalstack.api.v2 import tenant_member_pb2 as _tenant_member_pb2 from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message @@ -11,18 +12,20 @@ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor class TenantServiceCreateRequest(_message.Message): - __slots__ = ("name", "description", "email", "avatar_url", "labels") + __slots__ = ("name", "description", "email", "avatar_url", "labels", "login") NAME_FIELD_NUMBER: _ClassVar[int] DESCRIPTION_FIELD_NUMBER: _ClassVar[int] EMAIL_FIELD_NUMBER: _ClassVar[int] AVATAR_URL_FIELD_NUMBER: _ClassVar[int] LABELS_FIELD_NUMBER: _ClassVar[int] + LOGIN_FIELD_NUMBER: _ClassVar[int] name: str description: str email: str avatar_url: str labels: _common_pb2.Labels - def __init__(self, name: _Optional[str] = ..., description: _Optional[str] = ..., email: _Optional[str] = ..., avatar_url: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ... + login: str + def __init__(self, name: _Optional[str] = ..., description: _Optional[str] = ..., email: _Optional[str] = ..., avatar_url: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., login: _Optional[str] = ...) -> None: ... class TenantServiceCreateResponse(_message.Message): __slots__ = ("tenant",) @@ -55,10 +58,10 @@ class TenantServiceAddMemberRequest(_message.Message): def __init__(self, tenant: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ... class TenantServiceAddMemberResponse(_message.Message): - __slots__ = ("tenant_member",) - TENANT_MEMBER_FIELD_NUMBER: _ClassVar[int] - tenant_member: _tenant_pb2.TenantMember - def __init__(self, tenant_member: _Optional[_Union[_tenant_pb2.TenantMember, _Mapping]] = ...) -> None: ... + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _tenant_member_pb2.TenantMember + def __init__(self, member: _Optional[_Union[_tenant_member_pb2.TenantMember, _Mapping]] = ...) -> None: ... class TenantServiceRemoveMemberRequest(_message.Message): __slots__ = ("tenant", "member") @@ -69,7 +72,7 @@ class TenantServiceRemoveMemberRequest(_message.Message): def __init__(self, tenant: _Optional[str] = ..., member: _Optional[str] = ...) -> None: ... class TenantServiceRemoveMemberResponse(_message.Message): - __slots__ = ("tenant_member",) - TENANT_MEMBER_FIELD_NUMBER: _ClassVar[int] - tenant_member: _tenant_pb2.TenantMember - def __init__(self, tenant_member: _Optional[_Union[_tenant_pb2.TenantMember, _Mapping]] = ...) -> None: ... + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _tenant_member_pb2.TenantMember + def __init__(self, member: _Optional[_Union[_tenant_member_pb2.TenantMember, _Mapping]] = ...) -> None: ... diff --git a/python/metalstack/api/v2/project_connect.py b/python/metalstack/api/v2/project_connect.py index 183dad9f..368b99ce 100644 --- a/python/metalstack/api/v2/project_connect.py +++ b/python/metalstack/api/v2/project_connect.py @@ -33,18 +33,6 @@ async def delete(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.Proje async def update(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - async def leave(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - - async def add_member(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - - async def remove_member(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - - async def update_member(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - async def invite(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceInviteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceInviteResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") @@ -116,46 +104,6 @@ def __init__(self, service: ProjectService | AsyncGenerator[ProjectService], *, ), function=svc.update, ), - "/metalstack.api.v2.ProjectService/Leave": Endpoint.unary( - method=MethodInfo( - name="Leave", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.leave, - ), - "/metalstack.api.v2.ProjectService/AddMember": Endpoint.unary( - method=MethodInfo( - name="AddMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.add_member, - ), - "/metalstack.api.v2.ProjectService/RemoveMember": Endpoint.unary( - method=MethodInfo( - name="RemoveMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.remove_member, - ), - "/metalstack.api.v2.ProjectService/UpdateMember": Endpoint.unary( - method=MethodInfo( - name="UpdateMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.update_member, - ), "/metalstack.api.v2.ProjectService/Invite": Endpoint.unary( method=MethodInfo( name="Invite", @@ -320,86 +268,6 @@ async def update( timeout_ms=timeout_ms, ) - async def leave( - self, - request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="Leave", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - async def add_member( - self, - request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="AddMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - async def remove_member( - self, - request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="RemoveMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - async def update_member( - self, - request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="UpdateMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - async def invite( self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceInviteRequest, @@ -515,14 +383,6 @@ def delete(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def update(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def leave(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def add_member(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def remove_member(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def update_member(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def invite(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceInviteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceInviteResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def invite_accept(self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceInviteAcceptRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceInviteAcceptResponse: @@ -589,46 +449,6 @@ def __init__(self, service: ProjectServiceSync, interceptors: Iterable[Intercept ), function=service.update, ), - "/metalstack.api.v2.ProjectService/Leave": EndpointSync.unary( - method=MethodInfo( - name="Leave", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.leave, - ), - "/metalstack.api.v2.ProjectService/AddMember": EndpointSync.unary( - method=MethodInfo( - name="AddMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.add_member, - ), - "/metalstack.api.v2.ProjectService/RemoveMember": EndpointSync.unary( - method=MethodInfo( - name="RemoveMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.remove_member, - ), - "/metalstack.api.v2.ProjectService/UpdateMember": EndpointSync.unary( - method=MethodInfo( - name="UpdateMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.update_member, - ), "/metalstack.api.v2.ProjectService/Invite": EndpointSync.unary( method=MethodInfo( name="Invite", @@ -793,86 +613,6 @@ def update( timeout_ms=timeout_ms, ) - def leave( - self, - request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="Leave", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceLeaveResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - def add_member( - self, - request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="AddMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceAddMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - def remove_member( - self, - request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="RemoveMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceRemoveMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - def update_member( - self, - request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="UpdateMember", - service_name="metalstack.api.v2.ProjectService", - input=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberRequest, - output=metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceUpdateMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - def invite( self, request: metalstack_dot_api_dot_v2_dot_project__pb2.ProjectServiceInviteRequest, diff --git a/python/metalstack/api/v2/project_member_connect.py b/python/metalstack/api/v2/project_member_connect.py new file mode 100644 index 00000000..05c5461e --- /dev/null +++ b/python/metalstack/api/v2/project_member_connect.py @@ -0,0 +1,456 @@ +# -*- coding: utf-8 -*- +# Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT! +# source: metalstack/api/v2/project_member.proto + +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol + +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.codec import Codec +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import metalstack.api.v2.project_member_pb2 as metalstack_dot_api_dot_v2_dot_project__member__pb2 + + +class ProjectMemberService(Protocol): + async def list(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def get(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def create(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def delete(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def update(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def leave(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + +class ProjectMemberServiceASGIApplication(ConnectASGIApplication[ProjectMemberService]): + def __init__(self, service: ProjectMemberService | AsyncGenerator[ProjectMemberService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None: + super().__init__( + service=service, + endpoints=lambda svc: { + "/metalstack.api.v2.ProjectMemberService/List": Endpoint.unary( + method=MethodInfo( + name="List", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.list, + ), + "/metalstack.api.v2.ProjectMemberService/Get": Endpoint.unary( + method=MethodInfo( + name="Get", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.get, + ), + "/metalstack.api.v2.ProjectMemberService/Create": Endpoint.unary( + method=MethodInfo( + name="Create", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.create, + ), + "/metalstack.api.v2.ProjectMemberService/Delete": Endpoint.unary( + method=MethodInfo( + name="Delete", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.delete, + ), + "/metalstack.api.v2.ProjectMemberService/Update": Endpoint.unary( + method=MethodInfo( + name="Update", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.update, + ), + "/metalstack.api.v2.ProjectMemberService/Leave": Endpoint.unary( + method=MethodInfo( + name="Leave", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.leave, + ), + }, + interceptors=interceptors, + read_max_bytes=read_max_bytes, + compressions=compressions, + codecs=codecs, + ) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return "/metalstack.api.v2.ProjectMemberService" + + +class ProjectMemberServiceClient(ConnectClient): + async def list( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="List", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def get( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Get", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def create( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Create", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def delete( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Delete", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def update( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Update", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def leave( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Leave", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + + + + +class ProjectMemberServiceSync(Protocol): + def list(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def get(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def create(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def delete(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def update(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def leave(self, request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + +class ProjectMemberServiceWSGIApplication(ConnectWSGIApplication): + def __init__(self, service: ProjectMemberServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None: + super().__init__( + endpoints={ + "/metalstack.api.v2.ProjectMemberService/List": EndpointSync.unary( + method=MethodInfo( + name="List", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.list, + ), + "/metalstack.api.v2.ProjectMemberService/Get": EndpointSync.unary( + method=MethodInfo( + name="Get", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.get, + ), + "/metalstack.api.v2.ProjectMemberService/Create": EndpointSync.unary( + method=MethodInfo( + name="Create", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.create, + ), + "/metalstack.api.v2.ProjectMemberService/Delete": EndpointSync.unary( + method=MethodInfo( + name="Delete", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.delete, + ), + "/metalstack.api.v2.ProjectMemberService/Update": EndpointSync.unary( + method=MethodInfo( + name="Update", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.update, + ), + "/metalstack.api.v2.ProjectMemberService/Leave": EndpointSync.unary( + method=MethodInfo( + name="Leave", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.leave, + ), + }, + interceptors=interceptors, + read_max_bytes=read_max_bytes, + compressions=compressions, + codecs=codecs, + ) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return "/metalstack.api.v2.ProjectMemberService" + + +class ProjectMemberServiceClientSync(ConnectClientSync): + def list( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="List", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceListResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def get( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Get", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceGetResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def create( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Create", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def delete( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Delete", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceDeleteResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def update( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Update", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceUpdateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def leave( + self, + request: metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Leave", + service_name="metalstack.api.v2.ProjectMemberService", + input=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveRequest, + output=metalstack_dot_api_dot_v2_dot_project__member__pb2.ProjectMemberServiceLeaveResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + diff --git a/python/metalstack/api/v2/project_member_pb2.py b/python/metalstack/api/v2/project_member_pb2.py new file mode 100644 index 00000000..572f37c8 --- /dev/null +++ b/python/metalstack/api/v2/project_member_pb2.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: metalstack/api/v2/project_member.proto +# Protobuf Python Version: 7.36.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 7, + 36, + 1, + '', + 'metalstack/api/v2/project_member.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2 +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&metalstack/api/v2/project_member.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\"\x8d\x02\n\rProjectMember\x12#\n\x06member\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06member\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\"\x95\x01\n\x12ProjectMemberQuery\x12(\n\x06member\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01H\x00R\x06member\x88\x01\x01\x12\x41\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x01R\x04role\x88\x01\x01\x42\t\n\x07_memberB\x07\n\x05_role\"\x82\x01\n\x1fProjectMemberServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12;\n\x05query\x18\x02 \x01(\x0b\x32%.metalstack.api.v2.ProjectMemberQueryR\x05query\"i\n\x1eProjectMemberServiceGetRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x06member\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06member\"\xaa\x01\n!ProjectMemberServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\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\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"\xe5\x01\n!ProjectMemberServiceUpdateRequest\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\x12\x46\n\x0bupdate_meta\x18\x04 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\"_\n!ProjectMemberServiceDeleteRequest\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 ProjectMemberServiceListResponse\x12:\n\x07members\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x07members\"[\n\x1fProjectMemberServiceGetResponse\x12\x38\n\x06member\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x06member\"^\n\"ProjectMemberServiceCreateResponse\x12\x38\n\x06member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x06member\"^\n\"ProjectMemberServiceDeleteResponse\x12\x38\n\x06member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x06member\"^\n\"ProjectMemberServiceUpdateResponse\x12\x38\n\x06member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x06member\"F\n ProjectMemberServiceLeaveRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"]\n!ProjectMemberServiceLeaveResponse\x12\x38\n\x06member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x06member2\x96\x06\n\x14ProjectMemberService\x12|\n\x04List\x12\x32.metalstack.api.v2.ProjectMemberServiceListRequest\x1a\x33.metalstack.api.v2.ProjectMemberServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12y\n\x03Get\x12\x31.metalstack.api.v2.ProjectMemberServiceGetRequest\x1a\x32.metalstack.api.v2.ProjectMemberServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12\x80\x01\n\x06\x43reate\x12\x34.metalstack.api.v2.ProjectMemberServiceCreateRequest\x1a\x35.metalstack.api.v2.ProjectMemberServiceCreateResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x80\x01\n\x06\x44\x65lete\x12\x34.metalstack.api.v2.ProjectMemberServiceDeleteRequest\x1a\x35.metalstack.api.v2.ProjectMemberServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x80\x01\n\x06Update\x12\x34.metalstack.api.v2.ProjectMemberServiceUpdateRequest\x1a\x35.metalstack.api.v2.ProjectMemberServiceUpdateResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12|\n\x05Leave\x12\x33.metalstack.api.v2.ProjectMemberServiceLeaveRequest\x1a\x34.metalstack.api.v2.ProjectMemberServiceLeaveResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x42\xc8\x01\n\x15\x63om.metalstack.api.v2B\x12ProjectMemberProtoP\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) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metalstack.api.v2.project_member_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.metalstack.api.v2B\022ProjectMemberProtoP\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['_PROJECTMEMBER'].fields_by_name['member']._loaded_options = None + _globals['_PROJECTMEMBER'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\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['_PROJECTMEMBERQUERY'].fields_by_name['member']._loaded_options = None + _globals['_PROJECTMEMBERQUERY'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_PROJECTMEMBERQUERY'].fields_by_name['role']._loaded_options = None + _globals['_PROJECTMEMBERQUERY'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' + _globals['_PROJECTMEMBERSERVICELISTREQUEST'].fields_by_name['project']._loaded_options = None + _globals['_PROJECTMEMBERSERVICELISTREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_PROJECTMEMBERSERVICEGETREQUEST'].fields_by_name['project']._loaded_options = None + _globals['_PROJECTMEMBERSERVICEGETREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_PROJECTMEMBERSERVICEGETREQUEST'].fields_by_name['member']._loaded_options = None + _globals['_PROJECTMEMBERSERVICEGETREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_PROJECTMEMBERSERVICECREATEREQUEST'].fields_by_name['project']._loaded_options = None + _globals['_PROJECTMEMBERSERVICECREATEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_PROJECTMEMBERSERVICECREATEREQUEST'].fields_by_name['member']._loaded_options = None + _globals['_PROJECTMEMBERSERVICECREATEREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_PROJECTMEMBERSERVICECREATEREQUEST'].fields_by_name['role']._loaded_options = None + _globals['_PROJECTMEMBERSERVICECREATEREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' + _globals['_PROJECTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['project']._loaded_options = None + _globals['_PROJECTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_PROJECTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['role']._loaded_options = None + _globals['_PROJECTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' + _globals['_PROJECTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._loaded_options = None + _globals['_PROJECTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._serialized_options = b'\272H\003\310\001\001' + _globals['_PROJECTMEMBERSERVICEDELETEREQUEST'].fields_by_name['project']._loaded_options = None + _globals['_PROJECTMEMBERSERVICEDELETEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_PROJECTMEMBERSERVICELEAVEREQUEST'].fields_by_name['project']._loaded_options = None + _globals['_PROJECTMEMBERSERVICELEAVEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['List']._loaded_options = None + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['List']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002' + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Get']._loaded_options = None + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Get']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002' + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Create']._loaded_options = None + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Create']._serialized_options = b'\312\363\030\001\001\340\363\030\001' + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Delete']._loaded_options = None + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\001\001\340\363\030\001' + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Update']._loaded_options = None + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Update']._serialized_options = b'\312\363\030\001\001\340\363\030\001' + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Leave']._loaded_options = None + _globals['_PROJECTMEMBERSERVICE'].methods_by_name['Leave']._serialized_options = b'\330\363\030\002\340\363\030\001' + _globals['_PROJECTMEMBER']._serialized_start=198 + _globals['_PROJECTMEMBER']._serialized_end=467 + _globals['_PROJECTMEMBERQUERY']._serialized_start=470 + _globals['_PROJECTMEMBERQUERY']._serialized_end=619 + _globals['_PROJECTMEMBERSERVICELISTREQUEST']._serialized_start=622 + _globals['_PROJECTMEMBERSERVICELISTREQUEST']._serialized_end=752 + _globals['_PROJECTMEMBERSERVICEGETREQUEST']._serialized_start=754 + _globals['_PROJECTMEMBERSERVICEGETREQUEST']._serialized_end=859 + _globals['_PROJECTMEMBERSERVICECREATEREQUEST']._serialized_start=862 + _globals['_PROJECTMEMBERSERVICECREATEREQUEST']._serialized_end=1032 + _globals['_PROJECTMEMBERSERVICEUPDATEREQUEST']._serialized_start=1035 + _globals['_PROJECTMEMBERSERVICEUPDATEREQUEST']._serialized_end=1264 + _globals['_PROJECTMEMBERSERVICEDELETEREQUEST']._serialized_start=1266 + _globals['_PROJECTMEMBERSERVICEDELETEREQUEST']._serialized_end=1361 + _globals['_PROJECTMEMBERSERVICELISTRESPONSE']._serialized_start=1363 + _globals['_PROJECTMEMBERSERVICELISTRESPONSE']._serialized_end=1457 + _globals['_PROJECTMEMBERSERVICEGETRESPONSE']._serialized_start=1459 + _globals['_PROJECTMEMBERSERVICEGETRESPONSE']._serialized_end=1550 + _globals['_PROJECTMEMBERSERVICECREATERESPONSE']._serialized_start=1552 + _globals['_PROJECTMEMBERSERVICECREATERESPONSE']._serialized_end=1646 + _globals['_PROJECTMEMBERSERVICEDELETERESPONSE']._serialized_start=1648 + _globals['_PROJECTMEMBERSERVICEDELETERESPONSE']._serialized_end=1742 + _globals['_PROJECTMEMBERSERVICEUPDATERESPONSE']._serialized_start=1744 + _globals['_PROJECTMEMBERSERVICEUPDATERESPONSE']._serialized_end=1838 + _globals['_PROJECTMEMBERSERVICELEAVEREQUEST']._serialized_start=1840 + _globals['_PROJECTMEMBERSERVICELEAVEREQUEST']._serialized_end=1910 + _globals['_PROJECTMEMBERSERVICELEAVERESPONSE']._serialized_start=1912 + _globals['_PROJECTMEMBERSERVICELEAVERESPONSE']._serialized_end=2005 + _globals['_PROJECTMEMBERSERVICE']._serialized_start=2008 + _globals['_PROJECTMEMBERSERVICE']._serialized_end=2798 +# @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/api/v2/project_member_pb2.pyi b/python/metalstack/api/v2/project_member_pb2.pyi new file mode 100644 index 00000000..e09e0207 --- /dev/null +++ b/python/metalstack/api/v2/project_member_pb2.pyi @@ -0,0 +1,123 @@ +import datetime + +from buf.validate import validate_pb2 as _validate_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from metalstack.api.v2 import common_pb2 as _common_pb2 +from metalstack.api.v2 import predefined_rules_pb2 as _predefined_rules_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class ProjectMember(_message.Message): + __slots__ = ("member", "role", "inherited_membership", "created_at", "meta") + MEMBER_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + INHERITED_MEMBERSHIP_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + META_FIELD_NUMBER: _ClassVar[int] + member: str + role: _common_pb2.ProjectRole + inherited_membership: bool + created_at: _timestamp_pb2.Timestamp + meta: _common_pb2.Meta + def __init__(self, member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ..., inherited_membership: _Optional[bool] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ...) -> None: ... + +class ProjectMemberQuery(_message.Message): + __slots__ = ("member", "role") + MEMBER_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + member: str + role: _common_pb2.ProjectRole + def __init__(self, member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ... + +class ProjectMemberServiceListRequest(_message.Message): + __slots__ = ("project", "query") + PROJECT_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + project: str + query: ProjectMemberQuery + def __init__(self, project: _Optional[str] = ..., query: _Optional[_Union[ProjectMemberQuery, _Mapping]] = ...) -> None: ... + +class ProjectMemberServiceGetRequest(_message.Message): + __slots__ = ("project", "member") + PROJECT_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + project: str + member: str + def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ...) -> None: ... + +class ProjectMemberServiceCreateRequest(_message.Message): + __slots__ = ("project", "member", "role") + PROJECT_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + project: str + member: str + role: _common_pb2.ProjectRole + def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ... + +class ProjectMemberServiceUpdateRequest(_message.Message): + __slots__ = ("project", "member", "role", "update_meta") + PROJECT_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + UPDATE_META_FIELD_NUMBER: _ClassVar[int] + project: str + member: str + role: _common_pb2.ProjectRole + update_meta: _common_pb2.UpdateMeta + def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ..., update_meta: _Optional[_Union[_common_pb2.UpdateMeta, _Mapping]] = ...) -> None: ... + +class ProjectMemberServiceDeleteRequest(_message.Message): + __slots__ = ("project", "member") + PROJECT_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + project: str + member: str + def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ...) -> None: ... + +class ProjectMemberServiceListResponse(_message.Message): + __slots__ = ("members",) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[ProjectMember] + def __init__(self, members: _Optional[_Iterable[_Union[ProjectMember, _Mapping]]] = ...) -> None: ... + +class ProjectMemberServiceGetResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _containers.RepeatedCompositeFieldContainer[ProjectMember] + def __init__(self, member: _Optional[_Iterable[_Union[ProjectMember, _Mapping]]] = ...) -> None: ... + +class ProjectMemberServiceCreateResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: ProjectMember + def __init__(self, member: _Optional[_Union[ProjectMember, _Mapping]] = ...) -> None: ... + +class ProjectMemberServiceDeleteResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: ProjectMember + def __init__(self, member: _Optional[_Union[ProjectMember, _Mapping]] = ...) -> None: ... + +class ProjectMemberServiceUpdateResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: ProjectMember + def __init__(self, member: _Optional[_Union[ProjectMember, _Mapping]] = ...) -> None: ... + +class ProjectMemberServiceLeaveRequest(_message.Message): + __slots__ = ("project",) + PROJECT_FIELD_NUMBER: _ClassVar[int] + project: str + def __init__(self, project: _Optional[str] = ...) -> None: ... + +class ProjectMemberServiceLeaveResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: ProjectMember + def __init__(self, member: _Optional[_Union[ProjectMember, _Mapping]] = ...) -> None: ... diff --git a/python/metalstack/api/v2/project_pb2.py b/python/metalstack/api/v2/project_pb2.py index 618b4ecb..868f4b94 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\"\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\"R\n\x19ProjectServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.ProjectQueryR\x05query\"\xe1\x01\n\x0cProjectQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\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\x90\xb4\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\x07\n\x05_uuidB\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\"\xa7\x01\n\x1eProjectServiceAddMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\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\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"h\n\x1fProjectServiceAddMemberResponse\x12\x45\n\x0eproject_member\x18\x01 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleR\rprojectMember\"_\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\xe1\r\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}\n\tAddMember\x12\x31.metalstack.api.v2.ProjectServiceAddMemberRequest\x1a\x32.metalstack.api.v2.ProjectServiceAddMemberResponse\"\t\xca\xf3\x18\x01\x01\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\"\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\"R\n\x19ProjectServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.ProjectQueryR\x05query\"\xe1\x01\n\x0cProjectQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\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\x90\xb4\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\x07\n\x05_uuidB\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\"Q\n\x19ProjectServiceGetResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\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!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\xdd\t\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\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) @@ -42,8 +42,6 @@ _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 _globals['_PROJECTINVITE'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_PROJECTQUERY'].fields_by_name['uuid']._loaded_options = None @@ -80,20 +78,6 @@ _globals['_PROJECTSERVICEINVITEREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_PROJECTSERVICEINVITESLISTREQUEST'].fields_by_name['project']._loaded_options = None _globals['_PROJECTSERVICEINVITESLISTREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_PROJECTSERVICELEAVEREQUEST'].fields_by_name['project']._loaded_options = None - _globals['_PROJECTSERVICELEAVEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['project']._loaded_options = None - _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['member']._loaded_options = None - _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' - _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['role']._loaded_options = None - _globals['_PROJECTSERVICEADDMEMBERREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' - _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['project']._loaded_options = None - _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['project']._loaded_options = None - _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['role']._loaded_options = None - _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_PROJECTSERVICEINVITEDELETEREQUEST'].fields_by_name['project']._loaded_options = None _globals['_PROJECTSERVICEINVITEDELETEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_PROJECTSERVICE'].methods_by_name['List']._loaded_options = None @@ -106,14 +90,6 @@ _globals['_PROJECTSERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\001\001\340\363\030\001' _globals['_PROJECTSERVICE'].methods_by_name['Update']._loaded_options = None _globals['_PROJECTSERVICE'].methods_by_name['Update']._serialized_options = b'\312\363\030\002\001\002\340\363\030\001' - _globals['_PROJECTSERVICE'].methods_by_name['Leave']._loaded_options = None - _globals['_PROJECTSERVICE'].methods_by_name['Leave']._serialized_options = b'\312\363\030\001\003\340\363\030\001' - _globals['_PROJECTSERVICE'].methods_by_name['AddMember']._loaded_options = None - _globals['_PROJECTSERVICE'].methods_by_name['AddMember']._serialized_options = b'\312\363\030\001\001\340\363\030\001' - _globals['_PROJECTSERVICE'].methods_by_name['RemoveMember']._loaded_options = None - _globals['_PROJECTSERVICE'].methods_by_name['RemoveMember']._serialized_options = b'\312\363\030\001\001\340\363\030\001' - _globals['_PROJECTSERVICE'].methods_by_name['UpdateMember']._loaded_options = None - _globals['_PROJECTSERVICE'].methods_by_name['UpdateMember']._serialized_options = b'\312\363\030\001\001\340\363\030\001' _globals['_PROJECTSERVICE'].methods_by_name['Invite']._loaded_options = None _globals['_PROJECTSERVICE'].methods_by_name['Invite']._serialized_options = b'\312\363\030\001\001\340\363\030\001' _globals['_PROJECTSERVICE'].methods_by_name['InviteAccept']._loaded_options = None @@ -126,68 +102,50 @@ _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=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=1048 - _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=1130 - _globals['_PROJECTQUERY']._serialized_start=1133 - _globals['_PROJECTQUERY']._serialized_end=1358 - _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=1360 - _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=1444 - _globals['_PROJECTSERVICEGETREQUEST']._serialized_start=1446 - _globals['_PROJECTSERVICEGETREQUEST']._serialized_end=1508 - _globals['_PROJECTSERVICEGETRESPONSE']._serialized_start=1511 - _globals['_PROJECTSERVICEGETRESPONSE']._serialized_end=1667 - _globals['_PROJECTSERVICECREATEREQUEST']._serialized_start=1670 - _globals['_PROJECTSERVICECREATEREQUEST']._serialized_end=1929 - _globals['_PROJECTSERVICECREATERESPONSE']._serialized_start=1931 - _globals['_PROJECTSERVICECREATERESPONSE']._serialized_end=2015 - _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_start=2017 - _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_end=2082 - _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_start=2084 - _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_end=2168 - _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_start=2171 - _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_end=2560 - _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_start=2562 - _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_end=2646 - _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_start=2648 - _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_end=2775 - _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_start=2777 - _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_end=2865 - _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_start=2867 - _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_end=2937 - _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_start=2939 - _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_end=3034 - _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_start=3036 - _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_end=3092 - _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_start=3094 - _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_end=3185 - _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_start=3187 - _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_end=3251 - _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_start=3253 - _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_end=3282 - _globals['_PROJECTSERVICEADDMEMBERREQUEST']._serialized_start=3285 - _globals['_PROJECTSERVICEADDMEMBERREQUEST']._serialized_end=3452 - _globals['_PROJECTSERVICEADDMEMBERRESPONSE']._serialized_start=3454 - _globals['_PROJECTSERVICEADDMEMBERRESPONSE']._serialized_end=3558 - _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_start=3560 - _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=3655 - _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=3657 - _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=3693 - _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3696 - _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3853 - _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3855 - _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3964 - _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=3966 - _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=4025 - _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=4027 - _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=4124 - _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=4126 - _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=4221 - _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=4223 - _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=4259 - _globals['_PROJECTSERVICE']._serialized_start=4262 - _globals['_PROJECTSERVICE']._serialized_end=6023 + _globals['_PROJECTINVITE']._serialized_start=436 + _globals['_PROJECTINVITE']._serialized_end=795 + _globals['_PROJECTSERVICELISTREQUEST']._serialized_start=797 + _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=879 + _globals['_PROJECTQUERY']._serialized_start=882 + _globals['_PROJECTQUERY']._serialized_end=1107 + _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=1109 + _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=1193 + _globals['_PROJECTSERVICEGETREQUEST']._serialized_start=1195 + _globals['_PROJECTSERVICEGETREQUEST']._serialized_end=1257 + _globals['_PROJECTSERVICEGETRESPONSE']._serialized_start=1259 + _globals['_PROJECTSERVICEGETRESPONSE']._serialized_end=1340 + _globals['_PROJECTSERVICECREATEREQUEST']._serialized_start=1343 + _globals['_PROJECTSERVICECREATEREQUEST']._serialized_end=1602 + _globals['_PROJECTSERVICECREATERESPONSE']._serialized_start=1604 + _globals['_PROJECTSERVICECREATERESPONSE']._serialized_end=1688 + _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_start=1690 + _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_end=1755 + _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_start=1757 + _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_end=1841 + _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_start=1844 + _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_end=2233 + _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_start=2235 + _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_end=2319 + _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_start=2321 + _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_end=2448 + _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_start=2450 + _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_end=2538 + _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_start=2540 + _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_end=2610 + _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_start=2612 + _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_end=2707 + _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_start=2709 + _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_end=2765 + _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_start=2767 + _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_end=2858 + _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=2860 + _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=2919 + _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=2921 + _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3018 + _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=3020 + _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=3115 + _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=3117 + _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=3153 + _globals['_PROJECTSERVICE']._serialized_start=3156 + _globals['_PROJECTSERVICE']._serialized_end=4401 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/api/v2/project_pb2.pyi b/python/metalstack/api/v2/project_pb2.pyi index 0f82ba19..a1033dc6 100644 --- a/python/metalstack/api/v2/project_pb2.pyi +++ b/python/metalstack/api/v2/project_pb2.pyi @@ -28,20 +28,6 @@ class Project(_message.Message): avatar_url: str def __init__(self, uuid: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., tenant: _Optional[str] = ..., avatar_url: _Optional[str] = ...) -> None: ... -class ProjectMember(_message.Message): - __slots__ = ("id", "role", "inherited_membership", "created_at", "meta") - ID_FIELD_NUMBER: _ClassVar[int] - ROLE_FIELD_NUMBER: _ClassVar[int] - INHERITED_MEMBERSHIP_FIELD_NUMBER: _ClassVar[int] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - META_FIELD_NUMBER: _ClassVar[int] - id: str - role: _common_pb2.ProjectRole - inherited_membership: bool - created_at: _timestamp_pb2.Timestamp - meta: _common_pb2.Meta - def __init__(self, id: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ..., inherited_membership: _Optional[bool] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ...) -> None: ... - class ProjectInvite(_message.Message): __slots__ = ("secret", "project", "role", "joined", "project_name", "tenant", "tenant_name", "expires_at", "joined_at") SECRET_FIELD_NUMBER: _ClassVar[int] @@ -95,12 +81,10 @@ class ProjectServiceGetRequest(_message.Message): def __init__(self, project: _Optional[str] = ...) -> None: ... class ProjectServiceGetResponse(_message.Message): - __slots__ = ("project", "project_members") + __slots__ = ("project",) PROJECT_FIELD_NUMBER: _ClassVar[int] - PROJECT_MEMBERS_FIELD_NUMBER: _ClassVar[int] project: Project - project_members: _containers.RepeatedCompositeFieldContainer[ProjectMember] - def __init__(self, project: _Optional[_Union[Project, _Mapping]] = ..., project_members: _Optional[_Iterable[_Union[ProjectMember, _Mapping]]] = ...) -> None: ... + def __init__(self, project: _Optional[_Union[Project, _Mapping]] = ...) -> None: ... class ProjectServiceCreateRequest(_message.Message): __slots__ = ("login", "name", "description", "avatar_url", "labels") @@ -194,60 +178,6 @@ class ProjectServiceInviteGetResponse(_message.Message): invite: ProjectInvite def __init__(self, invite: _Optional[_Union[ProjectInvite, _Mapping]] = ...) -> None: ... -class ProjectServiceLeaveRequest(_message.Message): - __slots__ = ("project",) - PROJECT_FIELD_NUMBER: _ClassVar[int] - project: str - def __init__(self, project: _Optional[str] = ...) -> None: ... - -class ProjectServiceLeaveResponse(_message.Message): - __slots__ = () - def __init__(self) -> None: ... - -class ProjectServiceAddMemberRequest(_message.Message): - __slots__ = ("project", "member", "role") - PROJECT_FIELD_NUMBER: _ClassVar[int] - MEMBER_FIELD_NUMBER: _ClassVar[int] - ROLE_FIELD_NUMBER: _ClassVar[int] - project: str - member: str - role: _common_pb2.ProjectRole - def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ... - -class ProjectServiceAddMemberResponse(_message.Message): - __slots__ = ("project_member",) - PROJECT_MEMBER_FIELD_NUMBER: _ClassVar[int] - project_member: _common_pb2.ProjectRole - def __init__(self, project_member: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ... - -class ProjectServiceRemoveMemberRequest(_message.Message): - __slots__ = ("project", "member") - PROJECT_FIELD_NUMBER: _ClassVar[int] - MEMBER_FIELD_NUMBER: _ClassVar[int] - project: str - member: str - def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ...) -> None: ... - -class ProjectServiceRemoveMemberResponse(_message.Message): - __slots__ = () - def __init__(self) -> None: ... - -class ProjectServiceUpdateMemberRequest(_message.Message): - __slots__ = ("project", "member", "role") - PROJECT_FIELD_NUMBER: _ClassVar[int] - MEMBER_FIELD_NUMBER: _ClassVar[int] - ROLE_FIELD_NUMBER: _ClassVar[int] - project: str - member: str - role: _common_pb2.ProjectRole - def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ... - -class ProjectServiceUpdateMemberResponse(_message.Message): - __slots__ = ("project_member",) - PROJECT_MEMBER_FIELD_NUMBER: _ClassVar[int] - project_member: ProjectMember - def __init__(self, project_member: _Optional[_Union[ProjectMember, _Mapping]] = ...) -> None: ... - class ProjectServiceInviteAcceptRequest(_message.Message): __slots__ = ("secret",) SECRET_FIELD_NUMBER: _ClassVar[int] diff --git a/python/metalstack/api/v2/tenant_connect.py b/python/metalstack/api/v2/tenant_connect.py index 128d03a3..7ae7ced0 100644 --- a/python/metalstack/api/v2/tenant_connect.py +++ b/python/metalstack/api/v2/tenant_connect.py @@ -33,18 +33,6 @@ async def update(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.Tenant async def delete(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceDeleteResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - async def leave(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - - async def add_member(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - - async def remove_member(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - - async def update_member(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - async def invite(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceInviteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceInviteResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") @@ -116,46 +104,6 @@ def __init__(self, service: TenantService | AsyncGenerator[TenantService], *, in ), function=svc.delete, ), - "/metalstack.api.v2.TenantService/Leave": Endpoint.unary( - method=MethodInfo( - name="Leave", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.leave, - ), - "/metalstack.api.v2.TenantService/AddMember": Endpoint.unary( - method=MethodInfo( - name="AddMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.add_member, - ), - "/metalstack.api.v2.TenantService/RemoveMember": Endpoint.unary( - method=MethodInfo( - name="RemoveMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.remove_member, - ), - "/metalstack.api.v2.TenantService/UpdateMember": Endpoint.unary( - method=MethodInfo( - name="UpdateMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.update_member, - ), "/metalstack.api.v2.TenantService/Invite": Endpoint.unary( method=MethodInfo( name="Invite", @@ -320,86 +268,6 @@ async def delete( timeout_ms=timeout_ms, ) - async def leave( - self, - request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="Leave", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - async def add_member( - self, - request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="AddMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - async def remove_member( - self, - request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="RemoveMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - async def update_member( - self, - request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="UpdateMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - async def invite( self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceInviteRequest, @@ -515,14 +383,6 @@ def update(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServic raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def delete(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceDeleteResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def leave(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def add_member(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def remove_member(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def update_member(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def invite(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceInviteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceInviteResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def invite_accept(self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceInviteAcceptRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceInviteAcceptResponse: @@ -589,46 +449,6 @@ def __init__(self, service: TenantServiceSync, interceptors: Iterable[Intercepto ), function=service.delete, ), - "/metalstack.api.v2.TenantService/Leave": EndpointSync.unary( - method=MethodInfo( - name="Leave", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.leave, - ), - "/metalstack.api.v2.TenantService/AddMember": EndpointSync.unary( - method=MethodInfo( - name="AddMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.add_member, - ), - "/metalstack.api.v2.TenantService/RemoveMember": EndpointSync.unary( - method=MethodInfo( - name="RemoveMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.remove_member, - ), - "/metalstack.api.v2.TenantService/UpdateMember": EndpointSync.unary( - method=MethodInfo( - name="UpdateMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.update_member, - ), "/metalstack.api.v2.TenantService/Invite": EndpointSync.unary( method=MethodInfo( name="Invite", @@ -793,86 +613,6 @@ def delete( timeout_ms=timeout_ms, ) - def leave( - self, - request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="Leave", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceLeaveResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - def add_member( - self, - request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="AddMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceAddMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - def remove_member( - self, - request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="RemoveMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceRemoveMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - def update_member( - self, - request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="UpdateMember", - service_name="metalstack.api.v2.TenantService", - input=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberRequest, - output=metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceUpdateMemberResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - def invite( self, request: metalstack_dot_api_dot_v2_dot_tenant__pb2.TenantServiceInviteRequest, diff --git a/python/metalstack/api/v2/tenant_member_connect.py b/python/metalstack/api/v2/tenant_member_connect.py new file mode 100644 index 00000000..4a641a45 --- /dev/null +++ b/python/metalstack/api/v2/tenant_member_connect.py @@ -0,0 +1,456 @@ +# -*- coding: utf-8 -*- +# Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT! +# source: metalstack/api/v2/tenant_member.proto + +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol + +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.codec import Codec +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import metalstack.api.v2.tenant_member_pb2 as metalstack_dot_api_dot_v2_dot_tenant__member__pb2 + + +class TenantMemberService(Protocol): + async def create(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def list(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def get(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def update(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def delete(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def leave(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + +class TenantMemberServiceASGIApplication(ConnectASGIApplication[TenantMemberService]): + def __init__(self, service: TenantMemberService | AsyncGenerator[TenantMemberService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None: + super().__init__( + service=service, + endpoints=lambda svc: { + "/metalstack.api.v2.TenantMemberService/Create": Endpoint.unary( + method=MethodInfo( + name="Create", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.create, + ), + "/metalstack.api.v2.TenantMemberService/List": Endpoint.unary( + method=MethodInfo( + name="List", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.list, + ), + "/metalstack.api.v2.TenantMemberService/Get": Endpoint.unary( + method=MethodInfo( + name="Get", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.get, + ), + "/metalstack.api.v2.TenantMemberService/Update": Endpoint.unary( + method=MethodInfo( + name="Update", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.update, + ), + "/metalstack.api.v2.TenantMemberService/Delete": Endpoint.unary( + method=MethodInfo( + name="Delete", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.delete, + ), + "/metalstack.api.v2.TenantMemberService/Leave": Endpoint.unary( + method=MethodInfo( + name="Leave", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.leave, + ), + }, + interceptors=interceptors, + read_max_bytes=read_max_bytes, + compressions=compressions, + codecs=codecs, + ) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return "/metalstack.api.v2.TenantMemberService" + + +class TenantMemberServiceClient(ConnectClient): + async def create( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Create", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def list( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="List", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def get( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Get", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def update( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Update", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def delete( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Delete", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def leave( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="Leave", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + + + + +class TenantMemberServiceSync(Protocol): + def create(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def list(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def get(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def update(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def delete(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def leave(self, request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + +class TenantMemberServiceWSGIApplication(ConnectWSGIApplication): + def __init__(self, service: TenantMemberServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None: + super().__init__( + endpoints={ + "/metalstack.api.v2.TenantMemberService/Create": EndpointSync.unary( + method=MethodInfo( + name="Create", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.create, + ), + "/metalstack.api.v2.TenantMemberService/List": EndpointSync.unary( + method=MethodInfo( + name="List", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.list, + ), + "/metalstack.api.v2.TenantMemberService/Get": EndpointSync.unary( + method=MethodInfo( + name="Get", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.get, + ), + "/metalstack.api.v2.TenantMemberService/Update": EndpointSync.unary( + method=MethodInfo( + name="Update", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.update, + ), + "/metalstack.api.v2.TenantMemberService/Delete": EndpointSync.unary( + method=MethodInfo( + name="Delete", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.delete, + ), + "/metalstack.api.v2.TenantMemberService/Leave": EndpointSync.unary( + method=MethodInfo( + name="Leave", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.leave, + ), + }, + interceptors=interceptors, + read_max_bytes=read_max_bytes, + compressions=compressions, + codecs=codecs, + ) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return "/metalstack.api.v2.TenantMemberService" + + +class TenantMemberServiceClientSync(ConnectClientSync): + def create( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Create", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceCreateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def list( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="List", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceListResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def get( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Get", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceGetResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def update( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Update", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceUpdateResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def delete( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Delete", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceDeleteResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def leave( + self, + request: metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="Leave", + service_name="metalstack.api.v2.TenantMemberService", + input=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveRequest, + output=metalstack_dot_api_dot_v2_dot_tenant__member__pb2.TenantMemberServiceLeaveResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + diff --git a/python/metalstack/api/v2/tenant_member_pb2.py b/python/metalstack/api/v2/tenant_member_pb2.py new file mode 100644 index 00000000..c0311f72 --- /dev/null +++ b/python/metalstack/api/v2/tenant_member_pb2.py @@ -0,0 +1,115 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: metalstack/api/v2/tenant_member.proto +# Protobuf Python Version: 7.36.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 7, + 36, + 1, + '', + 'metalstack/api/v2/tenant_member.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2 +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%metalstack/api/v2/tenant_member.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\"\x99\x02\n\x0cTenantMember\x12#\n\x06member\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06member\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\x12#\n\x06tenant\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06tenant\"\x7f\n\x1eTenantMemberServiceListRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12:\n\x05query\x18\x02 \x01(\x0b\x32$.metalstack.api.v2.TenantMemberQueryR\x05query\"\xaf\x01\n\x11TenantMemberQuery\x12(\n\x06member\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01H\x00R\x06member\x88\x01\x01\x12@\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x01R\x04role\x88\x01\x01\x12\x1a\n\x08projects\x18\x03 \x03(\tR\x08projectsB\t\n\x07_memberB\x07\n\x05_role\"g\n\x1dTenantMemberServiceGetRequest\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\"]\n TenantMemberServiceDeleteRequest\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\"\xa7\x01\n TenantMemberServiceCreateRequest\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\"\xfd\x01\n TenantMemberServiceUpdateRequest\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\x01H\x00R\x04role\x88\x01\x01\x12\x46\n\x0bupdate_meta\x18\x04 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMetaB\x07\n\x05_role\"Y\n\x1eTenantMemberServiceGetResponse\x12\x37\n\x06member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x06member\"\\\n\x1fTenantMemberServiceListResponse\x12\x39\n\x07members\x18\x01 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x07members\"\\\n!TenantMemberServiceCreateResponse\x12\x37\n\x06member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x06member\"\\\n!TenantMemberServiceUpdateResponse\x12\x37\n\x06member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x06member\"\\\n!TenantMemberServiceDeleteResponse\x12\x37\n\x06member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x06member\"D\n\x1fTenantMemberServiceLeaveRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"[\n TenantMemberServiceLeaveResponse\x12\x37\n\x06member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x06member2\x88\x06\n\x13TenantMemberService\x12~\n\x06\x43reate\x12\x33.metalstack.api.v2.TenantMemberServiceCreateRequest\x1a\x34.metalstack.api.v2.TenantMemberServiceCreateResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12{\n\x04List\x12\x31.metalstack.api.v2.TenantMemberServiceListRequest\x1a\x32.metalstack.api.v2.TenantMemberServiceListResponse\"\x0c\xc2\xf3\x18\x04\x01\x02\x03\x04\xe0\xf3\x18\x02\x12x\n\x03Get\x12\x30.metalstack.api.v2.TenantMemberServiceGetRequest\x1a\x31.metalstack.api.v2.TenantMemberServiceGetResponse\"\x0c\xc2\xf3\x18\x04\x01\x02\x03\x04\xe0\xf3\x18\x02\x12~\n\x06Update\x12\x33.metalstack.api.v2.TenantMemberServiceUpdateRequest\x1a\x34.metalstack.api.v2.TenantMemberServiceUpdateResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12~\n\x06\x44\x65lete\x12\x33.metalstack.api.v2.TenantMemberServiceDeleteRequest\x1a\x34.metalstack.api.v2.TenantMemberServiceDeleteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12z\n\x05Leave\x12\x32.metalstack.api.v2.TenantMemberServiceLeaveRequest\x1a\x33.metalstack.api.v2.TenantMemberServiceLeaveResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x42\xc7\x01\n\x15\x63om.metalstack.api.v2B\x11TenantMemberProtoP\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) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metalstack.api.v2.tenant_member_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.metalstack.api.v2B\021TenantMemberProtoP\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['_TENANTMEMBER'].fields_by_name['member']._loaded_options = None + _globals['_TENANTMEMBER'].fields_by_name['member']._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['_TENANTMEMBER'].fields_by_name['tenant']._loaded_options = None + _globals['_TENANTMEMBER'].fields_by_name['tenant']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERSERVICELISTREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTMEMBERSERVICELISTREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERQUERY'].fields_by_name['member']._loaded_options = None + _globals['_TENANTMEMBERQUERY'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERQUERY'].fields_by_name['role']._loaded_options = None + _globals['_TENANTMEMBERQUERY'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' + _globals['_TENANTMEMBERSERVICEGETREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTMEMBERSERVICEGETREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERSERVICEGETREQUEST'].fields_by_name['member']._loaded_options = None + _globals['_TENANTMEMBERSERVICEGETREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERSERVICEDELETEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTMEMBERSERVICEDELETEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERSERVICECREATEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTMEMBERSERVICECREATEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERSERVICECREATEREQUEST'].fields_by_name['member']._loaded_options = None + _globals['_TENANTMEMBERSERVICECREATEREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERSERVICECREATEREQUEST'].fields_by_name['role']._loaded_options = None + _globals['_TENANTMEMBERSERVICECREATEREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['member']._loaded_options = None + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['role']._loaded_options = None + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001' + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._loaded_options = None + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._serialized_options = b'\272H\003\310\001\001' + _globals['_TENANTMEMBERSERVICELEAVEREQUEST'].fields_by_name['login']._loaded_options = None + _globals['_TENANTMEMBERSERVICELEAVEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Create']._loaded_options = None + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Create']._serialized_options = b'\302\363\030\001\001\340\363\030\001' + _globals['_TENANTMEMBERSERVICE'].methods_by_name['List']._loaded_options = None + _globals['_TENANTMEMBERSERVICE'].methods_by_name['List']._serialized_options = b'\302\363\030\004\001\002\003\004\340\363\030\002' + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Get']._loaded_options = None + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Get']._serialized_options = b'\302\363\030\004\001\002\003\004\340\363\030\002' + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Update']._loaded_options = None + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Update']._serialized_options = b'\302\363\030\001\001\340\363\030\001' + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Delete']._loaded_options = None + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Delete']._serialized_options = b'\302\363\030\001\001\340\363\030\001' + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Leave']._loaded_options = None + _globals['_TENANTMEMBERSERVICE'].methods_by_name['Leave']._serialized_options = b'\330\363\030\002\340\363\030\001' + _globals['_TENANTMEMBER']._serialized_start=197 + _globals['_TENANTMEMBER']._serialized_end=478 + _globals['_TENANTMEMBERSERVICELISTREQUEST']._serialized_start=480 + _globals['_TENANTMEMBERSERVICELISTREQUEST']._serialized_end=607 + _globals['_TENANTMEMBERQUERY']._serialized_start=610 + _globals['_TENANTMEMBERQUERY']._serialized_end=785 + _globals['_TENANTMEMBERSERVICEGETREQUEST']._serialized_start=787 + _globals['_TENANTMEMBERSERVICEGETREQUEST']._serialized_end=890 + _globals['_TENANTMEMBERSERVICEDELETEREQUEST']._serialized_start=892 + _globals['_TENANTMEMBERSERVICEDELETEREQUEST']._serialized_end=985 + _globals['_TENANTMEMBERSERVICECREATEREQUEST']._serialized_start=988 + _globals['_TENANTMEMBERSERVICECREATEREQUEST']._serialized_end=1155 + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST']._serialized_start=1158 + _globals['_TENANTMEMBERSERVICEUPDATEREQUEST']._serialized_end=1411 + _globals['_TENANTMEMBERSERVICEGETRESPONSE']._serialized_start=1413 + _globals['_TENANTMEMBERSERVICEGETRESPONSE']._serialized_end=1502 + _globals['_TENANTMEMBERSERVICELISTRESPONSE']._serialized_start=1504 + _globals['_TENANTMEMBERSERVICELISTRESPONSE']._serialized_end=1596 + _globals['_TENANTMEMBERSERVICECREATERESPONSE']._serialized_start=1598 + _globals['_TENANTMEMBERSERVICECREATERESPONSE']._serialized_end=1690 + _globals['_TENANTMEMBERSERVICEUPDATERESPONSE']._serialized_start=1692 + _globals['_TENANTMEMBERSERVICEUPDATERESPONSE']._serialized_end=1784 + _globals['_TENANTMEMBERSERVICEDELETERESPONSE']._serialized_start=1786 + _globals['_TENANTMEMBERSERVICEDELETERESPONSE']._serialized_end=1878 + _globals['_TENANTMEMBERSERVICELEAVEREQUEST']._serialized_start=1880 + _globals['_TENANTMEMBERSERVICELEAVEREQUEST']._serialized_end=1948 + _globals['_TENANTMEMBERSERVICELEAVERESPONSE']._serialized_start=1950 + _globals['_TENANTMEMBERSERVICELEAVERESPONSE']._serialized_end=2041 + _globals['_TENANTMEMBERSERVICE']._serialized_start=2044 + _globals['_TENANTMEMBERSERVICE']._serialized_end=2820 +# @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/api/v2/tenant_member_pb2.pyi b/python/metalstack/api/v2/tenant_member_pb2.pyi new file mode 100644 index 00000000..50e0bb31 --- /dev/null +++ b/python/metalstack/api/v2/tenant_member_pb2.pyi @@ -0,0 +1,127 @@ +import datetime + +from buf.validate import validate_pb2 as _validate_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from metalstack.api.v2 import common_pb2 as _common_pb2 +from metalstack.api.v2 import predefined_rules_pb2 as _predefined_rules_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class TenantMember(_message.Message): + __slots__ = ("member", "role", "projects", "created_at", "meta", "tenant") + MEMBER_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + PROJECTS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + META_FIELD_NUMBER: _ClassVar[int] + TENANT_FIELD_NUMBER: _ClassVar[int] + member: str + role: _common_pb2.TenantRole + projects: _containers.RepeatedScalarFieldContainer[str] + created_at: _timestamp_pb2.Timestamp + meta: _common_pb2.Meta + tenant: str + def __init__(self, member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ..., projects: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., tenant: _Optional[str] = ...) -> None: ... + +class TenantMemberServiceListRequest(_message.Message): + __slots__ = ("login", "query") + LOGIN_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + login: str + query: TenantMemberQuery + def __init__(self, login: _Optional[str] = ..., query: _Optional[_Union[TenantMemberQuery, _Mapping]] = ...) -> None: ... + +class TenantMemberQuery(_message.Message): + __slots__ = ("member", "role", "projects") + MEMBER_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + PROJECTS_FIELD_NUMBER: _ClassVar[int] + member: str + role: _common_pb2.TenantRole + projects: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ..., projects: _Optional[_Iterable[str]] = ...) -> None: ... + +class TenantMemberServiceGetRequest(_message.Message): + __slots__ = ("login", "member") + LOGIN_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + login: str + member: str + def __init__(self, login: _Optional[str] = ..., member: _Optional[str] = ...) -> None: ... + +class TenantMemberServiceDeleteRequest(_message.Message): + __slots__ = ("login", "member") + LOGIN_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + login: str + member: str + def __init__(self, login: _Optional[str] = ..., member: _Optional[str] = ...) -> None: ... + +class TenantMemberServiceCreateRequest(_message.Message): + __slots__ = ("login", "member", "role") + LOGIN_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + login: str + member: str + role: _common_pb2.TenantRole + def __init__(self, login: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ... + +class TenantMemberServiceUpdateRequest(_message.Message): + __slots__ = ("login", "member", "role", "update_meta") + LOGIN_FIELD_NUMBER: _ClassVar[int] + MEMBER_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + UPDATE_META_FIELD_NUMBER: _ClassVar[int] + login: str + member: str + role: _common_pb2.TenantRole + update_meta: _common_pb2.UpdateMeta + def __init__(self, login: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ..., update_meta: _Optional[_Union[_common_pb2.UpdateMeta, _Mapping]] = ...) -> None: ... + +class TenantMemberServiceGetResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: TenantMember + def __init__(self, member: _Optional[_Union[TenantMember, _Mapping]] = ...) -> None: ... + +class TenantMemberServiceListResponse(_message.Message): + __slots__ = ("members",) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[TenantMember] + def __init__(self, members: _Optional[_Iterable[_Union[TenantMember, _Mapping]]] = ...) -> None: ... + +class TenantMemberServiceCreateResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: TenantMember + def __init__(self, member: _Optional[_Union[TenantMember, _Mapping]] = ...) -> None: ... + +class TenantMemberServiceUpdateResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: TenantMember + def __init__(self, member: _Optional[_Union[TenantMember, _Mapping]] = ...) -> None: ... + +class TenantMemberServiceDeleteResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: TenantMember + def __init__(self, member: _Optional[_Union[TenantMember, _Mapping]] = ...) -> None: ... + +class TenantMemberServiceLeaveRequest(_message.Message): + __slots__ = ("login",) + LOGIN_FIELD_NUMBER: _ClassVar[int] + login: str + def __init__(self, login: _Optional[str] = ...) -> None: ... + +class TenantMemberServiceLeaveResponse(_message.Message): + __slots__ = ("member",) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: TenantMember + def __init__(self, member: _Optional[_Union[TenantMember, _Mapping]] = ...) -> None: ... diff --git a/python/metalstack/api/v2/tenant_pb2.py b/python/metalstack/api/v2/tenant_pb2.py index abe73ae6..af2b1bb9 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\"\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\"i\n!TenantServiceRemoveMemberResponse\x12\x44\n\rtenant_member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x0ctenantMember\":\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\"\xa4\x01\n\x1dTenantServiceAddMemberRequest\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\"f\n\x1eTenantServiceAddMemberResponse\x12\x44\n\rtenant_member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x0ctenantMember\"\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\xc5\r\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|\n\tAddMember\x12\x30.metalstack.api.v2.TenantServiceAddMemberRequest\x1a\x31.metalstack.api.v2.TenantServiceAddMemberResponse\"\n\xc2\xf3\x18\x02\x01\x02\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\"\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\"M\n\x18TenantServiceGetResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"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 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!TenantServiceInviteDeleteResponse2\xc8\t\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\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) @@ -46,10 +46,6 @@ _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['_TENANTQUERY'].fields_by_name['login']._loaded_options = None @@ -84,24 +80,8 @@ _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['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['login']._loaded_options = None - _globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' - _globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['member']._loaded_options = None - _globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001' - _globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['role']._loaded_options = None - _globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\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 _globals['_TENANTSERVICE'].methods_by_name['Create']._serialized_options = b'\330\363\030\002\340\363\030\001' _globals['_TENANTSERVICE'].methods_by_name['List']._loaded_options = None @@ -112,14 +92,6 @@ _globals['_TENANTSERVICE'].methods_by_name['Update']._serialized_options = b'\302\363\030\002\001\002\340\363\030\001' _globals['_TENANTSERVICE'].methods_by_name['Delete']._loaded_options = None _globals['_TENANTSERVICE'].methods_by_name['Delete']._serialized_options = b'\302\363\030\002\001\002\340\363\030\001' - _globals['_TENANTSERVICE'].methods_by_name['Leave']._loaded_options = None - _globals['_TENANTSERVICE'].methods_by_name['Leave']._serialized_options = b'\302\363\030\001\003\340\363\030\001' - _globals['_TENANTSERVICE'].methods_by_name['AddMember']._loaded_options = None - _globals['_TENANTSERVICE'].methods_by_name['AddMember']._serialized_options = b'\302\363\030\002\001\002\340\363\030\001' - _globals['_TENANTSERVICE'].methods_by_name['RemoveMember']._loaded_options = None - _globals['_TENANTSERVICE'].methods_by_name['RemoveMember']._serialized_options = b'\302\363\030\001\001\340\363\030\001' - _globals['_TENANTSERVICE'].methods_by_name['UpdateMember']._loaded_options = None - _globals['_TENANTSERVICE'].methods_by_name['UpdateMember']._serialized_options = b'\302\363\030\001\001\340\363\030\001' _globals['_TENANTSERVICE'].methods_by_name['Invite']._loaded_options = None _globals['_TENANTSERVICE'].methods_by_name['Invite']._serialized_options = b'\302\363\030\001\001\340\363\030\001' _globals['_TENANTSERVICE'].methods_by_name['InviteAccept']._loaded_options = None @@ -132,68 +104,50 @@ _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=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=3544 - _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_start=3546 - _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_end=3604 - _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3606 - _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3698 - _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_start=3700 - _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_end=3793 - _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_start=3795 - _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_end=3830 - _globals['_TENANTSERVICEADDMEMBERREQUEST']._serialized_start=3833 - _globals['_TENANTSERVICEADDMEMBERREQUEST']._serialized_end=3997 - _globals['_TENANTSERVICEADDMEMBERRESPONSE']._serialized_start=3999 - _globals['_TENANTSERVICEADDMEMBERRESPONSE']._serialized_end=4101 - _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_start=4104 - _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_end=4271 - _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=4273 - _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=4378 - _globals['_TENANTSERVICE']._serialized_start=4381 - _globals['_TENANTSERVICE']._serialized_end=6114 + _globals['_TENANTINVITE']._serialized_start=467 + _globals['_TENANTINVITE']._serialized_end=846 + _globals['_TENANTSERVICELISTREQUEST']._serialized_start=848 + _globals['_TENANTSERVICELISTREQUEST']._serialized_end=928 + _globals['_TENANTQUERY']._serialized_start=931 + _globals['_TENANTQUERY']._serialized_end=1159 + _globals['_TENANTSERVICEGETREQUEST']._serialized_start=1161 + _globals['_TENANTSERVICEGETREQUEST']._serialized_end=1208 + _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=1211 + _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=1501 + _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_start=1504 + _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_end=1937 + _globals['_TENANTSERVICEDELETEREQUEST']._serialized_start=1939 + _globals['_TENANTSERVICEDELETEREQUEST']._serialized_end=2002 + _globals['_TENANTSERVICEGETRESPONSE']._serialized_start=2004 + _globals['_TENANTSERVICEGETRESPONSE']._serialized_end=2081 + _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=2083 + _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=2163 + _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=2165 + _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=2245 + _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_start=2247 + _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_end=2327 + _globals['_TENANTSERVICEDELETERESPONSE']._serialized_start=2329 + _globals['_TENANTSERVICEDELETERESPONSE']._serialized_end=2409 + _globals['_TENANTSERVICEINVITEREQUEST']._serialized_start=2411 + _globals['_TENANTSERVICEINVITEREQUEST']._serialized_end=2535 + _globals['_TENANTSERVICEINVITERESPONSE']._serialized_start=2537 + _globals['_TENANTSERVICEINVITERESPONSE']._serialized_end=2623 + _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_start=2625 + _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_end=2693 + _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_start=2695 + _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_end=2788 + _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_start=2790 + _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_end=2845 + _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_start=2847 + _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_end=2936 + _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_start=2938 + _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_end=2996 + _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_start=2998 + _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3090 + _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_start=3092 + _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_end=3185 + _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_start=3187 + _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_end=3222 + _globals['_TENANTSERVICE']._serialized_start=3225 + _globals['_TENANTSERVICE']._serialized_end=4449 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/api/v2/tenant_pb2.pyi b/python/metalstack/api/v2/tenant_pb2.pyi index 4f008c9e..70b97f1f 100644 --- a/python/metalstack/api/v2/tenant_pb2.pyi +++ b/python/metalstack/api/v2/tenant_pb2.pyi @@ -30,20 +30,6 @@ class Tenant(_message.Message): created_by: str def __init__(self, login: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., name: _Optional[str] = ..., email: _Optional[str] = ..., description: _Optional[str] = ..., avatar_url: _Optional[str] = ..., created_by: _Optional[str] = ...) -> None: ... -class TenantMember(_message.Message): - __slots__ = ("id", "role", "projects", "created_at", "meta") - ID_FIELD_NUMBER: _ClassVar[int] - ROLE_FIELD_NUMBER: _ClassVar[int] - PROJECTS_FIELD_NUMBER: _ClassVar[int] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - META_FIELD_NUMBER: _ClassVar[int] - id: str - role: _common_pb2.TenantRole - projects: _containers.RepeatedScalarFieldContainer[str] - created_at: _timestamp_pb2.Timestamp - meta: _common_pb2.Meta - def __init__(self, id: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ..., projects: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ...) -> None: ... - class TenantInvite(_message.Message): __slots__ = ("secret", "target_tenant", "role", "joined", "target_tenant_name", "tenant", "tenant_name", "expires_at", "joined_at") SECRET_FIELD_NUMBER: _ClassVar[int] @@ -129,12 +115,10 @@ class TenantServiceDeleteRequest(_message.Message): def __init__(self, login: _Optional[str] = ...) -> None: ... class TenantServiceGetResponse(_message.Message): - __slots__ = ("tenant", "tenant_members") + __slots__ = ("tenant",) TENANT_FIELD_NUMBER: _ClassVar[int] - TENANT_MEMBERS_FIELD_NUMBER: _ClassVar[int] tenant: Tenant - tenant_members: _containers.RepeatedCompositeFieldContainer[TenantMember] - def __init__(self, tenant: _Optional[_Union[Tenant, _Mapping]] = ..., tenant_members: _Optional[_Iterable[_Union[TenantMember, _Mapping]]] = ...) -> None: ... + def __init__(self, tenant: _Optional[_Union[Tenant, _Mapping]] = ...) -> None: ... class TenantServiceListResponse(_message.Message): __slots__ = ("tenants",) @@ -198,30 +182,6 @@ class TenantServiceInviteGetResponse(_message.Message): invite: TenantInvite def __init__(self, invite: _Optional[_Union[TenantInvite, _Mapping]] = ...) -> None: ... -class TenantServiceRemoveMemberRequest(_message.Message): - __slots__ = ("login", "member") - LOGIN_FIELD_NUMBER: _ClassVar[int] - MEMBER_FIELD_NUMBER: _ClassVar[int] - login: str - member: str - def __init__(self, login: _Optional[str] = ..., member: _Optional[str] = ...) -> None: ... - -class TenantServiceLeaveRequest(_message.Message): - __slots__ = ("login",) - LOGIN_FIELD_NUMBER: _ClassVar[int] - login: str - def __init__(self, login: _Optional[str] = ...) -> None: ... - -class TenantServiceLeaveResponse(_message.Message): - __slots__ = () - def __init__(self) -> None: ... - -class TenantServiceRemoveMemberResponse(_message.Message): - __slots__ = ("tenant_member",) - TENANT_MEMBER_FIELD_NUMBER: _ClassVar[int] - tenant_member: TenantMember - def __init__(self, tenant_member: _Optional[_Union[TenantMember, _Mapping]] = ...) -> None: ... - class TenantServiceInviteAcceptRequest(_message.Message): __slots__ = ("secret",) SECRET_FIELD_NUMBER: _ClassVar[int] @@ -247,35 +207,3 @@ class TenantServiceInviteDeleteRequest(_message.Message): class TenantServiceInviteDeleteResponse(_message.Message): __slots__ = () def __init__(self) -> None: ... - -class TenantServiceAddMemberRequest(_message.Message): - __slots__ = ("login", "member", "role") - LOGIN_FIELD_NUMBER: _ClassVar[int] - MEMBER_FIELD_NUMBER: _ClassVar[int] - ROLE_FIELD_NUMBER: _ClassVar[int] - login: str - member: str - role: _common_pb2.TenantRole - def __init__(self, login: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ... - -class TenantServiceAddMemberResponse(_message.Message): - __slots__ = ("tenant_member",) - TENANT_MEMBER_FIELD_NUMBER: _ClassVar[int] - tenant_member: TenantMember - def __init__(self, tenant_member: _Optional[_Union[TenantMember, _Mapping]] = ...) -> None: ... - -class TenantServiceUpdateMemberRequest(_message.Message): - __slots__ = ("login", "member", "role") - LOGIN_FIELD_NUMBER: _ClassVar[int] - MEMBER_FIELD_NUMBER: _ClassVar[int] - ROLE_FIELD_NUMBER: _ClassVar[int] - login: str - member: str - role: _common_pb2.TenantRole - def __init__(self, login: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ... - -class TenantServiceUpdateMemberResponse(_message.Message): - __slots__ = ("tenant_member",) - TENANT_MEMBER_FIELD_NUMBER: _ClassVar[int] - tenant_member: TenantMember - def __init__(self, tenant_member: _Optional[_Union[TenantMember, _Mapping]] = ...) -> None: ... diff --git a/python/metalstack/client/client.py b/python/metalstack/client/client.py index 02719011..cb196823 100755 --- a/python/metalstack/client/client.py +++ b/python/metalstack/client/client.py @@ -30,10 +30,12 @@ import metalstack.api.v2.network_connect as api_network_connect import metalstack.api.v2.partition_connect as api_partition_connect import metalstack.api.v2.project_connect as api_project_connect +import metalstack.api.v2.project_member_connect as api_project_member_connect import metalstack.api.v2.size_connect as api_size_connect import metalstack.api.v2.size_imageconstraint_connect as api_size_imageconstraint_connect import metalstack.api.v2.size_reservation_connect as api_size_reservation_connect import metalstack.api.v2.tenant_connect as api_tenant_connect +import metalstack.api.v2.tenant_member_connect as api_tenant_member_connect import metalstack.api.v2.token_connect as api_token_connect import metalstack.api.v2.user_connect as api_user_connect import metalstack.api.v2.version_connect as api_version_connect @@ -167,6 +169,9 @@ def partition(self): def project(self): return api_project_connect.ProjectServiceClientSync(address=self._baseurl, http_client=self._client, interceptors=self._interceptors) + def project_member(self): + return api_project_member_connect.ProjectMemberServiceClientSync(address=self._baseurl, http_client=self._client, interceptors=self._interceptors) + def size(self): return api_size_connect.SizeServiceClientSync(address=self._baseurl, http_client=self._client, interceptors=self._interceptors) @@ -179,6 +184,9 @@ def size_reservation(self): def tenant(self): return api_tenant_connect.TenantServiceClientSync(address=self._baseurl, http_client=self._client, interceptors=self._interceptors) + def tenant_member(self): + return api_tenant_member_connect.TenantMemberServiceClientSync(address=self._baseurl, http_client=self._client, interceptors=self._interceptors) + def token(self): return api_token_connect.TokenServiceClientSync(address=self._baseurl, http_client=self._client, interceptors=self._interceptors)