Browse Source

iam: add RPC methods and messages to iam.proto

iam-permissions-and-api
Chris Lu 3 weeks ago
parent
commit
41244b1786
  1. 124
      weed/pb/iam.proto
  2. 1230
      weed/pb/iam_pb/iam.pb.go
  3. 357
      weed/pb/iam_pb/iam_grpc.pb.go

124
weed/pb/iam.proto

@ -9,15 +9,95 @@ option java_outer_classname = "IamProto";
////////////////////////////////////////////////// //////////////////////////////////////////////////
service SeaweedIdentityAccessManagement { service SeaweedIdentityAccessManagement {
rpc CreateIdentity(CreateIdentityRequest) returns (CreateIdentityResponse);
rpc UpdatesIdentity(UpdateIdentityRequest) returns (UpdateIdentityResponse);
rpc GetIdentity(GetIdentityRequest) returns (GetIdentityResponse);
rpc DeleteIdentity(DeleteIdentityRequest) returns (DeleteIdentityResponse);
rpc ListIdentities(ListIdentitiesRequest) returns (ListIdentitiesResponse);
rpc CreatePolicy(CreatePolicyRequest) returns (CreatePolicyResponse);
rpc GetPolicy(GetPolicyRequest) returns (GetPolicyResponse);
rpc DeletePolicy(DeletePolicyRequest) returns (DeletePolicyResponse);
rpc ListPolicies(ListPoliciesRequest) returns (ListPoliciesResponse);
}
message CreateIdentityRequest {
Identity identity = 1;
}
message CreateIdentityResponse {
}
message UpdateIdentityRequest {
Identity identity = 1;
}
message UpdateIdentityResponse {
}
message GetIdentityRequest {
string name = 1;
}
message GetIdentityResponse {
Identity identity = 1;
}
message DeleteIdentityRequest {
string name = 1;
}
message DeleteIdentityResponse {
}
message ListIdentitiesRequest {
int32 limit = 1;
string offset = 2;
}
message ListIdentitiesResponse {
repeated Identity identities = 1;
bool is_truncated = 2;
string next_offset = 3;
}
message CreatePolicyRequest {
Policy policy = 1;
}
message CreatePolicyResponse {
}
message GetPolicyRequest {
string name = 1;
}
message GetPolicyResponse {
Policy policy = 1;
}
message DeletePolicyRequest {
string name = 1;
}
message DeletePolicyResponse {
}
message ListPoliciesRequest {
int32 limit = 1;
string offset = 2;
}
message ListPoliciesResponse {
repeated Policy policies = 1;
bool is_truncated = 2;
string next_offset = 3;
} }
////////////////////////////////////////////////// //////////////////////////////////////////////////
message S3ApiConfiguration { message S3ApiConfiguration {
repeated Identity identities = 1; repeated Identity identities = 1;
repeated Account accounts = 2;
repeated ServiceAccount service_accounts = 3;
} }
message Identity { message Identity {
@ -25,15 +105,11 @@ message Identity {
repeated Credential credentials = 2; repeated Credential credentials = 2;
repeated string actions = 3; repeated string actions = 3;
Account account = 4; Account account = 4;
bool disabled = 5; // User status: false = enabled (default), true = disabled
repeated string service_account_ids = 6; // IDs of service accounts owned by this user
repeated string policy_names = 7;
} }
message Credential { message Credential {
string access_key = 1; string access_key = 1;
string secret_key = 2; string secret_key = 2;
string status = 3; // Access key status: "Active" or "Inactive"
} }
message Account { message Account {
@ -42,30 +118,30 @@ message Account {
string email_address = 3; string email_address = 3;
} }
// ServiceAccount represents a service account - special credentials for applications.
// Service accounts are linked to a parent user and can have restricted permissions.
message ServiceAccount {
string id = 1; // Unique identifier (e.g., "sa-xxxxx")
string parent_user = 2; // Parent identity name
string description = 3; // Optional description
Credential credential = 4; // Access key/secret for this service account
repeated string actions = 5; // Allowed actions (subset of parent)
int64 expiration = 6; // Unix timestamp, 0 = no expiration
bool disabled = 7; // Status: false = enabled (default)
int64 created_at = 8; // Creation timestamp
string created_by = 9; // Who created this service account
}
/*
// Policy constants
message Policy { message Policy {
repeated Statement statements = 1;
string name = 1;
string version = 2;
string id = 3;
repeated Statement statements = 4;
} }
message Statement { message Statement {
repeated Action action = 1;
repeated Resource resource = 2;
string sid = 1;
string effect = 2;
repeated string action = 3;
repeated string not_action = 4;
repeated string resource = 5;
repeated string not_resource = 6;
// Condition is a map of string to map of string to string
// This is a simplified representation, actual policy engine supports more complex structures
// but for proto we can start with bytes or string logic
// map<string, map<string, string>> condition = 7;
// or store as json string
string condition_json = 7;
} }
/*
message Action { message Action {
string action = 1; string action = 1;
} }

1230
weed/pb/iam_pb/iam.pb.go
File diff suppressed because it is too large
View File

357
weed/pb/iam_pb/iam_grpc.pb.go

@ -1,13 +1,16 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT. // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions: // versions:
// - protoc-gen-go-grpc v1.5.1 // - protoc-gen-go-grpc v1.5.1
// - protoc v6.33.1
// - protoc v6.33.4
// source: iam.proto // source: iam.proto
package iam_pb package iam_pb
import ( import (
context "context"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
) )
// This is a compile-time assertion to ensure that this generated file // This is a compile-time assertion to ensure that this generated file
@ -15,10 +18,31 @@ import (
// Requires gRPC-Go v1.64.0 or later. // Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9 const _ = grpc.SupportPackageIsVersion9
const (
SeaweedIdentityAccessManagement_CreateIdentity_FullMethodName = "/iam_pb.SeaweedIdentityAccessManagement/CreateIdentity"
SeaweedIdentityAccessManagement_UpdatesIdentity_FullMethodName = "/iam_pb.SeaweedIdentityAccessManagement/UpdatesIdentity"
SeaweedIdentityAccessManagement_GetIdentity_FullMethodName = "/iam_pb.SeaweedIdentityAccessManagement/GetIdentity"
SeaweedIdentityAccessManagement_DeleteIdentity_FullMethodName = "/iam_pb.SeaweedIdentityAccessManagement/DeleteIdentity"
SeaweedIdentityAccessManagement_ListIdentities_FullMethodName = "/iam_pb.SeaweedIdentityAccessManagement/ListIdentities"
SeaweedIdentityAccessManagement_CreatePolicy_FullMethodName = "/iam_pb.SeaweedIdentityAccessManagement/CreatePolicy"
SeaweedIdentityAccessManagement_GetPolicy_FullMethodName = "/iam_pb.SeaweedIdentityAccessManagement/GetPolicy"
SeaweedIdentityAccessManagement_DeletePolicy_FullMethodName = "/iam_pb.SeaweedIdentityAccessManagement/DeletePolicy"
SeaweedIdentityAccessManagement_ListPolicies_FullMethodName = "/iam_pb.SeaweedIdentityAccessManagement/ListPolicies"
)
// SeaweedIdentityAccessManagementClient is the client API for SeaweedIdentityAccessManagement service. // SeaweedIdentityAccessManagementClient is the client API for SeaweedIdentityAccessManagement service.
// //
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type SeaweedIdentityAccessManagementClient interface { type SeaweedIdentityAccessManagementClient interface {
CreateIdentity(ctx context.Context, in *CreateIdentityRequest, opts ...grpc.CallOption) (*CreateIdentityResponse, error)
UpdatesIdentity(ctx context.Context, in *UpdateIdentityRequest, opts ...grpc.CallOption) (*UpdateIdentityResponse, error)
GetIdentity(ctx context.Context, in *GetIdentityRequest, opts ...grpc.CallOption) (*GetIdentityResponse, error)
DeleteIdentity(ctx context.Context, in *DeleteIdentityRequest, opts ...grpc.CallOption) (*DeleteIdentityResponse, error)
ListIdentities(ctx context.Context, in *ListIdentitiesRequest, opts ...grpc.CallOption) (*ListIdentitiesResponse, error)
CreatePolicy(ctx context.Context, in *CreatePolicyRequest, opts ...grpc.CallOption) (*CreatePolicyResponse, error)
GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error)
DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*DeletePolicyResponse, error)
ListPolicies(ctx context.Context, in *ListPoliciesRequest, opts ...grpc.CallOption) (*ListPoliciesResponse, error)
} }
type seaweedIdentityAccessManagementClient struct { type seaweedIdentityAccessManagementClient struct {
@ -29,10 +53,109 @@ func NewSeaweedIdentityAccessManagementClient(cc grpc.ClientConnInterface) Seawe
return &seaweedIdentityAccessManagementClient{cc} return &seaweedIdentityAccessManagementClient{cc}
} }
func (c *seaweedIdentityAccessManagementClient) CreateIdentity(ctx context.Context, in *CreateIdentityRequest, opts ...grpc.CallOption) (*CreateIdentityResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(CreateIdentityResponse)
err := c.cc.Invoke(ctx, SeaweedIdentityAccessManagement_CreateIdentity_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedIdentityAccessManagementClient) UpdatesIdentity(ctx context.Context, in *UpdateIdentityRequest, opts ...grpc.CallOption) (*UpdateIdentityResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(UpdateIdentityResponse)
err := c.cc.Invoke(ctx, SeaweedIdentityAccessManagement_UpdatesIdentity_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedIdentityAccessManagementClient) GetIdentity(ctx context.Context, in *GetIdentityRequest, opts ...grpc.CallOption) (*GetIdentityResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(GetIdentityResponse)
err := c.cc.Invoke(ctx, SeaweedIdentityAccessManagement_GetIdentity_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedIdentityAccessManagementClient) DeleteIdentity(ctx context.Context, in *DeleteIdentityRequest, opts ...grpc.CallOption) (*DeleteIdentityResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DeleteIdentityResponse)
err := c.cc.Invoke(ctx, SeaweedIdentityAccessManagement_DeleteIdentity_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedIdentityAccessManagementClient) ListIdentities(ctx context.Context, in *ListIdentitiesRequest, opts ...grpc.CallOption) (*ListIdentitiesResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(ListIdentitiesResponse)
err := c.cc.Invoke(ctx, SeaweedIdentityAccessManagement_ListIdentities_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedIdentityAccessManagementClient) CreatePolicy(ctx context.Context, in *CreatePolicyRequest, opts ...grpc.CallOption) (*CreatePolicyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(CreatePolicyResponse)
err := c.cc.Invoke(ctx, SeaweedIdentityAccessManagement_CreatePolicy_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedIdentityAccessManagementClient) GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(GetPolicyResponse)
err := c.cc.Invoke(ctx, SeaweedIdentityAccessManagement_GetPolicy_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedIdentityAccessManagementClient) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*DeletePolicyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DeletePolicyResponse)
err := c.cc.Invoke(ctx, SeaweedIdentityAccessManagement_DeletePolicy_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedIdentityAccessManagementClient) ListPolicies(ctx context.Context, in *ListPoliciesRequest, opts ...grpc.CallOption) (*ListPoliciesResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(ListPoliciesResponse)
err := c.cc.Invoke(ctx, SeaweedIdentityAccessManagement_ListPolicies_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// SeaweedIdentityAccessManagementServer is the server API for SeaweedIdentityAccessManagement service. // SeaweedIdentityAccessManagementServer is the server API for SeaweedIdentityAccessManagement service.
// All implementations must embed UnimplementedSeaweedIdentityAccessManagementServer // All implementations must embed UnimplementedSeaweedIdentityAccessManagementServer
// for forward compatibility. // for forward compatibility.
type SeaweedIdentityAccessManagementServer interface { type SeaweedIdentityAccessManagementServer interface {
CreateIdentity(context.Context, *CreateIdentityRequest) (*CreateIdentityResponse, error)
UpdatesIdentity(context.Context, *UpdateIdentityRequest) (*UpdateIdentityResponse, error)
GetIdentity(context.Context, *GetIdentityRequest) (*GetIdentityResponse, error)
DeleteIdentity(context.Context, *DeleteIdentityRequest) (*DeleteIdentityResponse, error)
ListIdentities(context.Context, *ListIdentitiesRequest) (*ListIdentitiesResponse, error)
CreatePolicy(context.Context, *CreatePolicyRequest) (*CreatePolicyResponse, error)
GetPolicy(context.Context, *GetPolicyRequest) (*GetPolicyResponse, error)
DeletePolicy(context.Context, *DeletePolicyRequest) (*DeletePolicyResponse, error)
ListPolicies(context.Context, *ListPoliciesRequest) (*ListPoliciesResponse, error)
mustEmbedUnimplementedSeaweedIdentityAccessManagementServer() mustEmbedUnimplementedSeaweedIdentityAccessManagementServer()
} }
@ -43,6 +166,33 @@ type SeaweedIdentityAccessManagementServer interface {
// pointer dereference when methods are called. // pointer dereference when methods are called.
type UnimplementedSeaweedIdentityAccessManagementServer struct{} type UnimplementedSeaweedIdentityAccessManagementServer struct{}
func (UnimplementedSeaweedIdentityAccessManagementServer) CreateIdentity(context.Context, *CreateIdentityRequest) (*CreateIdentityResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateIdentity not implemented")
}
func (UnimplementedSeaweedIdentityAccessManagementServer) UpdatesIdentity(context.Context, *UpdateIdentityRequest) (*UpdateIdentityResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdatesIdentity not implemented")
}
func (UnimplementedSeaweedIdentityAccessManagementServer) GetIdentity(context.Context, *GetIdentityRequest) (*GetIdentityResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetIdentity not implemented")
}
func (UnimplementedSeaweedIdentityAccessManagementServer) DeleteIdentity(context.Context, *DeleteIdentityRequest) (*DeleteIdentityResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteIdentity not implemented")
}
func (UnimplementedSeaweedIdentityAccessManagementServer) ListIdentities(context.Context, *ListIdentitiesRequest) (*ListIdentitiesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListIdentities not implemented")
}
func (UnimplementedSeaweedIdentityAccessManagementServer) CreatePolicy(context.Context, *CreatePolicyRequest) (*CreatePolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreatePolicy not implemented")
}
func (UnimplementedSeaweedIdentityAccessManagementServer) GetPolicy(context.Context, *GetPolicyRequest) (*GetPolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetPolicy not implemented")
}
func (UnimplementedSeaweedIdentityAccessManagementServer) DeletePolicy(context.Context, *DeletePolicyRequest) (*DeletePolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeletePolicy not implemented")
}
func (UnimplementedSeaweedIdentityAccessManagementServer) ListPolicies(context.Context, *ListPoliciesRequest) (*ListPoliciesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListPolicies not implemented")
}
func (UnimplementedSeaweedIdentityAccessManagementServer) mustEmbedUnimplementedSeaweedIdentityAccessManagementServer() { func (UnimplementedSeaweedIdentityAccessManagementServer) mustEmbedUnimplementedSeaweedIdentityAccessManagementServer() {
} }
func (UnimplementedSeaweedIdentityAccessManagementServer) testEmbeddedByValue() {} func (UnimplementedSeaweedIdentityAccessManagementServer) testEmbeddedByValue() {}
@ -65,13 +215,212 @@ func RegisterSeaweedIdentityAccessManagementServer(s grpc.ServiceRegistrar, srv
s.RegisterService(&SeaweedIdentityAccessManagement_ServiceDesc, srv) s.RegisterService(&SeaweedIdentityAccessManagement_ServiceDesc, srv)
} }
func _SeaweedIdentityAccessManagement_CreateIdentity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateIdentityRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedIdentityAccessManagementServer).CreateIdentity(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SeaweedIdentityAccessManagement_CreateIdentity_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedIdentityAccessManagementServer).CreateIdentity(ctx, req.(*CreateIdentityRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SeaweedIdentityAccessManagement_UpdatesIdentity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateIdentityRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedIdentityAccessManagementServer).UpdatesIdentity(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SeaweedIdentityAccessManagement_UpdatesIdentity_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedIdentityAccessManagementServer).UpdatesIdentity(ctx, req.(*UpdateIdentityRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SeaweedIdentityAccessManagement_GetIdentity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetIdentityRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedIdentityAccessManagementServer).GetIdentity(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SeaweedIdentityAccessManagement_GetIdentity_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedIdentityAccessManagementServer).GetIdentity(ctx, req.(*GetIdentityRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SeaweedIdentityAccessManagement_DeleteIdentity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteIdentityRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedIdentityAccessManagementServer).DeleteIdentity(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SeaweedIdentityAccessManagement_DeleteIdentity_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedIdentityAccessManagementServer).DeleteIdentity(ctx, req.(*DeleteIdentityRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SeaweedIdentityAccessManagement_ListIdentities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListIdentitiesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedIdentityAccessManagementServer).ListIdentities(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SeaweedIdentityAccessManagement_ListIdentities_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedIdentityAccessManagementServer).ListIdentities(ctx, req.(*ListIdentitiesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SeaweedIdentityAccessManagement_CreatePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreatePolicyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedIdentityAccessManagementServer).CreatePolicy(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SeaweedIdentityAccessManagement_CreatePolicy_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedIdentityAccessManagementServer).CreatePolicy(ctx, req.(*CreatePolicyRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SeaweedIdentityAccessManagement_GetPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetPolicyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedIdentityAccessManagementServer).GetPolicy(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SeaweedIdentityAccessManagement_GetPolicy_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedIdentityAccessManagementServer).GetPolicy(ctx, req.(*GetPolicyRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SeaweedIdentityAccessManagement_DeletePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeletePolicyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedIdentityAccessManagementServer).DeletePolicy(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SeaweedIdentityAccessManagement_DeletePolicy_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedIdentityAccessManagementServer).DeletePolicy(ctx, req.(*DeletePolicyRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SeaweedIdentityAccessManagement_ListPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListPoliciesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedIdentityAccessManagementServer).ListPolicies(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SeaweedIdentityAccessManagement_ListPolicies_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedIdentityAccessManagementServer).ListPolicies(ctx, req.(*ListPoliciesRequest))
}
return interceptor(ctx, in, info, handler)
}
// SeaweedIdentityAccessManagement_ServiceDesc is the grpc.ServiceDesc for SeaweedIdentityAccessManagement service. // SeaweedIdentityAccessManagement_ServiceDesc is the grpc.ServiceDesc for SeaweedIdentityAccessManagement service.
// It's only intended for direct use with grpc.RegisterService, // It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy) // and not to be introspected or modified (even as a copy)
var SeaweedIdentityAccessManagement_ServiceDesc = grpc.ServiceDesc{ var SeaweedIdentityAccessManagement_ServiceDesc = grpc.ServiceDesc{
ServiceName: "iam_pb.SeaweedIdentityAccessManagement", ServiceName: "iam_pb.SeaweedIdentityAccessManagement",
HandlerType: (*SeaweedIdentityAccessManagementServer)(nil), HandlerType: (*SeaweedIdentityAccessManagementServer)(nil),
Methods: []grpc.MethodDesc{},
Streams: []grpc.StreamDesc{},
Metadata: "iam.proto",
Methods: []grpc.MethodDesc{
{
MethodName: "CreateIdentity",
Handler: _SeaweedIdentityAccessManagement_CreateIdentity_Handler,
},
{
MethodName: "UpdatesIdentity",
Handler: _SeaweedIdentityAccessManagement_UpdatesIdentity_Handler,
},
{
MethodName: "GetIdentity",
Handler: _SeaweedIdentityAccessManagement_GetIdentity_Handler,
},
{
MethodName: "DeleteIdentity",
Handler: _SeaweedIdentityAccessManagement_DeleteIdentity_Handler,
},
{
MethodName: "ListIdentities",
Handler: _SeaweedIdentityAccessManagement_ListIdentities_Handler,
},
{
MethodName: "CreatePolicy",
Handler: _SeaweedIdentityAccessManagement_CreatePolicy_Handler,
},
{
MethodName: "GetPolicy",
Handler: _SeaweedIdentityAccessManagement_GetPolicy_Handler,
},
{
MethodName: "DeletePolicy",
Handler: _SeaweedIdentityAccessManagement_DeletePolicy_Handler,
},
{
MethodName: "ListPolicies",
Handler: _SeaweedIdentityAccessManagement_ListPolicies_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "iam.proto",
} }
Loading…
Cancel
Save