Documentation
¶
Overview ¶
Package organization is responsible for OTF organizations
Index ¶
- Constants
- func NewCommand(httpClient *http.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 `schema:"name,required"`
// 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 `json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
Name string `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.