gcom

package
v11.1.4-modfix Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2024 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const LogPrefix = "gcom.service"

Variables

View Source
var ErrTokenNotFound = errors.New("gcom: token not found")

Functions

This section is empty.

Types

type AccessPolicy

type AccessPolicy struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

type Config

type Config struct {
	ApiURL string
	Token  string
}

type CreateAccessPolicyParams

type CreateAccessPolicyParams struct {
	RequestID string
	Region    string
}

type CreateAccessPolicyPayload

type CreateAccessPolicyPayload struct {
	Name        string   `json:"name"`
	DisplayName string   `json:"displayName"`
	Realms      []Realm  `json:"realms"`
	Scopes      []string `json:"scopes"`
}

type CreateTokenParams

type CreateTokenParams struct {
	RequestID string
	Region    string
}

type CreateTokenPayload

type CreateTokenPayload struct {
	AccessPolicyID string    `json:"accessPolicyId"`
	DisplayName    string    `json:"displayName"`
	Name           string    `json:"name"`
	ExpiresAt      time.Time `json:"expiresAt"`
}

type DeleteAccessPolicyParams

type DeleteAccessPolicyParams struct {
	RequestID      string
	AccessPolicyID string
	Region         string
}

type DeleteTokenParams

type DeleteTokenParams struct {
	RequestID string
	Region    string
	TokenID   string
}

type GcomClient

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

func (*GcomClient) CreateAccessPolicy

func (client *GcomClient) CreateAccessPolicy(ctx context.Context, params CreateAccessPolicyParams, payload CreateAccessPolicyPayload) (AccessPolicy, error)

func (*GcomClient) CreateToken

func (client *GcomClient) CreateToken(ctx context.Context, params CreateTokenParams, payload CreateTokenPayload) (Token, error)

func (*GcomClient) DeleteAccessPolicy

func (client *GcomClient) DeleteAccessPolicy(ctx context.Context, params DeleteAccessPolicyParams) (bool, error)

func (*GcomClient) DeleteToken

func (client *GcomClient) DeleteToken(ctx context.Context, params DeleteTokenParams) error

func (*GcomClient) GetInstanceByID

func (client *GcomClient) GetInstanceByID(ctx context.Context, requestID string, instanceID string) (Instance, error)

func (*GcomClient) ListAccessPolicies

func (client *GcomClient) ListAccessPolicies(ctx context.Context, params ListAccessPoliciesParams) ([]AccessPolicy, error)

func (*GcomClient) ListTokens

func (client *GcomClient) ListTokens(ctx context.Context, params ListTokenParams) ([]TokenView, error)

type Instance

type Instance struct {
	ID          int    `json:"id"`
	Slug        string `json:"slug"`
	RegionSlug  string `json:"regionSlug"`
	ClusterSlug string `json:"clusterSlug"`
}

type LabelPolicy

type LabelPolicy struct {
	Selector string `json:"selector"`
}

type ListAccessPoliciesParams

type ListAccessPoliciesParams struct {
	RequestID string
	Region    string
	Name      string
}

type ListAccessPoliciesResponse

type ListAccessPoliciesResponse struct {
	Items []AccessPolicy `json:"items"`
}

type ListTokenParams

type ListTokenParams struct {
	RequestID        string
	Region           string
	AccessPolicyName string
	TokenName        string
}

type Realm

type Realm struct {
	Identifier    string        `json:"identifier"`
	LabelPolicies []LabelPolicy `json:"labelPolicies"`
	Type          string        `json:"type"`
}

type Service

type Service interface {
	GetInstanceByID(ctx context.Context, requestID string, instanceID string) (Instance, error)
	CreateAccessPolicy(ctx context.Context, params CreateAccessPolicyParams, payload CreateAccessPolicyPayload) (AccessPolicy, error)
	ListAccessPolicies(ctx context.Context, params ListAccessPoliciesParams) ([]AccessPolicy, error)
	DeleteAccessPolicy(ctx context.Context, params DeleteAccessPolicyParams) (bool, error)
	ListTokens(ctx context.Context, params ListTokenParams) ([]TokenView, error)
	CreateToken(ctx context.Context, params CreateTokenParams, payload CreateTokenPayload) (Token, error)
	DeleteToken(ctx context.Context, params DeleteTokenParams) error
}

func New

func New(cfg Config) Service

type Token

type Token struct {
	ID             string `json:"id"`
	AccessPolicyID string `json:"accessPolicyId"`
	Name           string `json:"name"`
	Token          string `json:"token"`
}

The token returned by gcom api when a token gets created.

type TokenView

type TokenView struct {
	ID             string `json:"id"`
	AccessPolicyID string `json:"accessPolicyId"`
	Name           string `json:"name"`
	DisplayName    string `json:"displayName"`
	ExpiresAt      string `json:"expiresAt"`
	FirstUsedAt    string `json:"firstUsedAt"`
	LastUsedAt     string `json:"lastUsedAt"`
	CreatedAt      string `json:"createdAt"`
}

The token returned by gcom api for a GET token request.

Jump to

Keyboard shortcuts

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