Documentation
¶
Overview ¶
Package models package
Index ¶
- Constants
- func ExpandGroupPath(currentPath string) []string
- func GetGroupParentPath(currentPath string) string
- func IsDescendantOfPath(descendantPath, ancestorPath string) bool
- type ActivityEvent
- type ActivityEventAction
- type ActivityEventAddTeamMemberPayload
- type ActivityEventCreateNamespaceMembershipPayload
- type ActivityEventDeleteChildResourcePayload
- type ActivityEventMigrateGroupPayload
- type ActivityEventMoveManagedIdentityPayload
- type ActivityEventRemoveNamespaceMembershipPayload
- type ActivityEventRemoveTeamMemberPayload
- type ActivityEventTargetType
- type ActivityEventUpdateNamespaceMembershipPayload
- type ActivityEventUpdateTeamMemberPayload
- type Apply
- type ApplyStatus
- type ConfigurationStatus
- type ConfigurationVersion
- type DefaultRoleID
- type GPGKey
- type Group
- func (g *Group) ExpandPath() []string
- func (g *Group) GetDepth() int
- func (g *Group) GetParentPath() string
- func (g *Group) GetRootGroupPath() string
- func (g *Group) IsDescendantOfGroup(otherGroupPath string) bool
- func (g *Group) ResolveMetadata(key string) (string, error)
- func (g *Group) Validate() error
- type Job
- type JobStatus
- type JobTimestamps
- type JobType
- type LogStream
- type MaintenanceMode
- type ManagedIdentity
- type ManagedIdentityAccessRule
- type ManagedIdentityAccessRuleModuleAttestationPolicy
- type ManagedIdentityAccessRuleType
- type ManagedIdentityType
- type MembershipNamespace
- type NamespaceMembership
- type OIDCTrustPolicy
- type Plan
- type PlanStatus
- type ResourceLimit
- type ResourceMetadata
- type Role
- type Run
- type RunStatus
- type Runner
- type RunnerSession
- type RunnerType
- type SCIMToken
- type ServiceAccount
- type StateVersion
- type StateVersionOutput
- type Team
- type TeamMember
- type TerraformModule
- type TerraformModuleAttestation
- type TerraformModuleVersion
- type TerraformModuleVersionStatus
- type TerraformProvider
- type TerraformProviderPlatform
- type TerraformProviderPlatformMirror
- type TerraformProviderVersion
- type TerraformProviderVersionMirror
- type User
- type VCSEvent
- type VCSEventStatus
- type VCSEventType
- type VCSProvider
- type VCSProviderType
- type Variable
- type VariableCategory
- type Workspace
- type WorkspaceVCSProviderLink
Constants ¶
const RunnerSessionHeartbeatInterval = time.Minute
RunnerSessionHeartbeatInterval is the interval that runners should send heartbeats
Variables ¶
This section is empty.
Functions ¶
func ExpandGroupPath ¶ added in v0.16.0
ExpandGroupPath returns the expanded path list for a group's path. The expanded path list includes the full path for the group in addition to all parent paths
func GetGroupParentPath ¶ added in v0.16.0
GetGroupParentPath returns the path for a group's parent based only on the current path.
func IsDescendantOfPath ¶ added in v0.16.0
IsDescendantOfPath returns true if the namespace is a descendant of the specified (ancestor group) path.
Types ¶
type ActivityEvent ¶
type ActivityEvent struct {
UserID *string
ServiceAccountID *string
NamespacePath *string
Payload []byte
TargetID string
Action ActivityEventAction
TargetType ActivityEventTargetType
Metadata ResourceMetadata
}
ActivityEvent resource
func (*ActivityEvent) ResolveMetadata ¶ added in v0.10.0
func (a *ActivityEvent) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type ActivityEventAction ¶
type ActivityEventAction string
ActivityEventAction represents the type of action.
const ( ActionAdd ActivityEventAction = "ADD" ActionAddMember ActivityEventAction = "ADD_MEMBER" ActionCreateMembership ActivityEventAction = "CREATE_MEMBERSHIP" ActionApply ActivityEventAction = "APPLY" ActionCancel ActivityEventAction = "CANCEL" ActionCreate ActivityEventAction = "CREATE" ActionDeleteChildResource ActivityEventAction = "DELETE_CHILD_RESOURCE" ActionLock ActivityEventAction = "LOCK" ActionMigrate ActivityEventAction = "MIGRATE" ActionRemove ActivityEventAction = "REMOVE" ActionRemoveMember ActivityEventAction = "REMOVE_MEMBER" ActionRemoveMembership ActivityEventAction = "REMOVE_MEMBERSHIP" ActionSetVariables ActivityEventAction = "SET_VARIABLES" ActionUnlock ActivityEventAction = "UNLOCK" ActionUpdate ActivityEventAction = "UPDATE" ActionUpdateMember ActivityEventAction = "UPDATE_MEMBER" )
ActivityEventAction Types
type ActivityEventAddTeamMemberPayload ¶
type ActivityEventAddTeamMemberPayload struct {
UserID *string `json:"userId"`
Maintainer bool `json:"maintainer"`
}
ActivityEventAddTeamMemberPayload is the custom payload for adding a user to a team
type ActivityEventCreateNamespaceMembershipPayload ¶
type ActivityEventCreateNamespaceMembershipPayload struct {
UserID *string `json:"userId"`
ServiceAccountID *string `json:"serviceAccountId"`
TeamID *string `json:"teamId"`
Role string `json:"role"`
}
ActivityEventCreateNamespaceMembershipPayload helps with custom payloads for activity events for namespace memberships.
type ActivityEventDeleteChildResourcePayload ¶
type ActivityEventDeleteChildResourcePayload struct {
Name string `json:"name"`
ID string `json:"id"`
Type string `json:"type"`
}
ActivityEventDeleteChildResourcePayload holds information about the resource that was deleted. The target ID and target type of the associated activity event will be that of the group (or workspace for a workspace-level variable) the resource was in.
type ActivityEventMigrateGroupPayload ¶ added in v0.9.0
type ActivityEventMigrateGroupPayload struct {
PreviousGroupPath string `json:"previousGroupPath"`
}
ActivityEventMigrateGroupPayload is the custom payload for migrating a group.
type ActivityEventMoveManagedIdentityPayload ¶ added in v0.16.0
type ActivityEventMoveManagedIdentityPayload struct {
PreviousGroupPath string `json:"previousGroupPath"`
}
ActivityEventMoveManagedIdentityPayload is the custom payload for moving a managed identity to another group.
type ActivityEventRemoveNamespaceMembershipPayload ¶
type ActivityEventRemoveNamespaceMembershipPayload struct {
UserID *string `json:"userId"`
ServiceAccountID *string `json:"serviceAccountId"`
TeamID *string `json:"teamId"`
}
ActivityEventRemoveNamespaceMembershipPayload helps with custom payloads for activity events for namespace memberships.
type ActivityEventRemoveTeamMemberPayload ¶
type ActivityEventRemoveTeamMemberPayload struct {
UserID *string `json:"userId"`
}
ActivityEventRemoveTeamMemberPayload is the custom payload for removing a user from a team
type ActivityEventTargetType ¶
type ActivityEventTargetType string
ActivityEventTargetType represents the type of the target of the action.
const ( TargetGPGKey ActivityEventTargetType = "GPG_KEY" TargetGroup ActivityEventTargetType = "GROUP" TargetManagedIdentity ActivityEventTargetType = "MANAGED_IDENTITY" TargetManagedIdentityAccessRule ActivityEventTargetType = "MANAGED_IDENTITY_ACCESS_RULE" TargetNamespaceMembership ActivityEventTargetType = "NAMESPACE_MEMBERSHIP" TargetRun ActivityEventTargetType = "RUN" TargetRunner ActivityEventTargetType = "RUNNER" TargetServiceAccount ActivityEventTargetType = "SERVICE_ACCOUNT" TargetStateVersion ActivityEventTargetType = "STATE_VERSION" TargetTeam ActivityEventTargetType = "TEAM" TargetTerraformProvider ActivityEventTargetType = "TERRAFORM_PROVIDER" TargetTerraformProviderVersion ActivityEventTargetType = "TERRAFORM_PROVIDER_VERSION" TargetTerraformProviderVersionMirror ActivityEventTargetType = "TERRAFORM_PROVIDER_VERSION_MIRROR" TargetTerraformModule ActivityEventTargetType = "TERRAFORM_MODULE" TargetTerraformModuleVersion ActivityEventTargetType = "TERRAFORM_MODULE_VERSION" TargetVariable ActivityEventTargetType = "VARIABLE" TargetVCSProvider ActivityEventTargetType = "VCS_PROVIDER" TargetWorkspace ActivityEventTargetType = "WORKSPACE" TargetRole ActivityEventTargetType = "ROLE" )
ActivityEventTargetType Values
type ActivityEventUpdateNamespaceMembershipPayload ¶
type ActivityEventUpdateNamespaceMembershipPayload struct {
PrevRole string `json:"prevRole"`
NewRole string `json:"newRole"`
}
ActivityEventUpdateNamespaceMembershipPayload helps with custom payloads for activity events for namespace memberships.
type ActivityEventUpdateTeamMemberPayload ¶
type ActivityEventUpdateTeamMemberPayload struct {
UserID *string `json:"userId"`
Maintainer bool `json:"maintainer"`
}
ActivityEventUpdateTeamMemberPayload is the custom payload for updating a member of a team
type Apply ¶
type Apply struct {
WorkspaceID string
Status ApplyStatus
TriggeredBy string
Comment string
Metadata ResourceMetadata
}
Apply includes information related to running a terraform plan command
type ApplyStatus ¶
type ApplyStatus string
ApplyStatus represents the various states for a Apply resource
const ( ApplyCanceled ApplyStatus = "canceled" ApplyCreated ApplyStatus = "created" ApplyErrored ApplyStatus = "errored" ApplyFinished ApplyStatus = "finished" ApplyPending ApplyStatus = "pending" ApplyQueued ApplyStatus = "queued" ApplyRunning ApplyStatus = "running" )
Apply Status Types
type ConfigurationStatus ¶
type ConfigurationStatus string
ConfigurationStatus represents the various states for a ConfigurationVersion resource
const ( ConfigurationErrored ConfigurationStatus = "errored" ConfigurationPending ConfigurationStatus = "pending" ConfigurationUploaded ConfigurationStatus = "uploaded" )
Configuration version status types
type ConfigurationVersion ¶
type ConfigurationVersion struct {
VCSEventID *string
Status ConfigurationStatus
WorkspaceID string
CreatedBy string
Metadata ResourceMetadata
Speculative bool
}
ConfigurationVersion resource represents a terraform configuration that can be used by a single Run
func (*ConfigurationVersion) ResolveMetadata ¶ added in v0.10.0
func (c *ConfigurationVersion) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type DefaultRoleID ¶ added in v0.9.0
type DefaultRoleID string
DefaultRoleID represents the static UUIDs for default Tharsis roles.
const ( OwnerRoleID DefaultRoleID = "623c83ea-23fe-4de6-874a-a99ccf6a76fc" DeployerRoleID DefaultRoleID = "8aa7adba-b769-471f-8ebb-3215f33991cb" ViewerRoleID DefaultRoleID = "52da70fd-37b0-4349-bb64-fb4659bcf5f5" )
DefaultRoleID constants.
func (DefaultRoleID) IsDefaultRole ¶ added in v0.9.0
func (d DefaultRoleID) IsDefaultRole() bool
IsDefaultRole returns true if ID belongs to a default role.
func (DefaultRoleID) Permissions ¶ added in v0.9.0
func (d DefaultRoleID) Permissions() ([]permissions.Permission, bool)
Permissions returns the Permission set for a default Tharsis role.
func (DefaultRoleID) String ¶ added in v0.9.0
func (d DefaultRoleID) String() string
String returns the ID as a string.
type GPGKey ¶
type GPGKey struct {
CreatedBy string
GroupID string
ASCIIArmor string
Fingerprint string
ResourcePath string
Metadata ResourceMetadata
GPGKeyID uint64
}
GPGKey represents a GPG key used for signing
func (*GPGKey) GetGroupPath ¶ added in v0.6.0
GetGroupPath returns the group path
func (*GPGKey) GetHexGPGKeyID ¶
GetHexGPGKeyID returns the GPG key ID in hex format
type Group ¶
type Group struct {
Name string
Description string
ParentID string
FullPath string
CreatedBy string
Metadata ResourceMetadata
}
Group resource
func (*Group) ExpandPath ¶
ExpandPath returns the expanded path list for the group. The expanded path list includes the full path for the group in addition to all parent paths
func (*Group) GetDepth ¶ added in v0.11.0
GetDepth returns the depth of the tree from root to this group. A root group is counted as 1.
func (*Group) GetParentPath ¶
GetParentPath returns the path for the group's immediate parent.
func (*Group) GetRootGroupPath ¶
GetRootGroupPath returns the root path for the group
func (*Group) IsDescendantOfGroup ¶ added in v0.16.0
IsDescendantOfGroup returns true if the group is a descendant of the specified (other/ancestor group) path.
func (*Group) ResolveMetadata ¶ added in v0.10.0
ResolveMetadata resolves the metadata fields for cursor-based pagination
type Job ¶
type Job struct {
Timestamps JobTimestamps
CancelRequestedTimestamp *time.Time
Status JobStatus
Type JobType
WorkspaceID string
RunID string
RunnerID *string
RunnerPath *string
Metadata ResourceMetadata
MaxJobDuration int32
CancelRequested bool
}
Job represents a unit of work that needs to be completed
type JobTimestamps ¶
type JobTimestamps struct {
QueuedTimestamp *time.Time
PendingTimestamp *time.Time
RunningTimestamp *time.Time
FinishedTimestamp *time.Time
}
JobTimestamps includes the timestamp for each job state change
type LogStream ¶ added in v0.17.0
type LogStream struct {
JobID *string
RunnerSessionID *string
Metadata ResourceMetadata
Size int
Completed bool
}
LogStream represents a stream of logs
type MaintenanceMode ¶ added in v0.17.0
type MaintenanceMode struct {
CreatedBy string
Message string
Metadata ResourceMetadata
}
MaintenanceMode represents the maintenance mode (aka read-only mode) of the system.
type ManagedIdentity ¶
type ManagedIdentity struct {
Type ManagedIdentityType
ResourcePath string
Name string
Description string
GroupID string
CreatedBy string
AliasSourceID *string
Metadata ResourceMetadata
Data []byte
}
ManagedIdentity is used to provide identities to terraform providers
func (*ManagedIdentity) GetGroupPath ¶
func (m *ManagedIdentity) GetGroupPath() string
GetGroupPath returns the group path
func (*ManagedIdentity) IsAlias ¶ added in v0.2.0
func (m *ManagedIdentity) IsAlias() bool
IsAlias returns true is managed identity is an alias.
func (*ManagedIdentity) ResolveMetadata ¶ added in v0.10.0
func (m *ManagedIdentity) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
func (*ManagedIdentity) Validate ¶
func (m *ManagedIdentity) Validate() error
Validate returns an error if the model is not valid
type ManagedIdentityAccessRule ¶
type ManagedIdentityAccessRule struct {
Metadata ResourceMetadata
Type ManagedIdentityAccessRuleType
RunStage JobType
ManagedIdentityID string
ModuleAttestationPolicies []ManagedIdentityAccessRuleModuleAttestationPolicy
AllowedUserIDs []string
AllowedServiceAccountIDs []string
AllowedTeamIDs []string
VerifyStateLineage bool
}
ManagedIdentityAccessRule is used to restrict access to a managed identity
func (*ManagedIdentityAccessRule) ResolveMetadata ¶ added in v0.10.0
func (m *ManagedIdentityAccessRule) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
func (*ManagedIdentityAccessRule) Validate ¶ added in v0.3.0
func (m *ManagedIdentityAccessRule) Validate() error
Validate returns an error if the model is not valid
type ManagedIdentityAccessRuleModuleAttestationPolicy ¶ added in v0.3.0
type ManagedIdentityAccessRuleModuleAttestationPolicy struct {
PredicateType *string `json:"predicateType,omitempty"`
PublicKey string `json:"publicKey"`
}
ManagedIdentityAccessRuleModuleAttestationPolicy is used in access rules to verify that a module has an in-toto attestation that is signed with the specified public key and an optional predicate type
type ManagedIdentityAccessRuleType ¶ added in v0.3.0
type ManagedIdentityAccessRuleType string
ManagedIdentityAccessRuleType represents the supported managed identity rule types
const ( ManagedIdentityAccessRuleEligiblePrincipals ManagedIdentityAccessRuleType = "eligible_principals" ManagedIdentityAccessRuleModuleAttestation ManagedIdentityAccessRuleType = "module_attestation" )
Managed Identity Rule Types
type ManagedIdentityType ¶
type ManagedIdentityType string
ManagedIdentityType represents the supported managed identity types
const ( ManagedIdentityAzureFederated ManagedIdentityType = "azure_federated" ManagedIdentityAWSFederated ManagedIdentityType = "aws_federated" ManagedIdentityTharsisFederated ManagedIdentityType = "tharsis_federated" )
Managed Identity Types
type MembershipNamespace ¶
MembershipNamespace represents a namespace which can be a group or workspace
func (*MembershipNamespace) IsDescendantOfGroup ¶ added in v0.16.0
func (m *MembershipNamespace) IsDescendantOfGroup(groupPath string) bool
IsDescendantOfGroup returns true if the namespace is a descendant of the specified ancestor group path.
func (MembershipNamespace) IsTopLevel ¶
func (m MembershipNamespace) IsTopLevel() bool
IsTopLevel returns true if this is a top-level namespace
type NamespaceMembership ¶
type NamespaceMembership struct {
UserID *string
ServiceAccountID *string
TeamID *string
Namespace MembershipNamespace
RoleID string
Metadata ResourceMetadata
}
NamespaceMembership represents an association between a member and a namespace
func (*NamespaceMembership) ResolveMetadata ¶ added in v0.10.0
func (nm *NamespaceMembership) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type OIDCTrustPolicy ¶
OIDCTrustPolicy defined the IDP that can be used for logging into the service account
type Plan ¶
type Plan struct {
WorkspaceID string
Status PlanStatus
Metadata ResourceMetadata
ResourceAdditions int
ResourceChanges int
ResourceDestructions int
HasChanges bool
}
Plan includes information related to running a terraform plan command
type PlanStatus ¶
type PlanStatus string
PlanStatus represents the various states for a Plan resource
const ( PlanCanceled PlanStatus = "canceled" PlanQueued PlanStatus = "queued" PlanErrored PlanStatus = "errored" PlanFinished PlanStatus = "finished" PlanPending PlanStatus = "pending" PlanRunning PlanStatus = "running" )
Run Status Types
type ResourceLimit ¶ added in v0.11.0
type ResourceLimit struct {
Name string
Metadata ResourceMetadata
Value int
}
ResourceLimit represents a resource limit
type ResourceMetadata ¶
type ResourceMetadata struct {
CreationTimestamp *time.Time `json:"createdAt"`
LastUpdatedTimestamp *time.Time `json:"updatedAt,omitempty" `
ID string `json:"id"`
Version int `json:"version"`
}
ResourceMetadata contains metadata for a particular resource
type Role ¶
type Role struct {
Name string
Description string
CreatedBy string
Metadata ResourceMetadata
// contains filtered or unexported fields
}
Role defines a subject's ability to access or modify resources within Tharsis. It provides a set of permissions that dictate which resources can be viewed or modified.
func (*Role) GetPermissions ¶ added in v0.9.0
func (r *Role) GetPermissions() []permissions.Permission
GetPermissions returns permissions for a role.
func (*Role) ResolveMetadata ¶ added in v0.10.0
ResolveMetadata resolves the metadata fields for cursor-based pagination
func (*Role) SetPermissions ¶ added in v0.9.0
func (r *Role) SetPermissions(perms []permissions.Permission)
SetPermissions sets permissions for a role.
type Run ¶
type Run struct {
ConfigurationVersionID *string
ForceCancelAvailableAt *time.Time
ForceCanceledBy *string
ModuleVersion *string
ModuleSource *string
TargetAddresses []string
ModuleDigest []byte // This is only set for modules stored in the Tharsis module registry
CreatedBy string
PlanID string
ApplyID string
WorkspaceID string
Status RunStatus
Comment string
TerraformVersion string
Metadata ResourceMetadata
HasChanges bool
IsDestroy bool
ForceCanceled bool
AutoApply bool
Refresh bool
}
Run represents a terraform run Only one of ConfigurationVersionID, ModuleSource/ModuleVersion can be non-nil. The ModuleVersion field is optional: blank if non-registry or want latest version
func (*Run) ResolveMetadata ¶ added in v0.10.0
ResolveMetadata resolves the metadata fields for cursor-based pagination
func (*Run) Speculative ¶ added in v0.18.0
Speculative returns whether this run is speculative.
type RunStatus ¶
type RunStatus string
RunStatus represents the various states for a Run resource
const ( RunApplied RunStatus = "applied" RunApplyQueued RunStatus = "apply_queued" RunApplying RunStatus = "applying" RunCanceled RunStatus = "canceled" RunErrored RunStatus = "errored" RunPending RunStatus = "pending" RunPlanQueued RunStatus = "plan_queued" RunPlanned RunStatus = "planned" RunPlannedAndFinished RunStatus = "planned_and_finished" RunPlanning RunStatus = "planning" )
Run Status Types
type Runner ¶ added in v0.8.0
type Runner struct {
Type RunnerType
Name string
Description string
GroupID *string
ResourcePath string
CreatedBy string
Metadata ResourceMetadata
Disabled bool
}
Runner resource
func (*Runner) GetGroupPath ¶ added in v0.8.0
GetGroupPath returns the group path
func (*Runner) ResolveMetadata ¶ added in v0.10.0
ResolveMetadata resolves the metadata fields for cursor-based pagination
type RunnerSession ¶ added in v0.17.0
type RunnerSession struct {
LastContactTimestamp time.Time
RunnerID string
Metadata ResourceMetadata
ErrorCount int
Internal bool
}
RunnerSession represents a session for a runner.
func (*RunnerSession) Active ¶ added in v0.17.0
func (a *RunnerSession) Active() bool
Active returns true if the session has received a heartbeat within the last heartbeat interval
func (*RunnerSession) ResolveMetadata ¶ added in v0.17.0
func (a *RunnerSession) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type RunnerType ¶ added in v0.8.0
type RunnerType string
RunnerType constant
const ( GroupRunnerType RunnerType = "group" )
RunnerType constants
func (RunnerType) Equals ¶ added in v0.17.0
func (r RunnerType) Equals(other RunnerType) bool
Equals returns true if the runner type is equal to the other runner type
type SCIMToken ¶
type SCIMToken struct {
Nonce string
CreatedBy string
Metadata ResourceMetadata
}
SCIMToken represents a SCIM token.
type ServiceAccount ¶
type ServiceAccount struct {
Metadata ResourceMetadata
ResourcePath string
Name string
Description string
GroupID string
CreatedBy string
OIDCTrustPolicies []OIDCTrustPolicy
}
ServiceAccount provided M2M authentication
func (*ServiceAccount) GetGroupPath ¶
func (s *ServiceAccount) GetGroupPath() string
GetGroupPath returns the group path
func (*ServiceAccount) ResolveMetadata ¶ added in v0.10.0
func (s *ServiceAccount) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
func (*ServiceAccount) Validate ¶
func (s *ServiceAccount) Validate() error
Validate returns an error if the model is not valid
type StateVersion ¶
type StateVersion struct {
WorkspaceID string
RunID *string
CreatedBy string
Metadata ResourceMetadata
}
StateVersion represents a specific version of the the terraform state associated with a workspace
func (*StateVersion) ResolveMetadata ¶ added in v0.10.0
func (s *StateVersion) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type StateVersionOutput ¶
type StateVersionOutput struct {
Name string
StateVersionID string
Metadata ResourceMetadata
Value []byte
Type []byte
Sensitive bool
}
StateVersionOutput represents a terraform state version output
type Team ¶
type Team struct {
Name string
Description string
SCIMExternalID string
Metadata ResourceMetadata
}
Team represents a team of (human) users
func (*Team) ResolveMetadata ¶ added in v0.10.0
ResolveMetadata resolves the metadata fields for cursor-based pagination
type TeamMember ¶
type TeamMember struct {
UserID string
TeamID string
Metadata ResourceMetadata
IsMaintainer bool
}
TeamMember represents an association between a (human) user and a namespace
func (*TeamMember) ResolveMetadata ¶ added in v0.10.0
func (t *TeamMember) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type TerraformModule ¶
type TerraformModule struct {
CreatedBy string
Name string // the module name
System string // the name of the remote system the module is intended to target
GroupID string
RootGroupID string // the module namespace is the path of the root group
ResourcePath string // resource path is <group-path>/<module-name>/<system>
RepositoryURL string
Metadata ResourceMetadata
Private bool
}
TerraformModule represents a terraform module
func (*TerraformModule) GetGroupPath ¶
func (t *TerraformModule) GetGroupPath() string
GetGroupPath returns the group path
func (*TerraformModule) GetRegistryNamespace ¶
func (t *TerraformModule) GetRegistryNamespace() string
GetRegistryNamespace returns the module registry namespace for the terraform module
func (*TerraformModule) ResolveMetadata ¶ added in v0.10.0
func (t *TerraformModule) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
func (*TerraformModule) Validate ¶
func (t *TerraformModule) Validate() error
Validate returns an error if the model is not valid
type TerraformModuleAttestation ¶
type TerraformModuleAttestation struct {
CreatedBy string
Description string
ModuleID string
SchemaType string
PredicateType string
Data string
DataSHASum []byte
Metadata ResourceMetadata
Digests []string
}
TerraformModuleAttestation represents a terraform module attestation
func (*TerraformModuleAttestation) ResolveMetadata ¶ added in v0.10.0
func (t *TerraformModuleAttestation) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
func (*TerraformModuleAttestation) Validate ¶
func (t *TerraformModuleAttestation) Validate() error
Validate returns an error if the model is not valid
type TerraformModuleVersion ¶
type TerraformModuleVersion struct {
CreatedBy string
ModuleID string
SemanticVersion string
Status TerraformModuleVersionStatus
Error string
Diagnostics string
UploadStartedTimestamp *time.Time
Metadata ResourceMetadata
SHASum []byte
Submodules []string
Examples []string
Latest bool
}
TerraformModuleVersion represents a terraform module version
func (*TerraformModuleVersion) GetSHASumHex ¶
func (t *TerraformModuleVersion) GetSHASumHex() string
GetSHASumHex returns the SHA checksum as a HEX string
func (*TerraformModuleVersion) ResolveMetadata ¶ added in v0.10.0
func (t *TerraformModuleVersion) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type TerraformModuleVersionStatus ¶
type TerraformModuleVersionStatus string
TerraformModuleVersionStatus is the status of the module version upload
const ( TerraformModuleVersionStatusPending TerraformModuleVersionStatus = "pending" TerraformModuleVersionStatusUploadInProgress TerraformModuleVersionStatus = "upload_in_progress" TerraformModuleVersionStatusErrored TerraformModuleVersionStatus = "errored" TerraformModuleVersionStatusUploaded TerraformModuleVersionStatus = "uploaded" )
TerraformModuleVersionStatus constants
type TerraformProvider ¶
type TerraformProvider struct {
CreatedBy string
Name string
GroupID string
RootGroupID string
ResourcePath string
RepositoryURL string
Metadata ResourceMetadata
Private bool
}
TerraformProvider represents a terraform provider
func (*TerraformProvider) GetGroupPath ¶
func (t *TerraformProvider) GetGroupPath() string
GetGroupPath returns the group path
func (*TerraformProvider) GetRegistryNamespace ¶
func (t *TerraformProvider) GetRegistryNamespace() string
GetRegistryNamespace returns the provider registry namespace for the terraform provider
func (*TerraformProvider) ResolveMetadata ¶ added in v0.10.0
func (t *TerraformProvider) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
func (*TerraformProvider) Validate ¶
func (t *TerraformProvider) Validate() error
Validate returns an error if the model is not valid
type TerraformProviderPlatform ¶
type TerraformProviderPlatform struct {
ProviderVersionID string
OperatingSystem string
Architecture string
SHASum string
Filename string
CreatedBy string
Metadata ResourceMetadata
BinaryUploaded bool
}
TerraformProviderPlatform represents a supported platform for a terraform provider version
func (*TerraformProviderPlatform) ResolveMetadata ¶ added in v0.10.0
func (t *TerraformProviderPlatform) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type TerraformProviderPlatformMirror ¶ added in v0.12.0
type TerraformProviderPlatformMirror struct {
OS string
Architecture string
VersionMirrorID string
Metadata ResourceMetadata
}
TerraformProviderPlatformMirror represents the platforms a Terraform provider version mirror supports.
func (*TerraformProviderPlatformMirror) ResolveMetadata ¶ added in v0.12.0
func (t *TerraformProviderPlatformMirror) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type TerraformProviderVersion ¶
type TerraformProviderVersion struct {
GPGASCIIArmor *string
GPGKeyID *uint64
CreatedBy string
ProviderID string
SemanticVersion string
Metadata ResourceMetadata
Protocols []string
SHASumsUploaded bool
SHASumsSignatureUploaded bool
ReadmeUploaded bool
Latest bool
}
TerraformProviderVersion represents a version of a terraform provider
func (*TerraformProviderVersion) GetHexGPGKeyID ¶
func (t *TerraformProviderVersion) GetHexGPGKeyID() *string
GetHexGPGKeyID returns the GPG key id in hex format
func (*TerraformProviderVersion) ResolveMetadata ¶ added in v0.10.0
func (t *TerraformProviderVersion) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type TerraformProviderVersionMirror ¶ added in v0.12.0
type TerraformProviderVersionMirror struct {
CreatedBy string
Type string
SemanticVersion string
RegistryNamespace string
RegistryHostname string
Digests map[string][]byte
GroupID string
Metadata ResourceMetadata
}
TerraformProviderVersionMirror represents a version of a Terraform provider that's mirrored using the Provider Network Mirror Protocol.
func (*TerraformProviderVersionMirror) ResolveMetadata ¶ added in v0.12.0
func (t *TerraformProviderVersionMirror) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
type User ¶
type User struct {
Username string
Email string
SCIMExternalID string
Metadata ResourceMetadata
Admin bool
Active bool
}
User represents a human user account
type VCSEvent ¶
type VCSEvent struct {
ErrorMessage *string // An error message indicating the reason event failed.
CommitID *string // Commit ID associated with this event.
SourceReferenceName *string // Name of branch or tag that triggered this event.
WorkspaceID string
RepositoryURL string
Type VCSEventType
Status VCSEventStatus
Metadata ResourceMetadata
}
VCSEvent represents a vcs event that result in configuration changes via Tharsis.
type VCSEventStatus ¶
type VCSEventStatus string
VCSEventStatus defines an enum that represents the status of a VCS event.
const ( VCSEventPending VCSEventStatus = "pending" VCSEventFinished VCSEventStatus = "finished" VCSEventErrored VCSEventStatus = "errored" )
VCSEventStatus constants.
type VCSEventType ¶
type VCSEventType string
VCSEventType defines an enum that represents the type of VCS event.
const ( BranchEventType VCSEventType = "branch" TagEventType VCSEventType = "tag" MergeRequestEventType VCSEventType = "merge_request" ManualEventType VCSEventType = "manual" )
VCSEventType constants.
func (VCSEventType) Equals ¶
func (have VCSEventType) Equals(want VCSEventType) bool
Equals is a convenience func that returns whether two events are equal.
type VCSProvider ¶
type VCSProvider struct {
OAuthAccessTokenExpiresAt *time.Time
CreatedBy string
URL url.URL
Name string
Description string
ResourcePath string
Type VCSProviderType
GroupID string
OAuthClientSecret string
OAuthClientID string
OAuthState *string
OAuthAccessToken *string
OAuthRefreshToken *string
Metadata ResourceMetadata
AutoCreateWebhooks bool
}
VCSProvider represents a version control system provider.
func (*VCSProvider) GetGroupPath ¶
func (v *VCSProvider) GetGroupPath() string
GetGroupPath returns the group path
func (*VCSProvider) ResolveMetadata ¶ added in v0.10.0
func (v *VCSProvider) ResolveMetadata(key string) (string, error)
ResolveMetadata resolves the metadata fields for cursor-based pagination
func (*VCSProvider) Validate ¶
func (v *VCSProvider) Validate() error
Validate returns an error if the model is not valid
type VCSProviderType ¶
type VCSProviderType string
VCSProviderType defines the type of version control system (VCS) provider.
const ( GitLabProviderType VCSProviderType = "gitlab" GitHubProviderType VCSProviderType = "github" )
VCSProviderType and OAuthTokenType enums.
type Variable ¶
type Variable struct {
Value *string
Category VariableCategory
NamespacePath string
Key string
Metadata ResourceMetadata
Hcl bool
}
Variable resource
type VariableCategory ¶
type VariableCategory string
VariableCategory specifies if the variable is a terraform or environment variable
const ( TerraformVariableCategory VariableCategory = "terraform" EnvironmentVariableCategory VariableCategory = "environment" )
Variable category Status Types
type Workspace ¶
type Workspace struct {
MaxJobDuration *int32
Name string
FullPath string
GroupID string
Description string
CurrentJobID string
CurrentStateVersionID string
CreatedBy string
TerraformVersion string
Metadata ResourceMetadata
DirtyState bool
Locked bool
PreventDestroyPlan bool
}
Workspace represents a terraform workspace
func (*Workspace) ExpandPath ¶ added in v0.8.0
ExpandPath returns the expanded path list for the workspace. The expanded path list includes the full path for the workspace in addition to all parent paths
func (*Workspace) GetGroupPath ¶
GetGroupPath returns the group path
func (*Workspace) IsDescendantOfGroup ¶ added in v0.16.0
IsDescendantOfGroup returns true if the workspace is a descendant of the specified ancestor group path.
func (*Workspace) ResolveMetadata ¶ added in v0.10.0
ResolveMetadata resolves the metadata fields for cursor-based pagination
type WorkspaceVCSProviderLink ¶
type WorkspaceVCSProviderLink struct {
CreatedBy string
WorkspaceID string
ProviderID string
TokenNonce string
RepositoryPath string
WebhookID string // Webhook ID if Tharsis configured it.
ModuleDirectory *string // Path to Terraform module, otherwise repo root.
Branch string // A branch name to filter on.
TagRegex *string // A tag regex to use as a filter.
GlobPatterns []string // Glob patterns to use for monitoring changes.
Metadata ResourceMetadata
AutoSpeculativePlan bool // Whether to create speculative plans automatically for PRs.
WebhookDisabled bool
}
WorkspaceVCSProviderLink represents a link for a version control system provider to a workspace.
func (*WorkspaceVCSProviderLink) Validate ¶
func (wpl *WorkspaceVCSProviderLink) Validate() error
Validate verifies a VCS Provider link struct.
Source Files
¶
- activityevent.go
- apply.go
- configurationversion.go
- gpgkey.go
- group.go
- job.go
- logstream.go
- maintenancemode.go
- managedidentity.go
- models.go
- namespacemembership.go
- plan.go
- resourcelimit.go
- role.go
- run.go
- runner.go
- runner_session.go
- scim.go
- serviceaccount.go
- stateversion.go
- stateversionoutput.go
- team.go
- teammember.go
- terraform_provider_platform_mirror.go
- terraform_provider_version_mirror.go
- terraformmodule.go
- terraformmoduleattestation.go
- terraformmoduleversion.go
- terraformprovider.go
- terraformproviderplatform.go
- terraformproviderversion.go
- user.go
- variable.go
- vcsevents.go
- vcsprovider.go
- workspace.go
- workspacevcsproviderlink.go