Documentation ¶
Overview ¶
Package iam is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
Index ¶
- Variables
- func RegisterIamHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
- func RegisterIamHandlerClient(ctx context.Context, mux *runtime.ServeMux, client IamClient) error
- func RegisterIamHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, ...) (err error)
- func RegisterIamHandlerServer(ctx context.Context, mux *runtime.ServeMux, server IamServer) error
- func RegisterIamServer(s grpc.ServiceRegistrar, srv IamServer)
- type ClientOptions
- type CreateIpFilterRequest
- func (*CreateIpFilterRequest) Descriptor() ([]byte, []int)deprecated
- func (x *CreateIpFilterRequest) GetRootUser() string
- func (x *CreateIpFilterRequest) GetSubUser() string
- func (x *CreateIpFilterRequest) GetType() string
- func (x *CreateIpFilterRequest) GetValue() string
- func (*CreateIpFilterRequest) ProtoMessage()
- func (x *CreateIpFilterRequest) ProtoReflect() protoreflect.Message
- func (x *CreateIpFilterRequest) Reset()
- func (x *CreateIpFilterRequest) String() string
- type DeleteIpFilterRequest
- func (*DeleteIpFilterRequest) Descriptor() ([]byte, []int)deprecated
- func (x *DeleteIpFilterRequest) GetId() string
- func (*DeleteIpFilterRequest) ProtoMessage()
- func (x *DeleteIpFilterRequest) ProtoReflect() protoreflect.Message
- func (x *DeleteIpFilterRequest) Reset()
- func (x *DeleteIpFilterRequest) String() string
- type GetUserRequest
- type GrpcClient
- type IamClient
- type IamServer
- type IpFilter
- func (*IpFilter) Descriptor() ([]byte, []int)deprecated
- func (x *IpFilter) GetId() string
- func (x *IpFilter) GetScope() string
- func (x *IpFilter) GetTarget() string
- func (x *IpFilter) GetType() string
- func (x *IpFilter) GetValue() string
- func (*IpFilter) ProtoMessage()
- func (x *IpFilter) ProtoReflect() protoreflect.Message
- func (x *IpFilter) Reset()
- func (x *IpFilter) String() string
- type ListIpFiltersRequest
- type ListIpFiltersResponse
- func (*ListIpFiltersResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ListIpFiltersResponse) GetItems() []*IpFilter
- func (*ListIpFiltersResponse) ProtoMessage()
- func (x *ListIpFiltersResponse) ProtoReflect() protoreflect.Message
- func (x *ListIpFiltersResponse) Reset()
- func (x *ListIpFiltersResponse) String() string
- type ListUsersRequest
- type ListUsersResponse
- func (*ListUsersResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ListUsersResponse) GetUsers() []*api.User
- func (*ListUsersResponse) ProtoMessage()
- func (x *ListUsersResponse) ProtoReflect() protoreflect.Message
- func (x *ListUsersResponse) Reset()
- func (x *ListUsersResponse) String() string
- type UnimplementedIamServer
- func (UnimplementedIamServer) CreateIpFilter(context.Context, *CreateIpFilterRequest) (*IpFilter, error)
- func (UnimplementedIamServer) DeleteIpFilter(context.Context, *DeleteIpFilterRequest) (*emptypb.Empty, error)
- func (UnimplementedIamServer) GetUser(context.Context, *GetUserRequest) (*api.User, error)
- func (UnimplementedIamServer) ListIpFilters(context.Context, *ListIpFiltersRequest) (*ListIpFiltersResponse, error)
- func (UnimplementedIamServer) ListUsers(context.Context, *ListUsersRequest) (*ListUsersResponse, error)
- func (UnimplementedIamServer) WhoAmI(context.Context, *WhoAmIRequest) (*api.User, error)
- type UnsafeIamServer
- type WhoAmIRequest
Constants ¶
This section is empty.
Variables ¶
var File_iam_v1_iam_proto protoreflect.FileDescriptor
var Iam_ServiceDesc = grpc.ServiceDesc{ ServiceName: "blueapi.iam.v1.Iam", HandlerType: (*IamServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "WhoAmI", Handler: _Iam_WhoAmI_Handler, }, { MethodName: "ListUsers", Handler: _Iam_ListUsers_Handler, }, { MethodName: "GetUser", Handler: _Iam_GetUser_Handler, }, { MethodName: "ListIpFilters", Handler: _Iam_ListIpFilters_Handler, }, { MethodName: "CreateIpFilter", Handler: _Iam_CreateIpFilter_Handler, }, { MethodName: "DeleteIpFilter", Handler: _Iam_DeleteIpFilter_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "iam/v1/iam.proto", }
Iam_ServiceDesc is the grpc.ServiceDesc for Iam service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterIamHandler ¶
RegisterIamHandler registers the http handlers for service Iam to "mux". The handlers forward requests to the grpc endpoint over "conn".
func RegisterIamHandlerClient ¶
RegisterIamHandlerClient registers the http handlers for service Iam to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "IamClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "IamClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "IamClient" to call the correct interceptors.
func RegisterIamHandlerFromEndpoint ¶
func RegisterIamHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)
RegisterIamHandlerFromEndpoint is same as RegisterIamHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterIamHandlerServer ¶
RegisterIamHandlerServer registers the http handlers for service Iam to "mux". UnaryRPC :call IamServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterIamHandlerFromEndpoint instead.
func RegisterIamServer ¶
func RegisterIamServer(s grpc.ServiceRegistrar, srv IamServer)
Types ¶
type ClientOptions ¶ added in v0.6.10
type ClientOptions struct {
Conn *conn.GrpcClientConn
}
ClientOptions represents the optional options to NewClient.
type CreateIpFilterRequest ¶ added in v0.9.7
type CreateIpFilterRequest struct { // Required. The IP input to filter, either blacklist or whitelist. Should be in // CIDR format (i.e. 1.2.3.4/32). Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // Optional. Can be 'whitelist' or 'blacklist'. Defaults to 'blacklist' if empty. Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // Optional. If valid rootuser and sub_user is empty, filter is for this rootuser. // If both root_user and sub_user inputs are empty, filter is at global scope. RootUser string `protobuf:"bytes,3,opt,name=root_user,proto3" json:"root_user,omitempty"` // Optional. If valid subuser, filter is for this subuser; root_user value is discarded. // If both root_user and sub_user inputs are empty, filter is at global scope. SubUser string `protobuf:"bytes,4,opt,name=sub_user,proto3" json:"sub_user,omitempty"` // contains filtered or unexported fields }
Request message for Iam.CreateIpFilter rpc.
func (*CreateIpFilterRequest) Descriptor
deprecated
added in
v0.9.7
func (*CreateIpFilterRequest) Descriptor() ([]byte, []int)
Deprecated: Use CreateIpFilterRequest.ProtoReflect.Descriptor instead.
func (*CreateIpFilterRequest) GetRootUser ¶ added in v0.9.7
func (x *CreateIpFilterRequest) GetRootUser() string
func (*CreateIpFilterRequest) GetSubUser ¶ added in v0.9.7
func (x *CreateIpFilterRequest) GetSubUser() string
func (*CreateIpFilterRequest) GetType ¶ added in v0.9.7
func (x *CreateIpFilterRequest) GetType() string
func (*CreateIpFilterRequest) GetValue ¶ added in v0.9.7
func (x *CreateIpFilterRequest) GetValue() string
func (*CreateIpFilterRequest) ProtoMessage ¶ added in v0.9.7
func (*CreateIpFilterRequest) ProtoMessage()
func (*CreateIpFilterRequest) ProtoReflect ¶ added in v0.9.7
func (x *CreateIpFilterRequest) ProtoReflect() protoreflect.Message
func (*CreateIpFilterRequest) Reset ¶ added in v0.9.7
func (x *CreateIpFilterRequest) Reset()
func (*CreateIpFilterRequest) String ¶ added in v0.9.7
func (x *CreateIpFilterRequest) String() string
type DeleteIpFilterRequest ¶ added in v0.9.6
type DeleteIpFilterRequest struct { // The id to delete. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // contains filtered or unexported fields }
Request message for Iam.DeleteIpFilter rpc.
func (*DeleteIpFilterRequest) Descriptor
deprecated
added in
v0.9.6
func (*DeleteIpFilterRequest) Descriptor() ([]byte, []int)
Deprecated: Use DeleteIpFilterRequest.ProtoReflect.Descriptor instead.
func (*DeleteIpFilterRequest) GetId ¶ added in v0.9.6
func (x *DeleteIpFilterRequest) GetId() string
func (*DeleteIpFilterRequest) ProtoMessage ¶ added in v0.9.6
func (*DeleteIpFilterRequest) ProtoMessage()
func (*DeleteIpFilterRequest) ProtoReflect ¶ added in v0.9.6
func (x *DeleteIpFilterRequest) ProtoReflect() protoreflect.Message
func (*DeleteIpFilterRequest) Reset ¶ added in v0.9.6
func (x *DeleteIpFilterRequest) Reset()
func (*DeleteIpFilterRequest) String ¶ added in v0.9.6
func (x *DeleteIpFilterRequest) String() string
type GetUserRequest ¶ added in v0.6.22
type GetUserRequest struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // contains filtered or unexported fields }
Request message for Iam.GetUser rpc.
func (*GetUserRequest) Descriptor
deprecated
added in
v0.6.22
func (*GetUserRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetUserRequest.ProtoReflect.Descriptor instead.
func (*GetUserRequest) GetName ¶ added in v0.6.22
func (x *GetUserRequest) GetName() string
func (*GetUserRequest) ProtoMessage ¶ added in v0.6.22
func (*GetUserRequest) ProtoMessage()
func (*GetUserRequest) ProtoReflect ¶ added in v0.6.22
func (x *GetUserRequest) ProtoReflect() protoreflect.Message
func (*GetUserRequest) Reset ¶ added in v0.6.22
func (x *GetUserRequest) Reset()
func (*GetUserRequest) String ¶ added in v0.6.22
func (x *GetUserRequest) String() string
type GrpcClient ¶ added in v0.6.7
type GrpcClient struct { IamClient // contains filtered or unexported fields }
func NewClient ¶ added in v0.6.7
func NewClient(ctx context.Context, opts ...*ClientOptions) (*GrpcClient, error)
NewClient returns a client connection to the 'iam' service.
func (*GrpcClient) Close ¶ added in v0.6.7
func (c *GrpcClient) Close()
type IamClient ¶
type IamClient interface { // Gets user information about the caller. This call includes all of the user metadata. // See https://alphauslabs.github.io/blueapi/ for the list of supported attributes. WhoAmI(ctx context.Context, in *WhoAmIRequest, opts ...grpc.CallOption) (*api.User, error) // Lists all subusers. ListUsers(ctx context.Context, in *ListUsersRequest, opts ...grpc.CallOption) (*ListUsersResponse, error) // Gets subuser information. This call includes all of the subuser metadata. See // https://alphauslabs.github.io/blueapi/ for the list of supported attributes. // If the {name} parameter is 'me' or '-', returns the caller information, which // is equivalent to `WhoAmI()` or `GET:/iam/v*/whoami`. GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*api.User, error) // Lists all IP filters. At the moment, this API is only available for root users. ListIpFilters(ctx context.Context, in *ListIpFiltersRequest, opts ...grpc.CallOption) (*ListIpFiltersResponse, error) // Creates an IP filter item for IP blacklisting or whitelisting. At the moment, // this API is only available for root users. CreateIpFilter(ctx context.Context, in *CreateIpFilterRequest, opts ...grpc.CallOption) (*IpFilter, error) // Deletes an IP filter item. At the moment, this API is only available for root users. DeleteIpFilter(ctx context.Context, in *DeleteIpFilterRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) }
IamClient is the client API for Iam 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.
func NewIamClient ¶
func NewIamClient(cc grpc.ClientConnInterface) IamClient
type IamServer ¶
type IamServer interface { // Gets user information about the caller. This call includes all of the user metadata. // See https://alphauslabs.github.io/blueapi/ for the list of supported attributes. WhoAmI(context.Context, *WhoAmIRequest) (*api.User, error) // Lists all subusers. ListUsers(context.Context, *ListUsersRequest) (*ListUsersResponse, error) // Gets subuser information. This call includes all of the subuser metadata. See // https://alphauslabs.github.io/blueapi/ for the list of supported attributes. // If the {name} parameter is 'me' or '-', returns the caller information, which // is equivalent to `WhoAmI()` or `GET:/iam/v*/whoami`. GetUser(context.Context, *GetUserRequest) (*api.User, error) // Lists all IP filters. At the moment, this API is only available for root users. ListIpFilters(context.Context, *ListIpFiltersRequest) (*ListIpFiltersResponse, error) // Creates an IP filter item for IP blacklisting or whitelisting. At the moment, // this API is only available for root users. CreateIpFilter(context.Context, *CreateIpFilterRequest) (*IpFilter, error) // Deletes an IP filter item. At the moment, this API is only available for root users. DeleteIpFilter(context.Context, *DeleteIpFilterRequest) (*emptypb.Empty, error) // contains filtered or unexported methods }
IamServer is the server API for Iam service. All implementations must embed UnimplementedIamServer for forward compatibility
type IpFilter ¶ added in v0.9.6
type IpFilter struct { // Ip filter item id. Note that this id is transcient and is not fixed. However, // you can use any of its permutations to endpoints that accept it, such as // the 'DELETE:/iam/v?/ipfilters/{id}' endpoint, without issues. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Can be 'global', 'rootuser', or 'subuser'. Scope string `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"` // The target of the filter. If global scope, this is usually empty. // Rootuser id for rootuser scope, and subuser id for subuser scope. // For subuser targets, format is 'rootuserid/subuserid'. Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` // The type of ip filter. It could be 'whitelist' or 'blacklist'. Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // The ip filter value. Should be in CIDR format. Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
func (*IpFilter) Descriptor
deprecated
added in
v0.9.6
func (*IpFilter) ProtoMessage ¶ added in v0.9.6
func (*IpFilter) ProtoMessage()
func (*IpFilter) ProtoReflect ¶ added in v0.9.6
func (x *IpFilter) ProtoReflect() protoreflect.Message
type ListIpFiltersRequest ¶ added in v0.9.6
type ListIpFiltersRequest struct {
// contains filtered or unexported fields
}
Request message for Iam.ListIpFilters rpc.
func (*ListIpFiltersRequest) Descriptor
deprecated
added in
v0.9.6
func (*ListIpFiltersRequest) Descriptor() ([]byte, []int)
Deprecated: Use ListIpFiltersRequest.ProtoReflect.Descriptor instead.
func (*ListIpFiltersRequest) ProtoMessage ¶ added in v0.9.6
func (*ListIpFiltersRequest) ProtoMessage()
func (*ListIpFiltersRequest) ProtoReflect ¶ added in v0.9.6
func (x *ListIpFiltersRequest) ProtoReflect() protoreflect.Message
func (*ListIpFiltersRequest) Reset ¶ added in v0.9.6
func (x *ListIpFiltersRequest) Reset()
func (*ListIpFiltersRequest) String ¶ added in v0.9.6
func (x *ListIpFiltersRequest) String() string
type ListIpFiltersResponse ¶ added in v0.9.6
type ListIpFiltersResponse struct { Items []*IpFilter `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` // contains filtered or unexported fields }
Response message for Iam.ListIpFilters rpc.
func (*ListIpFiltersResponse) Descriptor
deprecated
added in
v0.9.6
func (*ListIpFiltersResponse) Descriptor() ([]byte, []int)
Deprecated: Use ListIpFiltersResponse.ProtoReflect.Descriptor instead.
func (*ListIpFiltersResponse) GetItems ¶ added in v0.9.6
func (x *ListIpFiltersResponse) GetItems() []*IpFilter
func (*ListIpFiltersResponse) ProtoMessage ¶ added in v0.9.6
func (*ListIpFiltersResponse) ProtoMessage()
func (*ListIpFiltersResponse) ProtoReflect ¶ added in v0.9.6
func (x *ListIpFiltersResponse) ProtoReflect() protoreflect.Message
func (*ListIpFiltersResponse) Reset ¶ added in v0.9.6
func (x *ListIpFiltersResponse) Reset()
func (*ListIpFiltersResponse) String ¶ added in v0.9.6
func (x *ListIpFiltersResponse) String() string
type ListUsersRequest ¶ added in v0.6.22
type ListUsersRequest struct {
// contains filtered or unexported fields
}
Request message for Iam.ListUsers rpc.
func (*ListUsersRequest) Descriptor
deprecated
added in
v0.6.22
func (*ListUsersRequest) Descriptor() ([]byte, []int)
Deprecated: Use ListUsersRequest.ProtoReflect.Descriptor instead.
func (*ListUsersRequest) ProtoMessage ¶ added in v0.6.22
func (*ListUsersRequest) ProtoMessage()
func (*ListUsersRequest) ProtoReflect ¶ added in v0.6.22
func (x *ListUsersRequest) ProtoReflect() protoreflect.Message
func (*ListUsersRequest) Reset ¶ added in v0.6.22
func (x *ListUsersRequest) Reset()
func (*ListUsersRequest) String ¶ added in v0.6.22
func (x *ListUsersRequest) String() string
type ListUsersResponse ¶ added in v0.6.22
type ListUsersResponse struct { Users []*api.User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` // contains filtered or unexported fields }
Response message for Iam.ListUsers rpc.
func (*ListUsersResponse) Descriptor
deprecated
added in
v0.6.22
func (*ListUsersResponse) Descriptor() ([]byte, []int)
Deprecated: Use ListUsersResponse.ProtoReflect.Descriptor instead.
func (*ListUsersResponse) GetUsers ¶ added in v0.6.22
func (x *ListUsersResponse) GetUsers() []*api.User
func (*ListUsersResponse) ProtoMessage ¶ added in v0.6.22
func (*ListUsersResponse) ProtoMessage()
func (*ListUsersResponse) ProtoReflect ¶ added in v0.6.22
func (x *ListUsersResponse) ProtoReflect() protoreflect.Message
func (*ListUsersResponse) Reset ¶ added in v0.6.22
func (x *ListUsersResponse) Reset()
func (*ListUsersResponse) String ¶ added in v0.6.22
func (x *ListUsersResponse) String() string
type UnimplementedIamServer ¶
type UnimplementedIamServer struct { }
UnimplementedIamServer must be embedded to have forward compatible implementations.
func (UnimplementedIamServer) CreateIpFilter ¶ added in v0.9.7
func (UnimplementedIamServer) CreateIpFilter(context.Context, *CreateIpFilterRequest) (*IpFilter, error)
func (UnimplementedIamServer) DeleteIpFilter ¶ added in v0.9.6
func (UnimplementedIamServer) DeleteIpFilter(context.Context, *DeleteIpFilterRequest) (*emptypb.Empty, error)
func (UnimplementedIamServer) GetUser ¶ added in v0.6.22
func (UnimplementedIamServer) GetUser(context.Context, *GetUserRequest) (*api.User, error)
func (UnimplementedIamServer) ListIpFilters ¶ added in v0.9.6
func (UnimplementedIamServer) ListIpFilters(context.Context, *ListIpFiltersRequest) (*ListIpFiltersResponse, error)
func (UnimplementedIamServer) ListUsers ¶ added in v0.6.22
func (UnimplementedIamServer) ListUsers(context.Context, *ListUsersRequest) (*ListUsersResponse, error)
func (UnimplementedIamServer) WhoAmI ¶
func (UnimplementedIamServer) WhoAmI(context.Context, *WhoAmIRequest) (*api.User, error)
type UnsafeIamServer ¶
type UnsafeIamServer interface {
// contains filtered or unexported methods
}
UnsafeIamServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to IamServer will result in compilation errors.
type WhoAmIRequest ¶
type WhoAmIRequest struct {
// contains filtered or unexported fields
}
Request message for Iam.WhoAmI rpc.
func (*WhoAmIRequest) Descriptor
deprecated
func (*WhoAmIRequest) Descriptor() ([]byte, []int)
Deprecated: Use WhoAmIRequest.ProtoReflect.Descriptor instead.
func (*WhoAmIRequest) ProtoMessage ¶
func (*WhoAmIRequest) ProtoMessage()
func (*WhoAmIRequest) ProtoReflect ¶
func (x *WhoAmIRequest) ProtoReflect() protoreflect.Message
func (*WhoAmIRequest) Reset ¶
func (x *WhoAmIRequest) Reset()
func (*WhoAmIRequest) String ¶
func (x *WhoAmIRequest) String() string