iam

package
v0.34.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2021 License: Apache-2.0 Imports: 20 Imported by: 1

Documentation

Overview

Package iam is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

This section is empty.

Variables

View Source
var File_iam_v1_iam_proto protoreflect.FileDescriptor
View Source
var Iam_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "blueapi.iam.v1.Iam",
	HandlerType: (*IamServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "WhoAmI",
			Handler:    _Iam_WhoAmI_Handler,
		},
		{
			MethodName: "GetUser",
			Handler:    _Iam_GetUser_Handler,
		},
		{
			MethodName: "CreateUser",
			Handler:    _Iam_CreateUser_Handler,
		},
		{
			MethodName: "DeleteUser",
			Handler:    _Iam_DeleteUser_Handler,
		},
		{
			MethodName: "CreateApiClient",
			Handler:    _Iam_CreateApiClient_Handler,
		},
		{
			MethodName: "DeleteApiClient",
			Handler:    _Iam_DeleteApiClient_Handler,
		},
		{
			MethodName: "ListPermissions",
			Handler:    _Iam_ListPermissions_Handler,
		},
		{
			MethodName: "ListRoles",
			Handler:    _Iam_ListRoles_Handler,
		},
		{
			MethodName: "CreateRole",
			Handler:    _Iam_CreateRole_Handler,
		},
		{
			MethodName: "UpdateRole",
			Handler:    _Iam_UpdateRole_Handler,
		},
		{
			MethodName: "DeleteRole",
			Handler:    _Iam_DeleteRole_Handler,
		},
		{
			MethodName: "CreateIpFilter",
			Handler:    _Iam_CreateIpFilter_Handler,
		},
		{
			MethodName: "DeleteIpFilter",
			Handler:    _Iam_DeleteIpFilter_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "ListUsers",
			Handler:       _Iam_ListUsers_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListApiClients",
			Handler:       _Iam_ListApiClients_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListIpFilters",
			Handler:       _Iam_ListIpFilters_Handler,
			ServerStreams: true,
		},
	},
	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

func RegisterIamHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterIamHandler registers the http handlers for service Iam to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterIamHandlerClient

func RegisterIamHandlerClient(ctx context.Context, mux *runtime.ServeMux, client IamClient) error

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

func RegisterIamHandlerServer(ctx context.Context, mux *runtime.ServeMux, server IamServer) error

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 CreateApiClientRequest added in v0.15.0

type CreateApiClientRequest struct {

	// Required. The descriptive name of the API client to create.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Request message for the Iam.CreateApiClient rpc.

func (*CreateApiClientRequest) Descriptor deprecated added in v0.15.0

func (*CreateApiClientRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateApiClientRequest.ProtoReflect.Descriptor instead.

func (*CreateApiClientRequest) GetName added in v0.15.0

func (x *CreateApiClientRequest) GetName() string

func (*CreateApiClientRequest) ProtoMessage added in v0.15.0

func (*CreateApiClientRequest) ProtoMessage()

func (*CreateApiClientRequest) ProtoReflect added in v0.15.0

func (x *CreateApiClientRequest) ProtoReflect() protoreflect.Message

func (*CreateApiClientRequest) Reset added in v0.15.0

func (x *CreateApiClientRequest) Reset()

func (*CreateApiClientRequest) String added in v0.15.0

func (x *CreateApiClientRequest) String() string

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 subUser is empty, filter is for this rootuser.
	// If both rootUser and subUser inputs are empty, filter is at global scope.
	RootUser string `protobuf:"bytes,3,opt,name=rootUser,proto3" json:"rootUser,omitempty"`
	// Optional. If valid subuser, filter is for this subuser; rootUser value is discarded.
	// If both rootUser and subUser inputs are empty, filter is at global scope.
	SubUser string `protobuf:"bytes,4,opt,name=subUser,proto3" json:"subUser,omitempty"`
	// contains filtered or unexported fields
}

Request message for the 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 CreateRoleRequest added in v0.34.0

type CreateRoleRequest struct {

	// Required. The name of the role to create. Role names should have at least 6
	// characters in length and 32 characters maximum. It should also be alphanumeric.
	// Hyphens and underscores are allowed in between. The regular expression used
	// for validation is `^[A-Za-z0-9][A-Za-z0-9_-]*[A-Za-z0-9]$`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. The namespace where this role will belong.
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// Required. The list of permissions to attach to this role.
	Permissions []string `protobuf:"bytes,3,rep,name=permissions,proto3" json:"permissions,omitempty"`
	// contains filtered or unexported fields
}

Request message for the Iam.CreateRole rpc.

func (*CreateRoleRequest) Descriptor deprecated added in v0.34.0

func (*CreateRoleRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateRoleRequest.ProtoReflect.Descriptor instead.

func (*CreateRoleRequest) GetName added in v0.34.0

func (x *CreateRoleRequest) GetName() string

func (*CreateRoleRequest) GetNamespace added in v0.34.0

func (x *CreateRoleRequest) GetNamespace() string

func (*CreateRoleRequest) GetPermissions added in v0.34.0

func (x *CreateRoleRequest) GetPermissions() []string

func (*CreateRoleRequest) ProtoMessage added in v0.34.0

func (*CreateRoleRequest) ProtoMessage()

func (*CreateRoleRequest) ProtoReflect added in v0.34.0

func (x *CreateRoleRequest) ProtoReflect() protoreflect.Message

func (*CreateRoleRequest) Reset added in v0.34.0

func (x *CreateRoleRequest) Reset()

func (*CreateRoleRequest) String added in v0.34.0

func (x *CreateRoleRequest) String() string

type CreateUserRequest added in v0.11.0

type CreateUserRequest struct {

	// Required. Min: 4, max: 18, allowed characters: letters, numbers, `_` (underscore),
	// `.` (period) and `-` (hyphen) characters.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. Minimum of 8 characters.
	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	// Optional. Email address of the subuser.
	Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	// Optional. Nickname or description. It is set to 'name' if empty.
	NickName string `protobuf:"bytes,4,opt,name=nickName,proto3" json:"nickName,omitempty"`
	// contains filtered or unexported fields
}

Request message for the Iam.CreateUser rpc.

func (*CreateUserRequest) Descriptor deprecated added in v0.11.0

func (*CreateUserRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateUserRequest.ProtoReflect.Descriptor instead.

func (*CreateUserRequest) GetEmail added in v0.11.0

func (x *CreateUserRequest) GetEmail() string

func (*CreateUserRequest) GetName added in v0.11.0

func (x *CreateUserRequest) GetName() string

func (*CreateUserRequest) GetNickName added in v0.11.1

func (x *CreateUserRequest) GetNickName() string

func (*CreateUserRequest) GetPassword added in v0.11.0

func (x *CreateUserRequest) GetPassword() string

func (*CreateUserRequest) ProtoMessage added in v0.11.0

func (*CreateUserRequest) ProtoMessage()

func (*CreateUserRequest) ProtoReflect added in v0.11.0

func (x *CreateUserRequest) ProtoReflect() protoreflect.Message

func (*CreateUserRequest) Reset added in v0.11.0

func (x *CreateUserRequest) Reset()

func (*CreateUserRequest) String added in v0.11.0

func (x *CreateUserRequest) String() string

type DeleteApiClientRequest added in v0.15.0

type DeleteApiClientRequest struct {

	// Required. The client id to delete.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

Request message for the Iam.DeleteApiClient rpc.

func (*DeleteApiClientRequest) Descriptor deprecated added in v0.15.0

func (*DeleteApiClientRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteApiClientRequest.ProtoReflect.Descriptor instead.

func (*DeleteApiClientRequest) GetId added in v0.16.0

func (x *DeleteApiClientRequest) GetId() string

func (*DeleteApiClientRequest) ProtoMessage added in v0.15.0

func (*DeleteApiClientRequest) ProtoMessage()

func (*DeleteApiClientRequest) ProtoReflect added in v0.15.0

func (x *DeleteApiClientRequest) ProtoReflect() protoreflect.Message

func (*DeleteApiClientRequest) Reset added in v0.15.0

func (x *DeleteApiClientRequest) Reset()

func (*DeleteApiClientRequest) String added in v0.15.0

func (x *DeleteApiClientRequest) String() string

type DeleteIpFilterRequest added in v0.9.6

type DeleteIpFilterRequest struct {

	// The IP filter id to delete.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

Request message for the 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 DeleteRoleRequest added in v0.34.0

type DeleteRoleRequest struct {

	// Required. The parent namespace.
	Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// Required. The role name to delete.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Request message for the Iam.DeleteRole rpc.

func (*DeleteRoleRequest) Descriptor deprecated added in v0.34.0

func (*DeleteRoleRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteRoleRequest.ProtoReflect.Descriptor instead.

func (*DeleteRoleRequest) GetName added in v0.34.0

func (x *DeleteRoleRequest) GetName() string

func (*DeleteRoleRequest) GetNamespace added in v0.34.0

func (x *DeleteRoleRequest) GetNamespace() string

func (*DeleteRoleRequest) ProtoMessage added in v0.34.0

func (*DeleteRoleRequest) ProtoMessage()

func (*DeleteRoleRequest) ProtoReflect added in v0.34.0

func (x *DeleteRoleRequest) ProtoReflect() protoreflect.Message

func (*DeleteRoleRequest) Reset added in v0.34.0

func (x *DeleteRoleRequest) Reset()

func (*DeleteRoleRequest) String added in v0.34.0

func (x *DeleteRoleRequest) String() string

type DeleteUserRequest added in v0.11.0

type DeleteUserRequest struct {

	// Required. The subuser name to delete.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

Request message for the Iam.DeleteUser rpc.

func (*DeleteUserRequest) Descriptor deprecated added in v0.11.0

func (*DeleteUserRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteUserRequest.ProtoReflect.Descriptor instead.

func (*DeleteUserRequest) GetId added in v0.12.0

func (x *DeleteUserRequest) GetId() string

func (*DeleteUserRequest) ProtoMessage added in v0.11.0

func (*DeleteUserRequest) ProtoMessage()

func (*DeleteUserRequest) ProtoReflect added in v0.11.0

func (x *DeleteUserRequest) ProtoReflect() protoreflect.Message

func (*DeleteUserRequest) Reset added in v0.11.0

func (x *DeleteUserRequest) Reset()

func (*DeleteUserRequest) String added in v0.11.0

func (x *DeleteUserRequest) String() string

type GetUserRequest added in v0.6.22

type GetUserRequest struct {
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

Request message for the 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) GetId added in v0.12.0

func (x *GetUserRequest) GetId() 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) (Iam_ListUsersClient, 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)
	// Creates a subuser.
	CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*api.User, error)
	// Deletes a subuser.
	DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Lists all API clients belonging to the caller.
	ListApiClients(ctx context.Context, in *ListApiClientsRequest, opts ...grpc.CallOption) (Iam_ListApiClientsClient, error)
	// Creates an API client for the caller.
	CreateApiClient(ctx context.Context, in *CreateApiClientRequest, opts ...grpc.CallOption) (*api.ApiClient, error)
	// Deletes an API client belonging to the caller.
	DeleteApiClient(ctx context.Context, in *DeleteApiClientRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Lists all permissions based on the input's scope. For reference, supported
	// permissions can be found on [https://github.com/mobingi/rbac-permissions].
	ListPermissions(ctx context.Context, in *ListPermissionsRequest, opts ...grpc.CallOption) (*ListPermissionsResponse, error)
	// Lists all available roles.
	ListRoles(ctx context.Context, in *ListRolesRequest, opts ...grpc.CallOption) (*ListRolesResponse, error)
	// Creates a role. If your `permissions` list contains an `Admin` entry, all other
	// entries will be discarded except `Admin`. Roles are root user-level. That means
	// all roles created by the root user, or any subuser that has permissions to
	// create roles, are available to all subusers.
	CreateRole(ctx context.Context, in *CreateRoleRequest, opts ...grpc.CallOption) (*api.Role, error)
	// Updates a role. If role name is different, rename mapped role name.
	UpdateRole(ctx context.Context, in *UpdateRoleRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Deletes a role. Deleting a role will also remove all mappings.
	DeleteRole(ctx context.Context, in *DeleteRoleRequest, opts ...grpc.CallOption) (*api.Role, 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) (Iam_ListIpFiltersClient, 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(*ListUsersRequest, Iam_ListUsersServer) 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)
	// Creates a subuser.
	CreateUser(context.Context, *CreateUserRequest) (*api.User, error)
	// Deletes a subuser.
	DeleteUser(context.Context, *DeleteUserRequest) (*emptypb.Empty, error)
	// Lists all API clients belonging to the caller.
	ListApiClients(*ListApiClientsRequest, Iam_ListApiClientsServer) error
	// Creates an API client for the caller.
	CreateApiClient(context.Context, *CreateApiClientRequest) (*api.ApiClient, error)
	// Deletes an API client belonging to the caller.
	DeleteApiClient(context.Context, *DeleteApiClientRequest) (*emptypb.Empty, error)
	// Lists all permissions based on the input's scope. For reference, supported
	// permissions can be found on [https://github.com/mobingi/rbac-permissions].
	ListPermissions(context.Context, *ListPermissionsRequest) (*ListPermissionsResponse, error)
	// Lists all available roles.
	ListRoles(context.Context, *ListRolesRequest) (*ListRolesResponse, error)
	// Creates a role. If your `permissions` list contains an `Admin` entry, all other
	// entries will be discarded except `Admin`. Roles are root user-level. That means
	// all roles created by the root user, or any subuser that has permissions to
	// create roles, are available to all subusers.
	CreateRole(context.Context, *CreateRoleRequest) (*api.Role, error)
	// Updates a role. If role name is different, rename mapped role name.
	UpdateRole(context.Context, *UpdateRoleRequest) (*emptypb.Empty, error)
	// Deletes a role. Deleting a role will also remove all mappings.
	DeleteRole(context.Context, *DeleteRoleRequest) (*api.Role, error)
	// Lists all IP filters. At the moment, this API is only available for root users.
	ListIpFilters(*ListIpFiltersRequest, Iam_ListIpFiltersServer) 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 Iam_ListApiClientsClient added in v0.25.0

type Iam_ListApiClientsClient interface {
	Recv() (*api.ApiClient, error)
	grpc.ClientStream
}

type Iam_ListApiClientsServer added in v0.25.0

type Iam_ListApiClientsServer interface {
	Send(*api.ApiClient) error
	grpc.ServerStream
}

type Iam_ListIpFiltersClient added in v0.25.0

type Iam_ListIpFiltersClient interface {
	Recv() (*IpFilter, error)
	grpc.ClientStream
}

type Iam_ListIpFiltersServer added in v0.25.0

type Iam_ListIpFiltersServer interface {
	Send(*IpFilter) error
	grpc.ServerStream
}

type Iam_ListUsersClient added in v0.25.0

type Iam_ListUsersClient interface {
	Recv() (*api.User, error)
	grpc.ClientStream
}

type Iam_ListUsersServer added in v0.25.0

type Iam_ListUsersServer interface {
	Send(*api.User) error
	grpc.ServerStream
}

type IpFilter added in v0.9.6

type IpFilter struct {

	// IP filter item id. Note that this name 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 name for rootuser scope, and subuser name for subuser scope.
	// For subuser targets, format is `rootuser/subuser`.
	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) Descriptor() ([]byte, []int)

Deprecated: Use IpFilter.ProtoReflect.Descriptor instead.

func (*IpFilter) GetId added in v0.9.6

func (x *IpFilter) GetId() string

func (*IpFilter) GetScope added in v0.9.6

func (x *IpFilter) GetScope() string

func (*IpFilter) GetTarget added in v0.9.6

func (x *IpFilter) GetTarget() string

func (*IpFilter) GetType added in v0.9.6

func (x *IpFilter) GetType() string

func (*IpFilter) GetValue added in v0.9.6

func (x *IpFilter) GetValue() string

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

func (*IpFilter) Reset added in v0.9.6

func (x *IpFilter) Reset()

func (*IpFilter) String added in v0.9.6

func (x *IpFilter) String() string

type ListApiClientsRequest added in v0.15.0

type ListApiClientsRequest struct {
	// contains filtered or unexported fields
}

Request message for the Iam.ListApiClients rpc.

func (*ListApiClientsRequest) Descriptor deprecated added in v0.15.0

func (*ListApiClientsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListApiClientsRequest.ProtoReflect.Descriptor instead.

func (*ListApiClientsRequest) ProtoMessage added in v0.15.0

func (*ListApiClientsRequest) ProtoMessage()

func (*ListApiClientsRequest) ProtoReflect added in v0.15.0

func (x *ListApiClientsRequest) ProtoReflect() protoreflect.Message

func (*ListApiClientsRequest) Reset added in v0.15.0

func (x *ListApiClientsRequest) Reset()

func (*ListApiClientsRequest) String added in v0.15.0

func (x *ListApiClientsRequest) String() string

type ListIpFiltersRequest added in v0.9.6

type ListIpFiltersRequest struct {
	// contains filtered or unexported fields
}

Request message for the 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 ListPermissionsRequest added in v0.33.2

type ListPermissionsRequest struct {

	// Optional. The subuser to query. If empty (default), query all available permissions.
	// If set to a valid subuser, query that subuser's permissions, if allowed. You can
	// also set this field to `me` to query your own permissions.
	SubUser string `protobuf:"bytes,1,opt,name=subUser,proto3" json:"subUser,omitempty"`
	// contains filtered or unexported fields
}

Request message for the Iam.ListPermissions rpc.

func (*ListPermissionsRequest) Descriptor deprecated added in v0.33.2

func (*ListPermissionsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListPermissionsRequest.ProtoReflect.Descriptor instead.

func (*ListPermissionsRequest) GetSubUser added in v0.33.3

func (x *ListPermissionsRequest) GetSubUser() string

func (*ListPermissionsRequest) ProtoMessage added in v0.33.2

func (*ListPermissionsRequest) ProtoMessage()

func (*ListPermissionsRequest) ProtoReflect added in v0.33.2

func (x *ListPermissionsRequest) ProtoReflect() protoreflect.Message

func (*ListPermissionsRequest) Reset added in v0.33.2

func (x *ListPermissionsRequest) Reset()

func (*ListPermissionsRequest) String added in v0.33.2

func (x *ListPermissionsRequest) String() string

type ListPermissionsResponse added in v0.33.2

type ListPermissionsResponse struct {
	Permissions []*api.Permission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"`
	// contains filtered or unexported fields
}

Response message for the Iam.ListPermissions rpc.

func (*ListPermissionsResponse) Descriptor deprecated added in v0.33.2

func (*ListPermissionsResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListPermissionsResponse.ProtoReflect.Descriptor instead.

func (*ListPermissionsResponse) GetPermissions added in v0.33.2

func (x *ListPermissionsResponse) GetPermissions() []*api.Permission

func (*ListPermissionsResponse) ProtoMessage added in v0.33.2

func (*ListPermissionsResponse) ProtoMessage()

func (*ListPermissionsResponse) ProtoReflect added in v0.33.2

func (x *ListPermissionsResponse) ProtoReflect() protoreflect.Message

func (*ListPermissionsResponse) Reset added in v0.33.2

func (x *ListPermissionsResponse) Reset()

func (*ListPermissionsResponse) String added in v0.33.2

func (x *ListPermissionsResponse) String() string

type ListRolesRequest added in v0.34.0

type ListRolesRequest struct {

	// Optional. If not set, all roles will be returned.
	Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// contains filtered or unexported fields
}

Request message for the Iam.ListRoles rpc.

func (*ListRolesRequest) Descriptor deprecated added in v0.34.0

func (*ListRolesRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListRolesRequest.ProtoReflect.Descriptor instead.

func (*ListRolesRequest) GetNamespace added in v0.34.0

func (x *ListRolesRequest) GetNamespace() string

func (*ListRolesRequest) ProtoMessage added in v0.34.0

func (*ListRolesRequest) ProtoMessage()

func (*ListRolesRequest) ProtoReflect added in v0.34.0

func (x *ListRolesRequest) ProtoReflect() protoreflect.Message

func (*ListRolesRequest) Reset added in v0.34.0

func (x *ListRolesRequest) Reset()

func (*ListRolesRequest) String added in v0.34.0

func (x *ListRolesRequest) String() string

type ListRolesResponse added in v0.34.0

type ListRolesResponse struct {
	Roles []*api.Role `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"`
	// contains filtered or unexported fields
}

Response message for the Iam.ListRoles rpc.

func (*ListRolesResponse) Descriptor deprecated added in v0.34.0

func (*ListRolesResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListRolesResponse.ProtoReflect.Descriptor instead.

func (*ListRolesResponse) GetRoles added in v0.34.0

func (x *ListRolesResponse) GetRoles() []*api.Role

func (*ListRolesResponse) ProtoMessage added in v0.34.0

func (*ListRolesResponse) ProtoMessage()

func (*ListRolesResponse) ProtoReflect added in v0.34.0

func (x *ListRolesResponse) ProtoReflect() protoreflect.Message

func (*ListRolesResponse) Reset added in v0.34.0

func (x *ListRolesResponse) Reset()

func (*ListRolesResponse) String added in v0.34.0

func (x *ListRolesResponse) String() string

type ListUsersRequest added in v0.6.22

type ListUsersRequest struct {
	// contains filtered or unexported fields
}

Request message for the 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 UnimplementedIamServer

type UnimplementedIamServer struct {
}

UnimplementedIamServer must be embedded to have forward compatible implementations.

func (UnimplementedIamServer) CreateApiClient added in v0.15.0

func (UnimplementedIamServer) CreateIpFilter added in v0.9.7

func (UnimplementedIamServer) CreateRole added in v0.34.0

func (UnimplementedIamServer) CreateUser added in v0.11.0

func (UnimplementedIamServer) DeleteApiClient added in v0.15.0

func (UnimplementedIamServer) DeleteIpFilter added in v0.9.6

func (UnimplementedIamServer) DeleteRole added in v0.34.0

func (UnimplementedIamServer) DeleteUser added in v0.11.0

func (UnimplementedIamServer) GetUser added in v0.6.22

func (UnimplementedIamServer) ListApiClients added in v0.15.0

func (UnimplementedIamServer) ListIpFilters added in v0.9.6

func (UnimplementedIamServer) ListPermissions added in v0.33.2

func (UnimplementedIamServer) ListRoles added in v0.34.0

func (UnimplementedIamServer) ListUsers added in v0.6.22

func (UnimplementedIamServer) UpdateRole added in v0.34.0

func (UnimplementedIamServer) WhoAmI

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 UpdateRoleRequest added in v0.34.0

type UpdateRoleRequest struct {

	// Required. The new namespace.
	Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// Required. The role name to update.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Optional. If set, update the current name to this.
	NewName string `protobuf:"bytes,3,opt,name=newName,proto3" json:"newName,omitempty"`
	// Required. The list of permissions to attach to this role.
	Permissions []string `protobuf:"bytes,4,rep,name=permissions,proto3" json:"permissions,omitempty"`
	// contains filtered or unexported fields
}

Request message for the Iam.UpdateRole rpc.

func (*UpdateRoleRequest) Descriptor deprecated added in v0.34.0

func (*UpdateRoleRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpdateRoleRequest.ProtoReflect.Descriptor instead.

func (*UpdateRoleRequest) GetName added in v0.34.0

func (x *UpdateRoleRequest) GetName() string

func (*UpdateRoleRequest) GetNamespace added in v0.34.0

func (x *UpdateRoleRequest) GetNamespace() string

func (*UpdateRoleRequest) GetNewName added in v0.34.5

func (x *UpdateRoleRequest) GetNewName() string

func (*UpdateRoleRequest) GetPermissions added in v0.34.0

func (x *UpdateRoleRequest) GetPermissions() []string

func (*UpdateRoleRequest) ProtoMessage added in v0.34.0

func (*UpdateRoleRequest) ProtoMessage()

func (*UpdateRoleRequest) ProtoReflect added in v0.34.0

func (x *UpdateRoleRequest) ProtoReflect() protoreflect.Message

func (*UpdateRoleRequest) Reset added in v0.34.0

func (x *UpdateRoleRequest) Reset()

func (*UpdateRoleRequest) String added in v0.34.0

func (x *UpdateRoleRequest) String() string

type WhoAmIRequest

type WhoAmIRequest struct {
	// contains filtered or unexported fields
}

Request message for the 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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL