Documentation ¶
Overview ¶
Package tharsis provides functions for interfacing with the Tharsis API.
Index ¶
- type Apply
- type Client
- type ConfigurationVersion
- type GetWorkspacesPaginator
- type GraphQLManagedIdentity
- type GraphQLStateVersion
- type GraphQLStateVersionOutput
- type Group
- type GroupPaginator
- type Job
- type ManagedIdentity
- type Plan
- type Run
- type RunPaginator
- type StateVersion
- type TerraformCLIVersion
- type TerraformProvider
- type TerraformProviderPlatform
- type TerraformProviderVersion
- type Workspaces
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Apply ¶
type Apply interface {
UpdateApply(ctx context.Context, input *types.UpdateApplyInput) (*types.Apply, error)
}
Apply implements functions related to Tharsis Apply.
type Client ¶
type Client struct { ConfigurationVersion ConfigurationVersion Group Group Job Job ManagedIdentity ManagedIdentity Plan Plan Apply Apply Run Run StateVersion StateVersion Workspaces Workspaces TerraformProvider TerraformProvider TerraformProviderVersion TerraformProviderVersion TerraformProviderPlatform TerraformProviderPlatform TerraformCLIVersions TerraformCLIVersion // contains filtered or unexported fields }
Client provides access for the client/user to access the SDK functions. Note: When adding a new field here, make sure to assign the field near the end of the NewClient function.
type ConfigurationVersion ¶
type ConfigurationVersion interface { GetConfigurationVersion(ctx context.Context, input *types.GetConfigurationVersionInput) (*types.ConfigurationVersion, error) CreateConfigurationVersion(ctx context.Context, input *types.CreateConfigurationVersionInput) (*types.ConfigurationVersion, error) DownloadConfigurationVersion(ctx context.Context, input *types.GetConfigurationVersionInput, writer io.WriterAt) error UploadConfigurationVersion(ctx context.Context, input *types.UploadConfigurationVersionInput) error }
ConfigurationVersion implements functions related to Tharsis configuration versions.
func NewConfigurationVersion ¶
func NewConfigurationVersion(client *Client) ConfigurationVersion
NewConfigurationVersion returns a ConfigurationVersion object.
type GetWorkspacesPaginator ¶
type GetWorkspacesPaginator struct {
// contains filtered or unexported fields
}
GetWorkspacesPaginator is a type-specific paginator.
func (*GetWorkspacesPaginator) HasMore ¶
func (wp *GetWorkspacesPaginator) HasMore() bool
HasMore returns a boolean, whether there is another page (or more):
func (*GetWorkspacesPaginator) Next ¶
func (wp *GetWorkspacesPaginator) Next(ctx context.Context) (*types.GetWorkspacesOutput, error)
Next returns the next page of results:
type GraphQLManagedIdentity ¶
type GraphQLManagedIdentity struct { ID graphql.String Metadata internal.GraphQLMetadata Type graphql.String ResourcePath graphql.String Name graphql.String Description graphql.String Data graphql.String AccessRules []graphQLManagedIdentityAccessRule }
GraphQLManagedIdentity represents the insides of the query structure, everything in the managed identity object, and with graphql types.
type GraphQLStateVersion ¶
type GraphQLStateVersion struct { Metadata internal.GraphQLMetadata ID graphql.String Run struct { ID graphql.String } Outputs []GraphQLStateVersionOutput }
GraphQLStateVersion represents the insides of the query structure, everything in the state version object, and with graphql types.
type GraphQLStateVersionOutput ¶
type GraphQLStateVersionOutput struct { Metadata internal.GraphQLMetadata ID graphql.String Name graphql.String Value graphql.String Type graphql.String Sensitive graphql.Boolean }
GraphQLStateVersionOutput represents the insides of the query structure, everything in the state version output object, and with graphql types.
type Group ¶
type Group interface { GetGroup(ctx context.Context, input *types.GetGroupInput) (*types.Group, error) // GetSubgroups(...) with pagination. // GetWorkspaces(...) with pagination. GetGroups(ctx context.Context, input *types.GetGroupsInput) (*types.GetGroupsOutput, error) GetGroupPaginator(ctx context.Context, input *types.GetGroupsInput) (*GroupPaginator, error) CreateGroup(ctx context.Context, input *types.CreateGroupInput) (*types.Group, error) UpdateGroup(ctx context.Context, input *types.UpdateGroupInput) (*types.Group, error) DeleteGroup(ctx context.Context, input *types.DeleteGroupInput) error SetGroupVariables(ctx context.Context, input *types.SetNamespaceVariablesInput) error }
Group implements functions related to Tharsis groups.
type GroupPaginator ¶
type GroupPaginator struct {
// contains filtered or unexported fields
}
GroupPaginator is a type-specific paginator.
func (*GroupPaginator) HasMore ¶
func (gp *GroupPaginator) HasMore() bool
HasMore returns a boolean, whether there is another page (or more):
func (*GroupPaginator) Next ¶
func (gp *GroupPaginator) Next(ctx context.Context) (*types.GetGroupsOutput, error)
Next returns the next page of results:
type Job ¶
type Job interface { GetJob(ctx context.Context, input *types.GetJobInput) (*types.Job, error) SubscribeToJobCancellationEvent(ctx context.Context, input *types.JobCancellationEventSubscriptionInput) (<-chan *types.CancellationEvent, error) SaveJobLogs(ctx context.Context, input *types.SaveJobLogsInput) error GetJobLogs(ctx context.Context, input *types.GetJobLogsInput) (chan string, error) }
Job implements functions related to Tharsis jobs.
type ManagedIdentity ¶
type ManagedIdentity interface { CreateManagedIdentity(ctx context.Context, input *types.CreateManagedIdentityInput) (*types.ManagedIdentity, error) UpdateManagedIdentity(ctx context.Context, input *types.UpdateManagedIdentityInput) (*types.ManagedIdentity, error) DeleteManagedIdentity(ctx context.Context, input *types.DeleteManagedIdentityInput) error CreateManagedIdentityCredentials(ctx context.Context, input *types.CreateManagedIdentityCredentialsInput) ([]byte, error) AssignManagedIdentityToWorkspace(ctx context.Context, input *types.AssignManagedIdentityInput) (*types.Workspace, error) UnassignManagedIdentityFromWorkspace(ctx context.Context, input *types.AssignManagedIdentityInput) (*types.Workspace, error) }
ManagedIdentity implements functions related to Tharsis ManagedIdentity.
func NewManagedIdentity ¶
func NewManagedIdentity(client *Client) ManagedIdentity
NewManagedIdentity returns a new ManagedIdentity.
type Plan ¶
type Plan interface { UpdatePlan(ctx context.Context, input *types.UpdatePlanInput) (*types.Plan, error) DownloadPlanCache(ctx context.Context, id string, writer io.WriterAt) error UploadPlanCache(ctx context.Context, id string, body io.Reader) error }
Plan implements functions related to Tharsis Plan.
type Run ¶
type Run interface { GetRun(ctx context.Context, input *types.GetRunInput) (*types.Run, error) GetRuns(ctx context.Context, input *types.GetRunsInput) (*types.GetRunsOutput, error) GetRunVariables(ctx context.Context, input *types.GetRunInput) ([]types.RunVariable, error) GetRunPaginator(ctx context.Context, input *types.GetRunsInput) (*RunPaginator, error) CreateRun(ctx context.Context, input *types.CreateRunInput) (*types.Run, error) ApplyRun(ctx context.Context, input *types.ApplyRunInput) (*types.Run, error) CancelRun(ctx context.Context, input *types.CancelRunInput) (*types.Run, error) SubscribeToWorkspaceRunEvents(ctx context.Context, input *types.RunSubscriptionInput) (<-chan *types.Run, error) }
Run implements functions related to Tharsis runs.
type RunPaginator ¶
type RunPaginator struct {
// contains filtered or unexported fields
}
RunPaginator is a type-specific paginator.
func (*RunPaginator) HasMore ¶
func (rp *RunPaginator) HasMore() bool
HasMore returns a boolean, whether there is another page (or more):
func (*RunPaginator) Next ¶
func (rp *RunPaginator) Next(ctx context.Context) (*types.GetRunsOutput, error)
Next returns the next page of results:
type StateVersion ¶
type StateVersion interface { CreateStateVersion(ctx context.Context, input *types.CreateStateVersionInput) (*types.StateVersion, error) DownloadStateVersion(ctx context.Context, input *types.DownloadStateVersionInput, writer io.WriterAt) error }
StateVersion implements functions related to a Tharsis state version.
func NewStateVersion ¶
func NewStateVersion(client *Client) StateVersion
NewStateVersion returns a StateVersion.
type TerraformCLIVersion ¶
type TerraformCLIVersion interface {
CreateTerraformCLIDownloadURL(ctx context.Context, input *types.CreateTerraformCLIDownloadURLInput) (string, error)
}
TerraformCLIVersion implements the function related to Terraform CLI Versions.
func NewTerraformCLIVersion ¶
func NewTerraformCLIVersion(client *Client) TerraformCLIVersion
NewTerraformCLIVersion returns a TerraformCLIVersion object.
type TerraformProvider ¶
type TerraformProvider interface { GetProvider(ctx context.Context, input *types.GetTerraformProviderInput) (*types.TerraformProvider, error) CreateProvider(ctx context.Context, input *types.CreateTerraformProviderInput) (*types.TerraformProvider, error) }
TerraformProvider implements functions related to Tharsis providers.
func NewTerraformProvider ¶
func NewTerraformProvider(client *Client) TerraformProvider
NewTerraformProvider returns a TerraformProvider.
type TerraformProviderPlatform ¶
type TerraformProviderPlatform interface { GetProviderPlatform(ctx context.Context, input *types.GetTerraformProviderPlatformInput) (*types.TerraformProviderPlatform, error) CreateProviderPlatform(ctx context.Context, input *types.CreateTerraformProviderPlatformInput) (*types.TerraformProviderPlatform, error) UploadProviderPlatformBinary(ctx context.Context, providerPlatformID string, reader io.Reader) error }
TerraformProviderPlatform implements functions related to Tharsis provider platforms.
func NewTerraformProviderPlatform ¶
func NewTerraformProviderPlatform(client *Client) TerraformProviderPlatform
NewTerraformProviderPlatform returns a TerraformProviderPlatform.
type TerraformProviderVersion ¶
type TerraformProviderVersion interface { GetProviderVersion(ctx context.Context, input *types.GetTerraformProviderVersionInput) (*types.TerraformProviderVersion, error) CreateProviderVersion(ctx context.Context, input *types.CreateTerraformProviderVersionInput) (*types.TerraformProviderVersion, error) UploadProviderReadme(ctx context.Context, providerVersionID string, reader io.Reader) error UploadProviderChecksums(ctx context.Context, providerVersionID string, reader io.Reader) error UploadProviderChecksumSignature(ctx context.Context, providerVersionID string, reader io.Reader) error }
TerraformProviderVersion implements functions related to Tharsis providerVersions.
func NewTerraformProviderVersion ¶
func NewTerraformProviderVersion(client *Client) TerraformProviderVersion
NewTerraformProviderVersion returns a TerraformProviderVersion.
type Workspaces ¶
type Workspaces interface { GetWorkspace(ctx context.Context, input *types.GetWorkspaceInput) (*types.Workspace, error) GetWorkspaces(ctx context.Context, input *types.GetWorkspacesInput) (*types.GetWorkspacesOutput, error) GetWorkspacePaginator(ctx context.Context, input *types.GetWorkspacesInput) (*GetWorkspacesPaginator, error) CreateWorkspace(ctx context.Context, workspace *types.CreateWorkspaceInput) (*types.Workspace, error) UpdateWorkspace(ctx context.Context, workspace *types.UpdateWorkspaceInput) (*types.Workspace, error) DeleteWorkspace(ctx context.Context, workspace *types.DeleteWorkspaceInput) error SetWorkspaceVariables(ctx context.Context, input *types.SetNamespaceVariablesInput) error }
Workspaces implements functions related to Tharsis workspaces.
func NewWorkspaces ¶
func NewWorkspaces(client *Client) Workspaces
NewWorkspaces returns a Workspaces.