Documentation
¶
Overview ¶
Package shared contains shared schema definitions for different API versions. +k8s:deepcopy-gen=package +groupName=pulumi.com
Index ¶
- Constants
- type BasicAuth
- type ConfigMapRef
- type CurrentStackUpdate
- type EnvSelector
- type FSSelector
- type FluxSource
- type FluxSourceReference
- type GitAuthConfig
- type GitSource
- type LiteralRef
- type Permalink
- type PrerequisiteRef
- type ProgramReference
- type RequirementSpec
- type ResourceRef
- type ResourceSelector
- type ResourceSelectorType
- type SSHAuth
- type SecretSelector
- type StackOutputs
- type StackSpec
- type StackStatus
- type StackUpdateState
- type StackUpdateStateMessage
- type StackUpdateStatus
- type UpdateApplyConfiguration
- type WorkspaceApplyConfiguration
- type WorkspaceReclaimPolicy
Constants ¶
const ( // ResourceSelectorEnv indicates the resource is an environment variable ResourceSelectorEnv = ResourceSelectorType("Env") // ResourceSelectorFS indicates the resource is on the filesystem ResourceSelectorFS = ResourceSelectorType("FS") // ResourceSelectorSecret indicates the resource is a Kubernetes Secret ResourceSelectorSecret = ResourceSelectorType("Secret") // ResourceSelectorLiteral indicates the resource is a literal ResourceSelectorLiteral = ResourceSelectorType("Literal") )
const ReconcileRequestAnnotation = "pulumi.com/reconciliation-request"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BasicAuth ¶
type BasicAuth struct {
UserName ResourceRef `json:"userName"`
Password ResourceRef `json:"password"`
}
BasicAuth configures git authentication through basic auth — i.e. username and password. Both UserName and Password are required.
func (*BasicAuth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.
func (*BasicAuth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigMapRef ¶ added in v2.3.0
type ConfigMapRef struct {
// Name of the ConfigMap
Name string `json:"name"`
// Key within the ConfigMap to use
Key string `json:"key"`
// JSON indicates the referenced value should be parsed as JSON.
// When true, the value is treated as structured data (object/array/etc).
// When false, the value is treated as a raw string.
// +optional
JSON *bool `json:"json,omitempty"`
}
ConfigMapRef identifies information to load from a Kubernetes ConfigMap.
func (*ConfigMapRef) DeepCopy ¶ added in v2.3.0
func (in *ConfigMapRef) DeepCopy() *ConfigMapRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapRef.
func (*ConfigMapRef) DeepCopyInto ¶ added in v2.3.0
func (in *ConfigMapRef) DeepCopyInto(out *ConfigMapRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CurrentStackUpdate ¶
type CurrentStackUpdate struct {
// Generation is the stack generation associated with the update.
Generation int64 `json:"generation,omitempty"`
// ReconcileRequest is the stack reconcile request associated with the update.
ReconcileRequest string `json:"reconcileRequest,omitempty"`
// Name is the name of the update object.
Name string `json:"name,omitempty"`
// Commit is the commit SHA of the planned update.
Commit string `json:"commit,omitempty"`
}
func (*CurrentStackUpdate) DeepCopy ¶
func (in *CurrentStackUpdate) DeepCopy() *CurrentStackUpdate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CurrentStackUpdate.
func (*CurrentStackUpdate) DeepCopyInto ¶
func (in *CurrentStackUpdate) DeepCopyInto(out *CurrentStackUpdate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvSelector ¶
type EnvSelector struct {
// Name of the environment variable
Name string `json:"name"`
}
EnvSelector identifies the environment variable to load information from.
func (*EnvSelector) DeepCopy ¶
func (in *EnvSelector) DeepCopy() *EnvSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvSelector.
func (*EnvSelector) DeepCopyInto ¶
func (in *EnvSelector) DeepCopyInto(out *EnvSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FSSelector ¶
type FSSelector struct {
// Path on the filesystem to use to load information from.
Path string `json:"path"`
}
FSSelector identifies the path to load information from.
func (*FSSelector) DeepCopy ¶
func (in *FSSelector) DeepCopy() *FSSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FSSelector.
func (*FSSelector) DeepCopyInto ¶
func (in *FSSelector) DeepCopyInto(out *FSSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FluxSource ¶
type FluxSource struct {
SourceRef FluxSourceReference `json:"sourceRef"`
// Dir gives the subdirectory containing the Pulumi project (i.e., containing Pulumi.yaml) of
// interest, within the fetched source.
// +optional
Dir string `json:"dir,omitempty"`
}
FluxSource specifies how to fetch from a Flux source object
func (*FluxSource) DeepCopy ¶
func (in *FluxSource) DeepCopy() *FluxSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FluxSource.
func (*FluxSource) DeepCopyInto ¶
func (in *FluxSource) DeepCopyInto(out *FluxSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FluxSourceReference ¶
type FluxSourceReference struct {
APIVersion string `json:"apiVersion"`
Kind string `json:"kind"`
Name string `json:"name"`
}
func (*FluxSourceReference) DeepCopy ¶
func (in *FluxSourceReference) DeepCopy() *FluxSourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FluxSourceReference.
func (*FluxSourceReference) DeepCopyInto ¶
func (in *FluxSourceReference) DeepCopyInto(out *FluxSourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitAuthConfig ¶
type GitAuthConfig struct {
PersonalAccessToken *ResourceRef `json:"accessToken,omitempty"`
SSHAuth *SSHAuth `json:"sshAuth,omitempty"`
BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
}
GitAuthConfig specifies git authentication configuration options. There are 3 different authentication options:
- Personal access token
- SSH private key (and its optional password)
- Basic auth username and password
Only 1 authentication mode is valid.
func (*GitAuthConfig) DeepCopy ¶
func (in *GitAuthConfig) DeepCopy() *GitAuthConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitAuthConfig.
func (*GitAuthConfig) DeepCopyInto ¶
func (in *GitAuthConfig) DeepCopyInto(out *GitAuthConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitSource ¶
type GitSource struct {
// ProjectRepo is the git source control repository from which we fetch the project code and configuration.
// +optional
ProjectRepo string `json:"projectRepo,omitempty"`
// (optional) GitAuthSecret is the the name of a Secret containing an
// authentication option for the git repository.
// There are 3 different authentication options:
// * Personal access token
// * SSH private key (and it's optional password)
// * Basic auth username and password
// Only one authentication mode will be considered if more than one option is specified,
// with ssh private key/password preferred first, then personal access token, and finally
// basic auth credentials.
// Deprecated. Use GitAuth instead.
GitAuthSecret string `json:"gitAuthSecret,omitempty"`
// (optional) GitAuth allows configuring git authentication options
// There are 3 different authentication options:
// * SSH private key (and its optional password)
// * Personal access token
// * Basic auth username and password
// Only one authentication mode will be considered if more than one option is specified,
// with ssh private key/password preferred first, then personal access token, and finally
// basic auth credentials.
GitAuth *GitAuthConfig `json:"gitAuth,omitempty"`
// (optional) RepoDir is the directory to work from in the project's source repository
// where Pulumi.yaml is located. It is used in case Pulumi.yaml is not
// in the project source root.
RepoDir string `json:"repoDir,omitempty"`
// (optional) Commit is the hash of the commit to deploy. If used, HEAD will be in detached mode. This
// is mutually exclusive with the Branch setting. Either value needs to be specified.
Commit string `json:"commit,omitempty"`
// (optional) Branch is the branch name to deploy, either the simple or fully qualified ref name, e.g. refs/heads/master. This
// is mutually exclusive with the Commit setting. Either value needs to be specified.
// When specified, the operator will periodically poll to check if the branch has any new commits.
// The frequency of the polling is configurable through ResyncFrequencySeconds, defaulting to every 60 seconds.
Branch string `json:"branch,omitempty"`
// Shallow controls whether the workspace uses a shallow checkout or
// whether all history is cloned.
Shallow bool `json:"shallow,omitempty"`
}
GitSource specifies how to fetch from a git repository directly.
func (*GitSource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitSource.
func (*GitSource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LiteralRef ¶
type LiteralRef struct {
// Value to load
Value string `json:"value"`
}
LiteralRef identifies a literal value to load.
func (*LiteralRef) DeepCopy ¶
func (in *LiteralRef) DeepCopy() *LiteralRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteralRef.
func (*LiteralRef) DeepCopyInto ¶
func (in *LiteralRef) DeepCopyInto(out *LiteralRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrerequisiteRef ¶
type PrerequisiteRef struct {
// Name is the name of the Stack resource that is a prerequisite.
Name string `json:"name"`
// Requirement gives specific requirements for the prerequisite; the base requirement is that
// the referenced stack is in a successful state.
Requirement *RequirementSpec `json:"requirement,omitempty"`
}
PrerequisiteRef refers to another stack, and gives requirements for the prerequisite to be considered satisfied.
func (*PrerequisiteRef) DeepCopy ¶
func (in *PrerequisiteRef) DeepCopy() *PrerequisiteRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrerequisiteRef.
func (*PrerequisiteRef) DeepCopyInto ¶
func (in *PrerequisiteRef) DeepCopyInto(out *PrerequisiteRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProgramReference ¶
type ProgramReference struct {
// +kubebuilder:validation:Required
Name string `json:"name"`
}
func (*ProgramReference) DeepCopy ¶
func (in *ProgramReference) DeepCopy() *ProgramReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProgramReference.
func (*ProgramReference) DeepCopyInto ¶
func (in *ProgramReference) DeepCopyInto(out *ProgramReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequirementSpec ¶
type RequirementSpec struct {
// SucceededWithinDuration gives a duration within which the prerequisite must have reached a
// succeeded state; e.g., "1h" means "the prerequisite must be successful, and have become so in
// the last hour". Fields (should there ever be more than one) are not intended to be mutually
// exclusive.
SucceededWithinDuration *metav1.Duration `json:"succeededWithinDuration,omitempty"`
}
RequirementSpec gives constraints for a prerequisite to be considered satisfied.
func (*RequirementSpec) DeepCopy ¶
func (in *RequirementSpec) DeepCopy() *RequirementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequirementSpec.
func (*RequirementSpec) DeepCopyInto ¶
func (in *RequirementSpec) DeepCopyInto(out *RequirementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRef ¶
type ResourceRef struct {
// SelectorType is required and signifies the type of selector. Must be one of:
// Env, FS, Secret, Literal
SelectorType ResourceSelectorType `json:"type"`
ResourceSelector `json:",inline"`
}
ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes Secrets and literal strings are currently supported.
func NewEnvResourceRef ¶
func NewEnvResourceRef(envVarName string) ResourceRef
NewEnvResourceRef creates a new environment variable resource ref.
func NewFileSystemResourceRef ¶
func NewFileSystemResourceRef(path string) ResourceRef
NewFileSystemResourceRef creates a new file system resource ref.
func NewLiteralResourceRef ¶
func NewLiteralResourceRef(value string) ResourceRef
NewLiteralResourceRef creates a new literal resource ref.
func NewSecretResourceRef ¶
func NewSecretResourceRef(namespace, name, key string) ResourceRef
NewSecretResourceRef creates a new Secret resource ref.
func (*ResourceRef) DeepCopy ¶
func (in *ResourceRef) DeepCopy() *ResourceRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRef.
func (*ResourceRef) DeepCopyInto ¶
func (in *ResourceRef) DeepCopyInto(out *ResourceRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSelector ¶
type ResourceSelector struct {
// FileSystem selects a file on the operator's file system
FileSystem *FSSelector `json:"filesystem,omitempty"`
// Env selects an environment variable set on the operator process
Env *EnvSelector `json:"env,omitempty"`
// SecretRef refers to a Kubernetes Secret
SecretRef *SecretSelector `json:"secret,omitempty"`
// LiteralRef refers to a literal value
LiteralRef *LiteralRef `json:"literal,omitempty"`
}
ResourceSelector is a union over resource selectors supporting one of filesystem, environment variable, Kubernetes Secret and literal values.
func (*ResourceSelector) DeepCopy ¶
func (in *ResourceSelector) DeepCopy() *ResourceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSelector.
func (*ResourceSelector) DeepCopyInto ¶
func (in *ResourceSelector) DeepCopyInto(out *ResourceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSelectorType ¶
type ResourceSelectorType string
ResourceSelectorType identifies the type of the resource reference in
type SSHAuth ¶
type SSHAuth struct {
SSHPrivateKey ResourceRef `json:"sshPrivateKey"`
Password *ResourceRef `json:"password,omitempty"`
}
SSHAuth configures ssh-based auth for git authentication. SSHPrivateKey is required but password is optional.
func (*SSHAuth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHAuth.
func (*SSHAuth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretSelector ¶
type SecretSelector struct {
// Namespace where the Secret is stored. Deprecated; non-empty values will be considered invalid
// unless namespace isolation is disabled in the controller.
Namespace string `json:"namespace,omitempty"`
// Name of the Secret
Name string `json:"name"`
// Key within the Secret to use.
Key string `json:"key"`
}
SecretSelector identifies the information to load from a Kubernetes Secret.
func (*SecretSelector) DeepCopy ¶
func (in *SecretSelector) DeepCopy() *SecretSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretSelector.
func (*SecretSelector) DeepCopyInto ¶
func (in *SecretSelector) DeepCopyInto(out *SecretSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StackOutputs ¶
type StackOutputs map[string]apiextensionsv1.JSON
func (StackOutputs) DeepCopy ¶
func (in StackOutputs) DeepCopy() StackOutputs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackOutputs.
func (StackOutputs) DeepCopyInto ¶
func (in StackOutputs) DeepCopyInto(out *StackOutputs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StackSpec ¶
type StackSpec struct {
// (optional) AccessTokenSecret is the name of a Secret containing the PULUMI_ACCESS_TOKEN for Pulumi access.
// Deprecated: use EnvRefs with a "secret" entry with the key PULUMI_ACCESS_TOKEN instead.
AccessTokenSecret string `json:"accessTokenSecret,omitempty"`
// (optional) Envs is an optional array of config maps containing environment variables to set.
// Deprecated: use EnvRefs instead.
Envs []string `json:"envs,omitempty"`
// (optional) EnvRefs is an optional map containing environment variables as keys and stores descriptors to where
// the variables' values should be loaded from (one of literal, environment variable, file on the
// filesystem, or Kubernetes Secret) as values.
EnvRefs map[string]ResourceRef `json:"envRefs,omitempty"`
// (optional) SecretEnvs is an optional array of Secret names containing environment variables to set.
// Deprecated: use EnvRefs instead.
SecretEnvs []string `json:"envSecrets,omitempty"`
// (optional) Backend is an optional backend URL to use for all Pulumi operations.<br/>
// Examples:<br/>
// - Pulumi Service: "https://app.pulumi.com" (default)<br/>
// - Self-managed Pulumi Service: "https://pulumi.acmecorp.com" <br/>
// - Local: "file://./einstein" <br/>
// - AWS: "s3://<my-pulumi-state-bucket>" <br/>
// - Azure: "azblob://<my-pulumi-state-bucket>" <br/>
// - GCP: "gs://<my-pulumi-state-bucket>" <br/>
// See: https://www.pulumi.com/docs/intro/concepts/state/
Backend string `json:"backend,omitempty"`
// Stack is the fully qualified name of the stack to deploy (<org>/<stack>).
Stack string `json:"stack"`
// (optional) Config is the configuration for this stack, which can be optionally specified inline. If this
// is omitted, configuration is assumed to be checked in and taken from the source repository.
// Supports both simple string values and structured values (objects, arrays, numbers, booleans).
// +optional
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
Config map[string]apiextensionsv1.JSON `json:"config,omitempty"`
// (optional) Secrets is the secret configuration for this stack, which can be optionally specified inline. If this
// is omitted, secrets configuration is assumed to be checked in and taken from the source repository.
// Deprecated: use SecretRefs instead.
Secrets map[string]string `json:"secrets,omitempty"`
// (optional) ConfigRef allows specifying configuration values from ConfigMaps.
// +optional
ConfigRef map[string]ConfigMapRef `json:"configRef,omitempty"`
// (optional) SecretRefs is the secret configuration for this stack which can be specified through ResourceRef.
// If this is omitted, secrets configuration is assumed to be checked in and taken from the source repository.
SecretRefs map[string]ResourceRef `json:"secretsRef,omitempty"`
// (optional) SecretsProvider is used to initialize a Stack with alternative encryption.
// Examples:
// - AWS: "awskms:///arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34bc-56ef-1234567890ab?region=us-east-1"
// - Azure: "azurekeyvault://acmecorpvault.vault.azure.net/keys/mykeyname"
// - GCP: "gcpkms://projects/MYPROJECT/locations/MYLOCATION/keyRings/MYKEYRING/cryptoKeys/MYKEY"
// -
// See: https://www.pulumi.com/docs/intro/concepts/secrets/#initializing-a-stack-with-alternative-encryption
SecretsProvider string `json:"secretsProvider,omitempty"`
// GitSource inlines the fields for specifying git sources; it is not itself optional, so as not
// to break compatibility.
*GitSource `json:",inline"`
// FluxSource specifies how to fetch source code from a Flux source object.
// +optional
FluxSource *FluxSource `json:"fluxSource,omitempty"`
// ProgramRef refers to a Program object, to be used as the source for the stack.
ProgramRef *ProgramReference `json:"programRef,omitempty"`
// (optional) Targets is a list of URNs of resources to update exclusively. If supplied, only
// resources mentioned will be updated.
Targets []string `json:"targets,omitempty"`
// TargetDependents indicates that dependent resources should be updated as well, when using Targets.
TargetDependents bool `json:"targetDependents,omitempty"`
// (optional) Prerequisites is a list of references to other stacks, each with a constraint on
// how long ago it must have succeeded. This can be used to make sure e.g., state is
// re-evaluated before running a stack that depends on it.
Prerequisites []PrerequisiteRef `json:"prerequisites,omitempty"`
// (optional) ContinueResyncOnCommitMatch - when true - informs the operator to continue trying
// to update stacks even if the revision of the source matches. This might be useful in
// environments where Pulumi programs have dynamic elements for example, calls to internal APIs
// where GitOps style commit tracking is not sufficient. Defaults to false, i.e. when a
// particular revision is successfully run, the operator will not attempt to rerun the program
// at that revision again.
ContinueResyncOnCommitMatch bool `json:"continueResyncOnCommitMatch,omitempty"`
// (optional) Refresh can be set to true to refresh the stack before it is updated.
Refresh bool `json:"refresh,omitempty"`
// (optional) ExpectNoRefreshChanges can be set to true if a stack is not expected to have
// changes during a refresh before the update is run.
// This could occur, for example, is a resource's state is changing outside of Pulumi
// (e.g., metadata, timestamps).
ExpectNoRefreshChanges bool `json:"expectNoRefreshChanges,omitempty"`
// (optional) DestroyOnFinalize can be set to true to destroy the stack completely upon deletion of the Stack custom resource.
DestroyOnFinalize bool `json:"destroyOnFinalize,omitempty"`
// (optional) RetryOnUpdateConflict issues a stack update retry reconciliation loop
// in the event that the update hits a HTTP 409 conflict due to
// another update in progress.
// This is only recommended if you are sure that the stack updates are
// idempotent, and if you are willing to accept retry loops until
// all spawned retries succeed. This will also create a more populated,
// and randomized activity timeline for the stack in the Pulumi Service.
RetryOnUpdateConflict bool `json:"retryOnUpdateConflict,omitempty"`
// (optional) UseLocalStackOnly can be set to true to prevent the operator from
// creating stacks that do not exist in the tracking git repo.
// The default behavior is to create a stack if it doesn't exist.
UseLocalStackOnly bool `json:"useLocalStackOnly,omitempty"`
// (optional) ResyncFrequencySeconds when set to a non-zero value, triggers a resync of the stack at
// the specified frequency even if no changes to the custom resource are detected.
// If branch tracking is enabled (branch is non-empty), commit polling will occur at this frequency.
// The minimal resync frequency supported is 60 seconds. The default value for this field is 60 seconds.
ResyncFrequencySeconds int64 `json:"resyncFrequencySeconds,omitempty"`
// ServiceAccountName is the Kubernetes service account identity of the stack's workspace.
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// WorkspaceTemplate customizes the Workspace generated for this Stack. It
// is applied as a strategic merge patch on top of the underlying
// Workspace. Use this to customize the Workspace's metadata, image, resources,
// volumes, etc.
// +optional
WorkspaceTemplate *WorkspaceApplyConfiguration `json:"workspaceTemplate,omitempty"`
// WorkspaceReclaimPolicy specifies whether the workspace should be deleted or retained after the Stack is successfully updated.
// The default behavior is to retain the workspace. Valid values are one of "Retain" or "Delete".
// +optional
WorkspaceReclaimPolicy WorkspaceReclaimPolicy `json:"workspaceReclaimPolicy,omitempty"`
// (optional) Environment specifies the Pulumi ESC environment(s) to use for this stack.
// +listType=atomic
// +optional
Environment []string `json:"environment,omitempty"`
// UpdateTemplate customizes the Updates generated for this Stack. It
// is applied as a strategic merge patch on top of the underlying
// Update. Use this to customize the Updates's metadata, retention policy, etc.
// +optional
UpdateTemplate *UpdateApplyConfiguration `json:"updateTemplate,omitempty"`
// RetryMaxBackoffDurationSeconds controls the maximum number of seconds to
// wait before retrying a failed update. Failures are retried with an
// exponentially increasing backoff until it reaches this maxium. Defaults
// to 86400 (24 hours).
// +optional
RetryMaxBackoffDurationSeconds int64 `json:"retryMaxBackoffDurationSeconds,omitempty"`
// (optional) Preview when set to true runs only preview operations, never actual updates.
// This allows seeing what changes would be made without applying them.
// +optional
Preview bool `json:"preview,omitempty"`
}
StackSpec defines the desired state of Pulumi Stack being managed by this operator.
func (*StackSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackSpec.
func (*StackSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StackStatus ¶
type StackStatus struct {
// Outputs contains the exported stack output variables resulting from a deployment.
Outputs StackOutputs `json:"outputs,omitempty"`
// LastUpdate contains details of the status of the last update.
LastUpdate *StackUpdateState `json:"lastUpdate,omitempty"`
}
StackStatus defines the observed state of Stack
func (*StackStatus) DeepCopy ¶
func (in *StackStatus) DeepCopy() *StackStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackStatus.
func (*StackStatus) DeepCopyInto ¶
func (in *StackStatus) DeepCopyInto(out *StackStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StackUpdateState ¶
type StackUpdateState struct {
// Generation is the stack generation associated with the update.
Generation int64 `json:"generation,omitempty"`
// ReconcileRequest is the stack reconcile request associated with the update.
ReconcileRequest string `json:"reconcileRequest,omitempty"`
// Name is the name of the update object.
Name string `json:"name,omitempty"`
// Type is the type of update.
Type autov1alpha1.UpdateType `json:"type,omitempty"`
// State is the state of the stack update - one of `succeeded` or `failed`
State StackUpdateStateMessage `json:"state,omitempty"`
// Message is the message surfacing any errors or additional information about the update.
Message string `json:"message,omitempty"`
// Last commit attempted
LastAttemptedCommit string `json:"lastAttemptedCommit,omitempty"`
// Last commit successfully applied
LastSuccessfulCommit string `json:"lastSuccessfulCommit,omitempty"`
// Permalink is the Pulumi Console URL of the stack operation.
Permalink Permalink `json:"permalink,omitempty"`
// LastResyncTime contains a timestamp for the last time a resync of the stack took place.
LastResyncTime metav1.Time `json:"lastResyncTime,omitempty"`
// Failures records how many times the update has been attempted and
// failed. Failed updates are periodically retried with exponential backoff
// in case the failure was due to transient conditions.
Failures int64 `json:"failures,omitempty"`
}
StackUpdateState is the status of a stack update
func (*StackUpdateState) DeepCopy ¶
func (in *StackUpdateState) DeepCopy() *StackUpdateState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackUpdateState.
func (*StackUpdateState) DeepCopyInto ¶
func (in *StackUpdateState) DeepCopyInto(out *StackUpdateState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StackUpdateStateMessage ¶
type StackUpdateStateMessage string
const ( // SucceededStackStateMessage is a const to indicate success in stack status state. SucceededStackStateMessage StackUpdateStateMessage = "succeeded" // FailedStackStateMessage is a const to indicate stack failure in stack status state. FailedStackStateMessage StackUpdateStateMessage = "failed" )
type StackUpdateStatus ¶
type StackUpdateStatus int
StackUpdateStatus is the status code for the result of a Stack Update run.
const ( // StackUpdateSucceeded indicates that the stack update completed successfully. StackUpdateSucceeded StackUpdateStatus = 0 // StackUpdateFailed indicates that the stack update failed to complete. StackUpdateFailed StackUpdateStatus = 1 // StackUpdateConflict indicates that the stack update failed to complete due // to a conflicting stack update run that is in progress. StackUpdateConflict StackUpdateStatus = 2 // StackUpdatePendingOperations indicates that the stack update failed to complete due // to pending operations halting the stack update run. StackUpdatePendingOperations StackUpdateStatus = 3 // StackNotFound indicates that the stack update failed to complete due // to stack not being found (HTTP 404) in the Pulumi Service. StackNotFound StackUpdateStatus = 4 )
type UpdateApplyConfiguration ¶ added in v2.1.0
type UpdateApplyConfiguration autov1alpha1apply.UpdateApplyConfiguration
UpdateApplyConfiguration defines DeepCopy on the underlying applyconfiguration. TODO(https://github.com/kubernetes-sigs/kubebuilder/issues/3692)
func (*UpdateApplyConfiguration) DeepCopy ¶ added in v2.1.0
func (ac *UpdateApplyConfiguration) DeepCopy() *UpdateApplyConfiguration
DeepCopy round-trips the object.
func (*UpdateApplyConfiguration) DeepCopyInto ¶ added in v2.1.0
func (in *UpdateApplyConfiguration) DeepCopyInto(out *UpdateApplyConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkspaceApplyConfiguration ¶
type WorkspaceApplyConfiguration autov1alpha1apply.WorkspaceApplyConfiguration
WorkspaceApplyConfiguration defines DeepCopy on the underlying applyconfiguration. TODO(https://github.com/kubernetes-sigs/kubebuilder/issues/3692)
func (*WorkspaceApplyConfiguration) DeepCopy ¶
func (ac *WorkspaceApplyConfiguration) DeepCopy() *WorkspaceApplyConfiguration
DeepCopy round-trips the object.
func (*WorkspaceApplyConfiguration) DeepCopyInto ¶
func (in *WorkspaceApplyConfiguration) DeepCopyInto(out *WorkspaceApplyConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkspaceReclaimPolicy ¶
type WorkspaceReclaimPolicy string
WorkspaceReclaimPolicy defines whether the workspace should be deleted or retained after the Stack is synced. +kubebuilder:validation:Enum=Retain;Delete +kubebuilder:default=Retain
const ( // WorkspaceReclaimRetain retains the workspace after the Stack is synced. WorkspaceReclaimRetain WorkspaceReclaimPolicy = "Retain" // WorkspaceReclaimDelete deletes the workspace after the Stack is synced. WorkspaceReclaimDelete WorkspaceReclaimPolicy = "Delete" )