Documentation ¶
Overview ¶
Package organization is responsible for OTF organizations
Index ¶
- Constants
- func NewCommand(client *otfapi.Client) *cobra.Command
- type Authorizer
- type CLI
- type Client
- type CreateOptions
- type CreateOrganizationTokenOptions
- type Entitlements
- type ListOptions
- type Options
- type Organization
- type OrganizationPage
- type OrganizationToken
- func (u *OrganizationToken) CanAccessOrganization(action rbac.Action, org string) bool
- func (u *OrganizationToken) CanAccessSite(action rbac.Action) bool
- func (u *OrganizationToken) CanAccessTeam(rbac.Action, string) bool
- func (u *OrganizationToken) CanAccessWorkspace(action rbac.Action, policy internal.WorkspacePolicy) bool
- func (u *OrganizationToken) IsOwner(organization string) bool
- func (u *OrganizationToken) IsSiteAdmin() bool
- func (u *OrganizationToken) Organizations() []string
- func (u *OrganizationToken) String() string
- type Service
- func (s *Service) AddHandlers(r *mux.Router)
- func (s *Service) AfterCreateOrganization(hook func(context.Context, *Organization) error)
- func (s *Service) BeforeDeleteOrganization(hook func(context.Context, *Organization) error)
- func (s *Service) Create(ctx context.Context, opts CreateOptions) (*Organization, error)
- func (s *Service) CreateToken(ctx context.Context, opts CreateOrganizationTokenOptions) (*OrganizationToken, []byte, error)
- func (s *Service) Delete(ctx context.Context, name string) error
- func (s *Service) DeleteToken(ctx context.Context, organization string) error
- func (s *Service) Get(ctx context.Context, name string) (*Organization, error)
- func (s *Service) GetEntitlements(ctx context.Context, organization string) (Entitlements, error)
- func (s *Service) GetOrganizationToken(ctx context.Context, organization string) (*OrganizationToken, error)
- func (s *Service) List(ctx context.Context, opts ListOptions) (*resource.Page[*Organization], error)
- func (s *Service) ListTokens(ctx context.Context, organization string) ([]*OrganizationToken, error)
- func (s *Service) Update(ctx context.Context, name string, opts UpdateOptions) (*Organization, error)
- func (s *Service) WatchOrganizations(ctx context.Context) (<-chan pubsub.Event[*Organization], func())
- type UpdateOptions
Constants ¶
const ( DefaultSessionTimeout = 20160 DefaultSessionExpiration = 20160 )
const OrganizationTokenKind tokens.Kind = "organization_token"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Authorizer ¶
Authorizer authorizes access to an organization
type Client ¶
func (*Client) CreateOrganization ¶
func (c *Client) CreateOrganization(ctx context.Context, options CreateOptions) (*Organization, error)
CreateOrganization creates a new organization with the given options.
type CreateOptions ¶
type CreateOptions struct { Name *string // TFE fields that OTF does not support but persists merely to pass the // go-tfe integration tests Email *string CollaboratorAuthPolicy *string CostEstimationEnabled *bool SessionRemember *int SessionTimeout *int AllowForceDeleteWorkspaces *bool }
CreateOptions represents the options for creating an organization. See types.CreateOptions for more details.
type CreateOrganizationTokenOptions ¶
type CreateOrganizationTokenOptions struct { Organization string `schema:"organization_name,required"` Expiry *time.Time }
CreateOrganizationTokenOptions are options for creating an organization token via the service endpoint
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 ListOptions ¶
type ListOptions struct {
resource.PageOptions
}
ListOptions represents the options for listing organizations.
type Organization ¶
type Organization struct { ID string `jsonapi:"primary,organizations"` CreatedAt time.Time `jsonapi:"attribute" json:"created-at"` UpdatedAt time.Time `jsonapi:"attribute" json:"updated-at"` Name string `jsonapi:"attribute" json:"name"` // TFE fields that OTF does not support but persists merely to pass the // go-tfe integration tests Email *string CollaboratorAuthPolicy *string SessionRemember *int SessionTimeout *int AllowForceDeleteWorkspaces bool CostEstimationEnabled bool }
Organization is an OTF organization, comprising workspaces, users, etc.
func NewOrganization ¶
func NewOrganization(opts CreateOptions) (*Organization, error)
func (*Organization) String ¶
func (org *Organization) String() string
func (*Organization) Update ¶
func (org *Organization) Update(opts UpdateOptions) error
type OrganizationPage ¶
OrganizationPage contains data shared by all organization-based pages.
type OrganizationToken ¶
type OrganizationToken struct { ID string CreatedAt time.Time // Token belongs to an organization Organization string // Optional expiry. Expiry *time.Time }
OrganizationToken provides information about an API token for an organization
func (*OrganizationToken) CanAccessOrganization ¶
func (u *OrganizationToken) CanAccessOrganization(action rbac.Action, org string) bool
func (*OrganizationToken) CanAccessSite ¶
func (u *OrganizationToken) CanAccessSite(action rbac.Action) bool
func (*OrganizationToken) CanAccessTeam ¶
func (u *OrganizationToken) CanAccessTeam(rbac.Action, string) bool
func (*OrganizationToken) CanAccessWorkspace ¶
func (u *OrganizationToken) CanAccessWorkspace(action rbac.Action, policy internal.WorkspacePolicy) bool
func (*OrganizationToken) IsOwner ¶
func (u *OrganizationToken) IsOwner(organization string) bool
func (*OrganizationToken) IsSiteAdmin ¶
func (u *OrganizationToken) IsSiteAdmin() bool
func (*OrganizationToken) Organizations ¶
func (u *OrganizationToken) Organizations() []string
func (*OrganizationToken) String ¶
func (u *OrganizationToken) String() string
type Service ¶
type Service struct { RestrictOrganizationCreation bool internal.Authorizer // authorize access to org logr.Logger // contains filtered or unexported fields }
func NewService ¶
func (*Service) AddHandlers ¶
func (*Service) AfterCreateOrganization ¶
func (s *Service) AfterCreateOrganization(hook func(context.Context, *Organization) error)
func (*Service) BeforeDeleteOrganization ¶
func (s *Service) BeforeDeleteOrganization(hook func(context.Context, *Organization) error)
func (*Service) Create ¶
func (s *Service) Create(ctx context.Context, opts CreateOptions) (*Organization, error)
Create creates an organization. Only users can create organizations, or, if RestrictOrganizationCreation is true, then only the site admin can create organizations. Creating an organization automatically creates an owners team and adds creator as an owner.
func (*Service) CreateToken ¶
func (s *Service) CreateToken(ctx context.Context, opts CreateOrganizationTokenOptions) (*OrganizationToken, []byte, error)
CreateToken creates an organization token. If an organization token already exists it is replaced.
func (*Service) DeleteToken ¶
func (*Service) GetEntitlements ¶
func (*Service) GetOrganizationToken ¶
func (*Service) List ¶
func (s *Service) List(ctx context.Context, opts ListOptions) (*resource.Page[*Organization], error)
List lists organizations according to the subject. If the subject has site-wide permission to list organizations then all organizations are listed. Otherwise: Subject is a user: list their organization memberships Subject is an agent: return its organization Subject is an organization token: return its organization Subject is a team: return its organization
func (*Service) ListTokens ¶
func (*Service) Update ¶
func (s *Service) Update(ctx context.Context, name string, opts UpdateOptions) (*Organization, error)
func (*Service) WatchOrganizations ¶
type UpdateOptions ¶
type UpdateOptions struct { Name *string SessionRemember *int SessionTimeout *int // TFE fields that OTF does not support but persists merely to pass the // go-tfe integration tests Email *string CollaboratorAuthPolicy *string CostEstimationEnabled *bool AllowForceDeleteWorkspaces *bool }
UpdateOptions represents the options for updating an organization.