organization

package
v0.0.39 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2023 License: MPL-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package organization is responsible for OTF organizations

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewService

func NewService(opts Options) *service

Types

type Authorizer

type Authorizer struct {
	logr.Logger
}

Authorizer authorizes access to an organization

func (*Authorizer) CanAccess

func (a *Authorizer) CanAccess(ctx context.Context, action rbac.Action, name string) (otf.Subject, error)

type Client

type Client struct {
	otf.JSONAPIClient
}

func (*Client) DeleteOrganization

func (c *Client) DeleteOrganization(ctx context.Context, organization string) error

DeleteOrganization deletes an organization via http.

type Entitlements

type Entitlements struct {
	ID                    string
	Agents                bool
	AuditLogging          bool
	CostEstimation        bool
	Operations            bool
	PrivateModuleRegistry bool
	SSO                   bool
	Sentinel              bool
	StateStorage          bool
	Teams                 bool
	VCSIntegrations       bool
}

OTF is free and therefore the user is entitled to all currently supported services.

type JSONAPIMarshaler added in v0.0.33

type JSONAPIMarshaler struct{}

JSONAPIMarshaler marshals workspace into a struct suitable for marshaling into json-api

func (*JSONAPIMarshaler) ToOrganization added in v0.0.33

func (m *JSONAPIMarshaler) ToOrganization(org *Organization) *jsonapi.Organization

type Options

type Options struct {
	otf.DB
	otf.Broker
	otf.Renderer
	logr.Logger
}

type Organization

type Organization struct {
	ID              string
	CreatedAt       time.Time
	UpdatedAt       time.Time
	Name            string
	SessionRemember int
	SessionTimeout  int
}

Organization is an OTF organization, comprising workspaces, users, etc.

func NewTestOrganization

func NewTestOrganization(t *testing.T) *Organization

func (*Organization) String

func (org *Organization) String() string

func (*Organization) Update

func (org *Organization) Update(opts OrganizationUpdateOptions) error

type OrganizationList

type OrganizationList struct {
	*otf.Pagination
	Items []*Organization
}

OrganizationList represents a list of Organizations.

type OrganizationListOptions

type OrganizationListOptions struct {
	Names []string // filter organizations by name
	otf.ListOptions
}

ListOptions represents the options for listing organizations.

type OrganizationService

type OrganizationService = Service

type OrganizationUpdateOptions

type OrganizationUpdateOptions struct {
	Name            *string
	SessionRemember *int
	SessionTimeout  *int
}

UpdateOptions represents the options for updating an organization.

type Service

type Service interface {
	UpdateOrganization(ctx context.Context, name string, opts OrganizationUpdateOptions) (*Organization, error)
	GetOrganization(ctx context.Context, name string) (*Organization, error)
	GetOrganizationJSONAPI(ctx context.Context, name string) (*jsonapi.Organization, error)
	ListOrganizations(ctx context.Context, opts OrganizationListOptions) (*OrganizationList, error)
	DeleteOrganization(ctx context.Context, name string) error
	// contains filtered or unexported methods
}

Jump to

Keyboard shortcuts

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