Documentation ¶
Overview ¶
Package organization is responsible for OTF organizations
Index ¶
- Constants
- func NewCommand(api *otfapi.Client) *cobra.Command
- func NewService(opts Options) *service
- type Authorizer
- type CLI
- type Client
- type CreateOptions
- type Entitlements
- type ListOptions
- type Options
- type Organization
- type OrganizationPage
- type OrganizationService
- type Service
- type UpdateOptions
Constants ¶
View Source
const ( DefaultSessionTimeout = 20160 DefaultSessionExpiration = 20160 )
Variables ¶
This section is empty.
Functions ¶
func NewService ¶
func NewService(opts Options) *service
Types ¶
type Authorizer ¶
Authorizer authorizes access to an organization
type Client ¶
type Client struct { internal.JSONAPIClient Service }
func (*Client) CreateOrganization ¶ added in v0.1.0
func (c *Client) CreateOrganization(ctx context.Context, options CreateOptions) (*Organization, error)
CreateOrganization creates a new organization with the given options.
type CreateOptions ¶ added in v0.1.8
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 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 ¶ added in v0.0.51
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 ¶ added in v0.1.0
func NewOrganization(opts CreateOptions) (*Organization, error)
func NewTestOrganization ¶
func NewTestOrganization(t *testing.T) *Organization
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 OrganizationService ¶
type OrganizationService = Service
type Service ¶
type Service interface { CreateOrganization(ctx context.Context, opts CreateOptions) (*Organization, error) UpdateOrganization(ctx context.Context, name string, opts UpdateOptions) (*Organization, error) GetOrganization(ctx context.Context, name string) (*Organization, error) ListOrganizations(ctx context.Context, opts ListOptions) (*resource.Page[*Organization], error) DeleteOrganization(ctx context.Context, name string) error GetEntitlements(ctx context.Context, organization string) (Entitlements, error) AfterCreateOrganization(l hooks.Listener[*Organization]) BeforeDeleteOrganization(l hooks.Listener[*Organization]) }
type UpdateOptions ¶ added in v0.1.8
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.
Click to show internal directories.
Click to hide internal directories.