octopus

package
v1.3.28 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2025 License: Apache-2.0, MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	Id                              string
	Name                            string
	Slug                            *string
	Description                     *string
	SpaceId                         string
	EnvironmentIds                  []string
	TenantedDeploymentParticipation *string
	TenantIds                       []string
	TenantTags                      []string
	AccountType                     string

	// token
	Token Secret

	// aws
	AccessKey *string
	SecretKey Secret

	// azure
	SubscriptionNumber                *string
	ClientId                          *string
	TenantId                          *string
	Password                          Secret
	AzureEnvironment                  *string
	ResourceManagementEndpointBaseUri *string
	ActiveDirectoryEndpointBaseUri    *string

	// azure subscription
	ServiceManagementEndpointBaseUri *string
	ServiceManagementEndpointSuffix  *string
	CertificateBytes                 Secret
	CertificateThumbprint            *string

	// username
	Username *string

	// google
	JsonKey Secret

	// aws oidc (also generic OIDC)
	RoleArn                *string
	SessionDuration        *string
	DeploymentSubjectKeys  []string
	HealthCheckSubjectKeys []string
	AccountTestSubjectKeys []string

	// azure oidc
	Audience      *string
	ApplicationId *string
}

type Action

type Action struct {
	Id                            string
	Name                          *string
	Slug                          *string
	ActionType                    *string
	Notes                         *string
	IsDisabled                    bool
	CanBeUsedForProjectVersioning bool
	IsRequired                    bool
	WorkerPoolId                  string
	Container                     Container
	WorkerPoolVariable            *string
	Environments                  []string
	ExcludedEnvironments          []string
	Channels                      []string
	TenantTags                    []string
	Packages                      []Package
	Condition                     *string
	Properties                    map[string]any
	Inputs                        map[string]any
	GitDependencies               []GitDependency
}

func (*Action) GenerateDeploymentProcessId added in v0.1.1402

func (a *Action) GenerateDeploymentProcessId(deploymentProcess OctopusProcess) string

GenerateDeploymentProcessId generates a unique identifier for the deployment process. This solves an issue where a deployment process has been copied and pasted in Git or cloned via the UI, reusing step and action IDs.

func (*Action) GenerateRunbookProcessId added in v0.1.1402

func (a *Action) GenerateRunbookProcessId(runbookProcess OctopusProcess) string

GenerateRunbookProcessId generates a unique identifier for the deployment process. This solves an issue where a deployment process has been copied and pasted in Git or cloned via the UI, reusing step and action IDs.

func (*Action) GetId added in v0.1.1566

func (a *Action) GetId() string

func (*Action) GetName added in v0.1.1566

func (a *Action) GetName() string

type ActionPackage

type ActionPackage struct {
	DeploymentAction *string
	PackageReference *string
}

type AuthenticationResource

type AuthenticationResource struct {
	AuthenticationType string

	// KubernetesCertificateAuthenticationResource
	ClientCertificate *string

	// KubernetesPodServiceAuthenticationResource
	TokenPath *string

	// KubernetesStandardAccountAuthenticationResource
	AccountId *string

	// KubernetesAzureAuthenticationResource and KubernetesAwsAuthenticationResource
	ClusterName          *string
	ClusterResourceGroup *string

	// KubernetesAwsAuthenticationResource
	UseInstanceRole                  *bool
	AssumeRole                       *bool
	AssumedRoleArn                   *string
	AssumedRoleSession               *string
	AssumeRoleSessionDurationSeconds *int
	AssumeRoleExternalId             *string

	// KubernetesGoogleCloudAuthenticationResource
	UseVmServiceAccount       *bool
	ImpersonateServiceAccount *bool
	ServiceAccountEmails      *string
	Project                   *string
	Region                    *string
	Zone                      *string
}

type AzureCloudServiceEndpointResource

type AzureCloudServiceEndpointResource struct {
	CommunicationStyle      string
	DefaultWorkerPoolId     string
	AccountId               string
	CloudServiceName        string
	StorageAccountName      string
	Slot                    string
	SwapIfPossible          bool
	UseCurrentInstanceCount bool
}

type AzureCloudServiceResource

type AzureCloudServiceResource struct {
	Target

	Id                              string
	Name                            string
	Roles                           []string
	TenantIds                       []string
	TenantTags                      []string
	TenantedDeploymentParticipation string
	Thumbprint                      string
	Uri                             string
	IsDisabled                      bool
	MachinePolicyId                 string
	HealthStatus                    string
	HasLatestCalamari               bool
	StatusSummary                   string
	IsInProcess                     bool
	OperatingSystem                 string
	ShellName                       string
	ShellVersion                    string
	Architecture                    string
	Endpoint                        AzureCloudServiceEndpointResource
}

type AzureServiceFabricEndpointResource

type AzureServiceFabricEndpointResource struct {
	CommunicationStyle        string
	ConnectionEndpoint        string
	SecurityMode              string
	ServerCertThumbprint      string
	ClientCertVariable        string
	CertificateStoreLocation  string
	CertificateStoreName      string
	AadCredentialType         string
	AadClientCredentialSecret string
	AadUserCredentialUsername string
	AadUserCredentialPassword Secret
	DefaultWorkerPoolId       string
}

type AzureServiceFabricResource

type AzureServiceFabricResource struct {
	Target

	Id                              string
	Name                            string
	Roles                           []string
	TenantIds                       []string
	TenantTags                      []string
	TenantedDeploymentParticipation string
	Thumbprint                      string
	Uri                             string
	IsDisabled                      bool
	MachinePolicyId                 string
	HealthStatus                    string
	HasLatestCalamari               bool
	StatusSummary                   string
	IsInProcess                     bool
	OperatingSystem                 string
	ShellName                       string
	ShellVersion                    string
	Architecture                    string
	Endpoint                        AzureServiceFabricEndpointResource
}

type AzureWebAppEndpointResource

type AzureWebAppEndpointResource struct {
	CommunicationStyle  string
	DefaultWorkerPoolId string
	AccountId           string
	ResourceGroupName   string
	WebAppName          string
	WebAppSlotName      string
}

type AzureWebAppResource

type AzureWebAppResource struct {
	Target

	Id                              string
	Name                            string
	Roles                           []string
	TenantIds                       []string
	TenantTags                      []string
	TenantedDeploymentParticipation string
	Thumbprint                      string
	Uri                             string
	IsDisabled                      bool
	MachinePolicyId                 string
	HealthStatus                    string
	HasLatestCalamari               bool
	StatusSummary                   string
	IsInProcess                     bool
	OperatingSystem                 string
	ShellName                       string
	ShellVersion                    string
	Architecture                    string
	Endpoint                        AzureWebAppEndpointResource
}

type BashHealthCheckPolicy

type BashHealthCheckPolicy struct {
	RunType    string
	ScriptBody string
}

type Branch added in v0.1.921

type Branch struct {
	IsProtected   bool
	Name          string
	CanonicalName string
}

type Certificate

type Certificate struct {
	Id                              string
	SpaceId                         string
	Name                            string
	Description                     *string
	TenantedDeploymentParticipation string
	EnvironmentIds                  []string
	TenantIds                       []string
	TenantTags                      []string
	CertificateDataFormat           string
	Archived                        string
	ReplacedBy                      string
	SubjectDistinguishedName        string
	SubjectCommonName               string
	SubjectOrganization             string
	IssuerDistinguishedName         string
	IssuerCommonName                string
	IssuerOrganization              string
	SelfSigned                      bool
	Thumbprint                      string
	NotAfter                        string
	NotBefore                       string
	Notes                           string
	IsExpired                       bool
	HasPrivateKey                   bool
	Version                         int
	SerialNumber                    string
	SignatureAlgorithmName          string
	SubjectAlternativeNames         []string
	CertificateChain                []CertificateChain
}

type CertificateChain added in v0.1.829

type CertificateChain struct {
	SubjectDistinguishedName string
	IssuerDistinguishedName  string
	Thumbprint               string
	NotAfter                 string
	NotBefore                string
	Version                  int
	SerialNumber             string
	SignatureAlgorithmName   string
}

type Channel

type Channel struct {
	Id          string
	SpaceId     string
	Name        string
	Slug        *string
	Description *string
	LifecycleId string
	ProjectId   string
	IsDefault   bool
	Rules       []Rule
	TenantTags  []string
}

type Claim

type Claim struct {
	Email Email
	Dn    Dn
}

type CloudRegionEndpointResource

type CloudRegionEndpointResource struct {
	CommunicationStyle  string
	DefaultWorkerPoolId string
}

type CloudRegionResource

type CloudRegionResource struct {
	Target

	Id                              string
	Name                            string
	Roles                           []string
	TenantIds                       []string
	TenantTags                      []string
	TenantedDeploymentParticipation string
	Thumbprint                      string
	Uri                             string
	IsDisabled                      bool
	MachinePolicyId                 string
	HealthStatus                    string
	HasLatestCalamari               bool
	StatusSummary                   string
	IsInProcess                     bool
	OperatingSystem                 string
	ShellName                       string
	ShellVersion                    string
	Architecture                    string
	Endpoint                        CloudRegionEndpointResource
}

type CommunityStepTemplate added in v0.1.1204

type CommunityStepTemplate struct {
	Id            string                   `json:"Id"`
	Name          string                   `json:"Name"`
	Type          string                   `json:"Type"`
	Author        string                   `json:"Author"`
	Description   string                   `json:"Description"`
	Website       string                   `json:"Website"`
	HistoryUrl    string                   `json:"HistoryUrl"`
	Properties    map[string]string        `json:"Properties"`
	Parameters    []StepTemplateParameters `json:"Parameters"`
	Version       int                      `json:"Version"`
	StepPackageId string                   `json:"StepPackageId"`
}

type Container

type Container struct {
	Image  *string
	FeedId *string
}

type ConversionState

type ConversionState struct {
	VariablesAreInGit bool
}

type Credentials

type Credentials struct {
	Type     string
	Id       string
	Username string
}

type DeploymentActionContainerResource

type DeploymentActionContainerResource struct {
	Image  string
	FeedId string
}

type DeploymentFreeze added in v0.1.1434

type DeploymentFreeze struct {
	Id                            string
	Name                          string
	Start                         string
	End                           string
	TenantProjectEnvironmentScope []DeploymentFreezeTenantProjectEnvironmentScope
	ProjectEnvironmentScope       map[string][]string
	RecurringSchedule             *DeploymentFreezeRecurringSchedule
}

type DeploymentFreezeRecurringSchedule added in v0.1.1434

type DeploymentFreezeRecurringSchedule struct {
	Type                string
	Unit                int
	EndType             string
	EndOnDate           *string
	EndAfterOccurrences *int
	StartDate           *string
	EndDate             *string
	DateOfMonth         *string
	DayNumberOfMonth    *string
	DayOfWeek           *string
	DaysOfWeek          []string
	MonthlyScheduleType *string
}

type DeploymentFreezeTenantProjectEnvironmentScope added in v0.1.1434

type DeploymentFreezeTenantProjectEnvironmentScope struct {
	TenantId      string
	ProjectId     string
	EnvironmentId string
}

type DeploymentFreezes added in v0.1.1469

type DeploymentFreezes struct {
	DeploymentFreezes []DeploymentFreeze
	Count             int
}

type DeploymentProcess

type DeploymentProcess struct {
	Id        string
	ProjectId string
	Steps     []Step
}

func (*DeploymentProcess) GetId added in v0.1.1566

func (a *DeploymentProcess) GetId() string

func (*DeploymentProcess) GetParentId added in v0.1.1566

func (a *DeploymentProcess) GetParentId() string

func (*DeploymentProcess) GetSteps added in v0.1.1566

func (a *DeploymentProcess) GetSteps() []Step

type Dn

type Dn struct {
	Value              string
	IsIdentifyingClaim bool
}

type DonorPackage

type DonorPackage struct {
	DeploymentAction *string
	PackageReference *string
}

type Email

type Email struct {
	Value              string
	IsIdentifyingClaim bool
}

type Environment

type Environment struct {
	NameId
	SpaceId                    string
	Description                *string
	SortOrder                  int
	UseGuidedFailure           bool
	AllowDynamicInfrastructure bool
	ExtensionSettings          []Extension
}

type ErrorResponse added in v0.1.927

type ErrorResponse struct {
	ErrorMessage string
}

type Extension

type Extension struct {
	ExtensionId string
	Values      map[string]interface{}
}

type ExtensionSetting added in v1.1.47

type ExtensionSetting struct {
	ExtensionId string
	Values      map[string]any
}

type Feed

type Feed struct {
	Id                                string
	SpaceId                           string
	Name                              string
	Slug                              *string
	FeedType                          *string
	FeedUri                           *string
	Username                          *string
	Password                          *Secret
	PackageAcquisitionLocationOptions []string
	RetentionPolicyId                 *string
	DownloadAttempts                  *int
	DownloadRetryBackoffSeconds       *int

	// Docker
	RegistryPath *string
	ApiVersion   *string

	// ECR
	AccessKey *string
	SecretKey *Secret
	Region    *string

	// Nuget
	EnhancedMode bool

	// Artifactory
	Repository  *string
	LayoutRegex *string

	// S3
	UseMachineCredentials *bool
}

type GeneralCollection

type GeneralCollection[T any] struct {
	TotalResults   int
	ItemsPerPage   int
	NumberOfPages  int
	LastPageNumber int
	ItemType       string
	Items          []T
}

type GitCredentials

type GitCredentials struct {
	Id          string
	SpaceId     string
	Name        string
	Description *string
	Details     GitCredentialsDetails
}

type GitCredentialsDetails

type GitCredentialsDetails struct {
	Type     string
	Username string
}

type GitDependency added in v0.1.1114

type GitDependency struct {
	Name                         *string
	RepositoryUri                *string
	DefaultBranch                *string
	GitCredentialType            *string
	FilePathFilters              []string
	GitCredentialId              *string
	StepPackageInputsReferenceId *string
}

type Identity

type Identity struct {
	IdentityProviderName string
	Claims               []Claim
}

type KubernetesAgentWorker added in v0.1.1450

type KubernetesAgentWorker struct {
	Id                     string
	SpaceId                string
	WorkerPoolIds          []string
	Name                   string
	Thumbprint             string
	Uri                    *string
	IsDisabled             bool
	MachinePolicyId        string
	HealthStatus           string
	HasLatestCalamari      bool
	StatusSummary          string
	IsInProcess            bool
	OperatingSystem        string
	ShellName              string
	ShellVersion           string
	Architecture           string
	Slug                   string
	SkipInitialHealthCheck bool
	Endpoint               KubernetesAgentWorkerEndpoint
}

type KubernetesAgentWorkerEndpoint added in v0.1.1450

type KubernetesAgentWorkerEndpoint struct {
	CommunicationStyle            string
	TentacleEndpointConfiguration KubernetesAgentWorkerEndpointTentacleEndpointConfiguration
	KubernetesAgentDetails        KubernetesAgentWorkerEndpointKubernetesAgentDetails
	UpgradeLocked                 bool
	DefaultNamespace              *string

	LastModifiedOn *string
	LastModifiedBy *string
	// contains filtered or unexported fields
}

type KubernetesAgentWorkerEndpointKubernetesAgentDetails added in v0.1.1450

type KubernetesAgentWorkerEndpointKubernetesAgentDetails struct {
	AgentVersion        string
	TentacleVersion     string
	UpgradeStatus       string
	HelmReleaseName     string
	KubernetesNamespace string
}

type KubernetesAgentWorkerEndpointTentacleEndpointConfiguration added in v0.1.1450

type KubernetesAgentWorkerEndpointTentacleEndpointConfiguration struct {
	CommunicationMode             string
	Thumbprint                    string
	Uri                           string
	CertificateSignatureAlgorithm *string
}

type KubernetesEndpointResource

type KubernetesEndpointResource struct {
	Target

	Id                              string
	Name                            string
	Roles                           []string
	TenantIds                       []string
	TenantTags                      []string
	TenantedDeploymentParticipation string
	Thumbprint                      *string
	Uri                             *string
	IsDisabled                      bool
	MachinePolicyId                 string
	HealthStatus                    string
	HasLatestCalamari               bool
	StatusSummary                   string
	IsInProcess                     bool
	OperatingSystem                 string
	ShellName                       string
	ShellVersion                    string
	Architecture                    string
	Endpoint                        KubernetesTentacleEndpointResource
}

type KubernetesTentacleEndpointResource

type KubernetesTentacleEndpointResource struct {
	CommunicationStyle     string
	ClusterCertificate     *string
	ClusterCertificatePath *string
	ClusterUrl             *string
	Namespace              *string
	SkipTlsVerification    *string
	ProxyId                *string
	DefaultWorkerPoolId    *string
	Container              DeploymentActionContainerResource
	Authentication         AuthenticationResource
}

KubernetesTentacleEndpointResource is based on KubernetesEndpointResource from the client library

type LibraryVariable

type LibraryVariable struct {
	LibraryVariableSetId   string
	LibraryVariableSetName string
	Templates              []Template
	Variables              map[string]any // The value of a secret is either a string or an object indicating the state of the secret
}

type LibraryVariableSet

type LibraryVariableSet struct {
	NameId
	Description   *string
	VariableSetId string
	ContentType   *string
	Templates     []Template
}

type Lifecycle

type Lifecycle struct {
	Id                      string
	SpaceId                 string
	Name                    string
	Slug                    *string
	Description             *string
	Phases                  []Phase
	ReleaseRetentionPolicy  *Policy
	TentacleRetentionPolicy *Policy
}

type ListeningEndpointResource

type ListeningEndpointResource struct {
	Target

	Id                              string
	Name                            string
	Roles                           []string
	TenantIds                       []string
	TenantTags                      []string
	TenantedDeploymentParticipation string
	Thumbprint                      string
	Uri                             string
	IsDisabled                      bool
	MachinePolicyId                 string
	HealthStatus                    string
	HasLatestCalamari               bool
	StatusSummary                   string
	IsInProcess                     bool
	OperatingSystem                 string
	ShellName                       string
	ShellVersion                    string
	Architecture                    string
	Endpoint                        ListeningTentacleEndpointResource
}

type ListeningTentacleEndpointResource

type ListeningTentacleEndpointResource struct {
	CommunicationStyle     string
	Uri                    string
	ProxyId                string
	TentacleVersionDetails TentacleVersionDetails
}

ListeningTentacleEndpointResource is based on ListeningTentacleEndpointResource from the client library

type Machine added in v0.1.433

type Machine struct {
	NameId
	Endpoint MachineEndpointResource
}

Machine is a minimal representation capturing the common fields required to distinguish and identify a target

type MachineCleanupPolicy

type MachineCleanupPolicy struct {
	DeleteMachinesBehavior        string
	DeleteMachinesElapsedTimeSpan string
}

type MachineConnectivityPolicy

type MachineConnectivityPolicy struct {
	MachineConnectivityBehavior string
}

type MachineEndpointResource added in v0.1.433

type MachineEndpointResource struct {
	CommunicationStyle string
}

type MachineHealthCheckPolicy

type MachineHealthCheckPolicy struct {
	HealthCheckInterval         *string
	HealthCheckCron             *string
	HealthCheckCronTimezone     *string
	HealthCheckType             *string
	PowerShellHealthCheckPolicy PowerShellHealthCheckPolicy
	BashHealthCheckPolicy       BashHealthCheckPolicy
}

type MachinePolicy

type MachinePolicy struct {
	Id                                            string
	Name                                          string
	SpaceId                                       string
	Description                                   *string
	IsDefault                                     bool
	PollingRequestQueueTimeout                    string
	PollingRequestMaximumMessageProcessingTimeout string
	ConnectionRetrySleepInterval                  string
	ConnectionRetryCountLimit                     *int
	ConnectionRetryTimeLimit                      string
	ConnectionConnectTimeout                      string
	MachineHealthCheckPolicy                      MachineHealthCheckPolicy
	MachineConnectivityPolicy                     MachineConnectivityPolicy
	MachineCleanupPolicy                          MachineCleanupPolicy
	MachineUpdatePolicy                           MachineUpdatePolicy
}

type MachineProxy added in v0.1.1463

type MachineProxy struct {
	Id        string
	Name      string
	Host      string
	Port      int
	ProxyType string
	Username  string
	Password  Secret
	SpaceId   string
}

type MachineUpdatePolicy

type MachineUpdatePolicy struct {
	CalamariUpdateBehavior        *string
	TentacleUpdateBehavior        *string
	TentacleUpdateAccountId       *string
	KubernetesAgentUpdateBehavior *string
}

type NameId added in v0.1.571

type NameId struct {
	Id      string
	SpaceId string
	Name    string
}

func (NameId) GetId added in v0.1.1481

func (n NameId) GetId() string

func (NameId) GetName added in v0.1.989

func (n NameId) GetName() string

type NameIdParentResource added in v0.1.1566

type NameIdParentResource interface {
	NamedResource
	GetParentId() *string
	GetUltimateParent() string
}

NameIdParentResource provides a common interface for any resource that has a name, an ID, and an optional parent ID.

type NamedResource added in v0.1.989

type NamedResource interface {
	GetName() string
	GetId() string
}

NamedResource provides a common interface for any resource that has a name and an ID. This is almost every resource in Octopus Deploy.

type OctopusProcess added in v0.1.1566

type OctopusProcess interface {
	GetId() string
	GetParentId() string
	GetSteps() []Step
}

OctopusProcess defines the interface for Octopus processes such as DeploymentProcess and RunbookProcess.

type OfflineDropEndpointDestinationResource

type OfflineDropEndpointDestinationResource struct {
	DestinationType string
	DropFolderPath  *string
}

type OfflineDropEndpointResource

type OfflineDropEndpointResource struct {
	CommunicationStyle      string
	Destination             OfflineDropEndpointDestinationResource
	ApplicationsDirectory   string
	OctopusWorkingDirectory string
}

type OfflineDropResource

type OfflineDropResource struct {
	Target

	Id                              string
	Name                            string
	Roles                           []string
	TenantIds                       []string
	TenantTags                      []string
	TenantedDeploymentParticipation string
	Thumbprint                      string
	Uri                             string
	IsDisabled                      bool
	MachinePolicyId                 string
	HealthStatus                    string
	HasLatestCalamari               bool
	StatusSummary                   string
	IsInProcess                     bool
	OperatingSystem                 string
	ShellName                       string
	ShellVersion                    string
	Architecture                    string
	Endpoint                        OfflineDropEndpointResource
}

type Package

type Package struct {
	Id                      *string
	Name                    *string
	PackageId               *string
	FeedId                  *string
	AcquisitionLocation     *string
	ExtractDuringDeployment bool
	Properties              map[string]string
}

type PersistenceSettings

type PersistenceSettings struct {
	Type                        string
	Url                         string
	Credentials                 Credentials
	DefaultBranch               string
	BasePath                    string
	ProtectedDefaultBranch      bool
	ProtectedBranchNamePatterns []string
	ConversionState             ConversionState
}

type Phase

type Phase struct {
	Id                                 string
	Name                               *string
	AutomaticDeploymentTargets         []string
	OptionalDeploymentTargets          []string
	MinimumEnvironmentsBeforePromotion int
	IsOptionalPhase                    bool
	ReleaseRetentionPolicy             *Policy
	TentacleRetentionPolicy            *Policy
}

type Policy

type Policy struct {
	Unit              string
	QuantityToKeep    int
	ShouldKeepForever bool
}

type PollingEndpointResource

type PollingEndpointResource struct {
	Target

	Id                              string
	Name                            string
	Roles                           []string
	TenantIds                       []string
	TenantTags                      []string
	TenantedDeploymentParticipation string
	Thumbprint                      string
	Uri                             string
	IsDisabled                      bool
	MachinePolicyId                 string
	HealthStatus                    string
	HasLatestCalamari               bool
	StatusSummary                   string
	IsInProcess                     bool
	OperatingSystem                 string
	ShellName                       string
	ShellVersion                    string
	Architecture                    string
	Endpoint                        PollingTentacleEndpointResource
}

type PollingTentacleEndpointResource

type PollingTentacleEndpointResource struct {
	CommunicationStyle     string
	Uri                    string
	TentacleVersionDetails TentacleVersionDetails
}

PollingTentacleEndpointResource is based on PollingTentacleEndpointResource from the client library

type PowerShellHealthCheckPolicy

type PowerShellHealthCheckPolicy struct {
	RunType    string
	ScriptBody string
}

type Project

type Project struct {
	NameId
	Slug                            *string
	Description                     *string
	AutoCreateRelease               bool
	DefaultGuidedFailureMode        *string
	DefaultToSkipIfAlreadyInstalled bool
	DiscreteChannelRelease          bool
	IsDisabled                      bool
	IsVersionControlled             bool
	LifecycleId                     string
	ProjectGroupId                  string
	DeploymentProcessId             *string
	TenantedDeploymentMode          *string
	ProjectConnectivityPolicy       ProjectConnectivityPolicy
	Templates                       []Template
	VariableSetId                   *string
	IncludedLibraryVariableSetIds   []string
	PersistenceSettings             PersistenceSettings
	VersioningStrategy              VersioningStrategy
	ExtensionSettings               []ExtensionSetting
}

func (*Project) GetParentId added in v0.1.1566

func (p *Project) GetParentId() *string

func (*Project) GetUltimateParent added in v0.1.1566

func (p *Project) GetUltimateParent() string

func (*Project) HasCacConfigured

func (p *Project) HasCacConfigured() bool

type ProjectCacDeploymentSettings added in v0.1.1392

type ProjectCacDeploymentSettings struct {
	Id                              string
	SpaceId                         string
	ProjectId                       string
	ConnectivityPolicy              ProjectConnectivityPolicy
	DefaultGuidedFailureMode        string
	VersioningStrategy              VersioningStrategy
	ReleaseNotesTemplate            *string
	DefaultToSkipIfAlreadyInstalled bool
	DeploymentChangesTemplate       *string
	ForcePackageDownload            bool
}

type ProjectConnectivityPolicy

type ProjectConnectivityPolicy struct {
	AllowDeploymentsToNoTargets bool
	ExcludeUnhealthyTargets     bool
	SkipMachineBehavior         string
	TargetRoles                 []string
}

type ProjectGroup

type ProjectGroup struct {
	Id                string
	SpaceId           string
	Name              string
	Description       *string
	EnvironmentIds    []string
	RetentionPolicyId *string
}

type ProjectTrigger

type ProjectTrigger struct {
	Id          string
	Name        string
	Description *string
	ProjectId   string
	IsDisabled  bool
	Filter      ProjectTriggerFilter
	Action      ProjectTriggerAction
}

type ProjectTriggerAction

type ProjectTriggerAction struct {
	ActionType                                 string
	RunbookId                                  *string
	ShouldRedeployWhenMachineHasBeenDeployedTo bool
	Id                                         *string
	LastModifiedOn                             *string
	LastModifiedBy                             *string
	SourceEnvironmentIds                       []string
	EnvironmentIds                             []string
	DestinationEnvironmentId                   *string
	EnvironmentId                              *string
	ShouldRedeployWhenReleaseIsCurrent         *bool
	ChannelId                                  *string
	TenantIds                                  []string
	TenantTags                                 []string
}

type ProjectTriggerFilter

type ProjectTriggerFilter struct {
	FilterType          string
	EnvironmentIds      []string
	Roles               []string
	EventGroups         []string
	EventCategories     []string
	DaysOfWeek          []string
	Timezone            *string
	Id                  *string
	LastModifiedOn      *string
	LastModifiedBy      *string
	Packages            []ProjectTriggerFilterPackage
	StartTime           *string
	MonthlyScheduleType *string
	DateOfMonth         *string
	DayNumberOfMonth    *string
	DayOfWeek           *string
	Interval            *string
	RunAfter            *string
	RunUntil            *string
	CronExpression      *string
	HourInterval        *int
	MinuteInterval      *int
	Sources             []ProjectTriggerSources
}

type ProjectTriggerFilterPackage added in v0.1.1112

type ProjectTriggerFilterPackage struct {
	DeploymentActionSlug string
	DeploymentAction     string
	PackageReference     string
}

type ProjectTriggerSources added in v0.1.1450

type ProjectTriggerSources struct {
	DeploymentActionSlug string
	GitDependencyName    string
	IncludeFilePaths     []string
	ExcludeFilePaths     []string
}

type ProjectVariable

type ProjectVariable struct {
	ProjectId   string
	ProjectName string
	Templates   []Template
	Variables   map[string]map[string]any // The value of a secret is either a string or an object indicating the state of the secret
}

type Prompt

type Prompt struct {
	Label           *string
	Description     *string
	Required        bool
	DisplaySettings map[string]string
}

type Role

type Role struct {
	Id                           string
	Name                         string
	Description                  string
	SupportedRestrictions        *string
	SpacePermissionDescriptions  map[int]string
	SystemPermissionDescriptions map[int]string
	GrantedSpacePermissions      map[int]string
	GrantedSystemPermissions     map[int]string
	CanBeDeleted                 bool
}

type Rule

type Rule struct {
	VersionRange   *string
	Tag            *string
	ActionPackages []ActionPackage
	Actions        []string
}

type RunRetentionPolicy

type RunRetentionPolicy struct {
	QuantityToKeep    int
	ShouldKeepForever bool
}

type Runbook

type Runbook struct {
	NameId
	Slug                       *string
	Description                *string
	RunbookProcessId           *string
	PublishedRunbookSnapshotId *string
	ProjectId                  string
	MultiTenancyMode           *string
	ConnectivityPolicy         ProjectConnectivityPolicy
	EnvironmentScope           *string
	Environments               []string
	DefaultGuidedFailureMode   *string
	RunRetentionPolicy         RunRetentionPolicy
	ForcePackageDownload       bool
}

func (*Runbook) GetParentId added in v0.1.1566

func (r *Runbook) GetParentId() *string

func (*Runbook) GetUltimateParent added in v0.1.1566

func (r *Runbook) GetUltimateParent() string

type RunbookProcess

type RunbookProcess struct {
	Id        string
	RunbookId string
	Steps     []Step
}

func (*RunbookProcess) GetId added in v0.1.1566

func (a *RunbookProcess) GetId() string

func (*RunbookProcess) GetParentId added in v0.1.1566

func (a *RunbookProcess) GetParentId() string

func (*RunbookProcess) GetSteps added in v0.1.1566

func (a *RunbookProcess) GetSteps() []Step

type Scope

type Scope struct {
	Environment  []string
	Role         []string
	Machine      []string
	Channel      []string
	TenantTag    []string
	Action       []string
	ProcessOwner []string
}

func (*Scope) ScopeDescription added in v0.1.940

func (c *Scope) ScopeDescription(prefix string, suffix string, dependencies *data.ResourceDetailsCollection) string

type Secret

type Secret struct {
	HasValue bool
	NewValue *string
	Hint     *string
}

type Space

type Space struct {
	Id                       string
	Name                     string
	Description              *string
	IsDefault                bool
	TaskQueueStopped         bool
	SpaceManagersTeams       []string
	SpaceManagersTeamMembers []string
}

type SshConnectionDeploymentTargetEndpoint

type SshConnectionDeploymentTargetEndpoint struct {
	CommunicationStyle string
	AccountId          string
	Host               string
	Port               int
	Fingerprint        string
	ProxyId            string
	DotNetCorePlatform string
}

SshConnectionDeploymentTargetEndpoint is based on SshEndpointResource from the client library

type SshEndpointResource

type SshEndpointResource struct {
	Target

	Id                              string
	Name                            string
	Roles                           []string
	TenantIds                       []string
	TenantTags                      []string
	TenantedDeploymentParticipation string
	Thumbprint                      *string
	Uri                             *string
	IsDisabled                      bool
	MachinePolicyId                 string
	HealthStatus                    string
	HasLatestCalamari               bool
	StatusSummary                   string
	IsInProcess                     bool
	OperatingSystem                 string
	ShellName                       string
	ShellVersion                    string
	Architecture                    string
	Endpoint                        SshConnectionDeploymentTargetEndpoint
}

type Step

type Step struct {
	Id                 *string
	Name               *string
	PackageRequirement *string
	Properties         map[string]string
	Condition          *string
	StartTrigger       *string
	Actions            []Action
}

func (*Step) GenerateDeploymentProcessId added in v0.1.1403

func (a *Step) GenerateDeploymentProcessId(deploymentProcess *DeploymentProcess) string

GenerateDeploymentProcessId generates a unique identifier for the deployment process. This solves an issue where a deployment process has been copied and pasted in Git or cloned via the UI, reusing step and action IDs.

func (*Step) GenerateRunbookProcessId added in v0.1.1403

func (a *Step) GenerateRunbookProcessId(runbookProcess *RunbookProcess) string

GenerateRunbookProcessId generates a unique identifier for the deployment process. This solves an issue where a deployment process has been copied and pasted in Git or cloned via the UI, reusing step and action IDs.

func (*Step) GetId added in v0.1.1566

func (a *Step) GetId() string

func (*Step) GetName added in v0.1.1566

func (a *Step) GetName() string

type StepTemplate added in v0.1.1204

type StepTemplate struct {
	Id                        string                   `json:"Id"`
	SpaceId                   *string                  `json:"SpaceId"`
	Version                   *int                     `json:"Version"`
	Name                      string                   `json:"Name"`
	Description               *string                  `json:"Description"`
	ActionType                string                   `json:"ActionType"`
	Packages                  []Package                `json:"Packages"`
	GitDependencies           []string                 `json:"GitDependencies"`
	Properties                map[string]string        `json:"Properties"`
	LastModifiedBy            string                   `json:"LastModifiedBy"`
	Category                  string                   `json:"Category"`
	StepPackageId             string                   `json:"StepPackageId"`
	Parameters                []StepTemplateParameters `json:"Parameters"`
	CommunityActionTemplateId *string                  `json:"CommunityActionTemplateId"`
}

type StepTemplateParameterDisplaySettings added in v0.1.1204

type StepTemplateParameterDisplaySettings struct {
	OctopusControlType string `json:"Octopus.ControlType"`
}

type StepTemplateParameters added in v0.1.1204

type StepTemplateParameters struct {
	Id              string                               `json:"Id"`
	Name            string                               `json:"Name"`
	Label           string                               `json:"Label"`
	HelpText        string                               `json:"HelpText"`
	DefaultValue    any                                  `json:"DefaultValue"`
	DisplaySettings StepTemplateParameterDisplaySettings `json:"DisplaySettings"`
}

func (*StepTemplateParameters) GetId added in v0.1.1596

func (stepTemplateParameters *StepTemplateParameters) GetId() string

func (*StepTemplateParameters) GetName added in v0.1.1596

func (stepTemplateParameters *StepTemplateParameters) GetName() string

type Tag

type Tag struct {
	Id               string
	Name             string
	CanonicalTagName string
	Color            string
	Description      *string
	SortOrder        int
}

type TagSet

type TagSet struct {
	Id          string
	Name        string
	Description *string
	SortOrder   int
	Tags        []Tag
}

type Target added in v0.1.1080

type Target struct {
	SpaceId        string
	EnvironmentIds []string
}

func (Target) GetEnvironmentIds added in v0.1.1080

func (t Target) GetEnvironmentIds() []string

type TargetResource added in v0.1.1080

type TargetResource interface {
	GetEnvironmentIds() []string
}

type Team

type Team struct {
	Id                     string
	Name                   string
	MemberUserIds          map[int]string
	ExternalSecurityGroups []string
	CanBeDeleted           bool
	CanBeRenamed           bool
	CanChangeRoles         bool
	CanChangeMembers       bool
	SpaceId                *string
	Slug                   string
	Description            string
}

type Template

type Template struct {
	Id              string
	Name            *string
	Label           *string
	HelpText        *string
	DefaultValue    any
	DisplaySettings map[string]string
}

func (Template) GetDefaultValueString added in v0.1.617

func (t Template) GetDefaultValueString() *string

type Tenant

type Tenant struct {
	NameId
	SpaceId             string
	Description         *string
	ClonedFromTenantId  *string
	TenantTags          []string
	ProjectEnvironments map[string][]string
}

type TenantVariable

type TenantVariable struct {
	Id               string
	TenantId         string
	SpaceId          string
	TenantName       string
	ConcurrencyToken string
	ProjectVariables map[string]ProjectVariable
	LibraryVariables map[string]LibraryVariable
}

type TentacleVersionDetails

type TentacleVersionDetails struct {
	UpgradeLocked    bool
	Version          string
	UpgradeSuggested bool
	UpgradeRequired  bool
	UpgradeAvailable bool
}

type User

type User struct {
	Id string

	DisplayName         string
	IsActive            bool
	IsService           bool
	EmailAddress        string
	CanPasswordBeEdited bool
	IsRequestor         string
	Created             string
	Identities          []Identity
	// contains filtered or unexported fields
}

type Variable

type Variable struct {
	Id          string
	Name        string
	Value       *string
	Description *string
	Scope       Scope
	IsEditable  bool
	Type        string
	IsSensitive bool
	Prompt      Prompt
}

func (*Variable) GetId added in v0.1.1596

func (v *Variable) GetId() string

func (*Variable) GetName added in v0.1.1596

func (v *Variable) GetName() string

func (*Variable) GetVariableSetId added in v0.1.1406

func (v *Variable) GetVariableSetId(variableSet *VariableSet) string

GetVariableSetId returns the ID of the variable set and the variable. This generates a unique value because cloning a project results in duplicate variable IDs.

type VariableSet

type VariableSet struct {
	Id        *string
	OwnerId   *string
	Variables []Variable
}

type VersioningStrategy

type VersioningStrategy struct {
	Template           string
	DonorPackageStepId *string
	DonorPackage       *DonorPackage
}

type Worker added in v0.1.1454

type Worker struct {
	Id                     string
	SpaceId                string
	WorkerPoolIds          []string
	Name                   string
	Thumbprint             string
	Uri                    *string
	IsDisabled             bool
	MachinePolicyId        string
	HealthStatus           string
	HasLatestCalamari      bool
	StatusSummary          string
	IsInProcess            bool
	OperatingSystem        string
	ShellName              string
	ShellVersion           string
	Architecture           string
	Slug                   string
	SkipInitialHealthCheck bool
	Endpoint               WorkerEndpoint
}

type WorkerEndpoint added in v0.1.1454

type WorkerEndpoint struct {
	CommunicationStyle            string
	TentacleVersionDetails        WorkerEndpointTentacleVersionDetails
	Thumbprint                    string
	Uri                           string
	CertificateSignatureAlgorithm string
	Id                            *string
	LastModifiedOn                *string
	LastModifiedBy                *string
	ProxyId                       *string
	AccountId                     *string
	Host                          *string
	Port                          *int
	Fingerprint                   *string
	HostKeyAlgorithm              *string
	DotNetCorePlatform            *string
}

type WorkerEndpointTentacleVersionDetails added in v0.1.1454

type WorkerEndpointTentacleVersionDetails struct {
	UpgradeLocked    bool
	Version          string
	UpgradeSuggested bool
	UpgradeRequired  bool
	UpgradeAvailable bool
}

type WorkerPool

type WorkerPool struct {
	Id             string
	SpaceId        string
	Name           string
	Slug           *string
	WorkerPoolType string
	WorkerType     *string
	Description    *string
	IsDefault      bool
	CanAddWorkers  bool
	SortOrder      int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL