v1alpha1

package
v0.0.0-...-7ecbf2a Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: MIT-0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the CloudFormation v1alpha1 API group +kubebuilder:object:generate=true +groupName=cloudformation.contrib.fluxcd.io

Package v1alpha1 contains API Schema definitions for the CloudFormation v1alpha1 API group +kubebuilder:object:generate=true +groupName=cloudformation.contrib.fluxcd.io

Index

Constants

View Source
const (
	CloudFormationStackKind      = "CloudFormationStack"
	CloudFormationStackFinalizer = "finalizers.cloudformation.contrib.fluxcd.io"
	GitRepositoryIndexKey        = ".metadata.gitRepository"
	BucketIndexKey               = ".metadata.bucket"
	OCIRepositoryIndexKey        = ".metadata.ociRepository"
)
View Source
const (
	ArtifactFailedReason              = "ArtifactFailed"
	ChangeSetFailedReason             = "ChangeSetFailed"
	TemplateUploadFailedReason        = "TemplateUploadFailed"
	CloudFormationApiCallFailedReason = "CloudFormationApiCallFailed"
	UnrecoverableStackFailureReason   = "UnrecoverableStackFailure"
	StackRollbackFailureReason        = "StackRollbackFailed"
	DependencyNotReadyReason          = "DependencyNotReady"
	UnexpectedStatusReason            = "UnexpectedStatus"
)

The potential reasons that are associated with the condition types

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "cloudformation.contrib.fluxcd.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func SetCloudFormationStackReadiness

func SetCloudFormationStackReadiness(cfnStack *CloudFormationStack, status metav1.ConditionStatus, update ReadinessUpdate)

SetCloudFormationStackReadiness sets the ReadyCondition, ObservedGeneration, LastAttemptedChangeSet, and LastAttemptedRevision on the CloudFormation stack.

Types

type CloudFormationStack

type CloudFormationStack struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CloudFormationStackSpec   `json:"spec,omitempty"`
	Status CloudFormationStackStatus `json:"status,omitempty"`
}

CloudFormationStack is the Schema for the CloudFormation stack API

func CloudFormationStackNotReady

func CloudFormationStackNotReady(cfnStack CloudFormationStack, update ReadinessUpdate) CloudFormationStack

CloudFormationStackNotReady registers a failed reconciliation attempt of the given CloudFormation stack.

func CloudFormationStackProgressing

func CloudFormationStackProgressing(cfnStack CloudFormationStack, update ReadinessUpdate) CloudFormationStack

CloudFormationStackProgressing resets the conditions of the given CloudFormation stack to a single ReadyCondition with status ConditionUnknown.

func CloudFormationStackReady

func CloudFormationStackReady(cfnStack CloudFormationStack, changeSetArn string) CloudFormationStack

CloudFormationStackReady registers a successful reconciliation of the given CloudFormation stack.

func (*CloudFormationStack) DeepCopy

func (in *CloudFormationStack) DeepCopy() *CloudFormationStack

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudFormationStack.

func (*CloudFormationStack) DeepCopyInto

func (in *CloudFormationStack) DeepCopyInto(out *CloudFormationStack)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudFormationStack) DeepCopyObject

func (in *CloudFormationStack) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (CloudFormationStack) GetConditions

func (in CloudFormationStack) GetConditions() []metav1.Condition

func (CloudFormationStack) GetDependsOn

GetDependsOn returns the list of dependencies, namespace scoped.

func (CloudFormationStack) GetRetryInterval

func (in CloudFormationStack) GetRetryInterval() time.Duration

GetRetryInterval returns the retry interval

func (*CloudFormationStack) GetStatusConditions deprecated

func (in *CloudFormationStack) GetStatusConditions() *[]metav1.Condition

Deprecated: use GetConditions instead.

func (*CloudFormationStack) SetConditions

func (in *CloudFormationStack) SetConditions(conditions []metav1.Condition)

type CloudFormationStackList

type CloudFormationStackList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CloudFormationStack `json:"items"`
}

CloudFormationStackList contains a list of CloudFormation stacks

func (*CloudFormationStackList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudFormationStackList.

func (*CloudFormationStackList) DeepCopyInto

func (in *CloudFormationStackList) DeepCopyInto(out *CloudFormationStackList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudFormationStackList) DeepCopyObject

func (in *CloudFormationStackList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CloudFormationStackSpec

type CloudFormationStackSpec struct {
	// Name of the CloudFormation stack.
	// Note that if this value is changed after creation, the controller will NOT
	// destroy the old stack and the old stack will no longer be updated by the controller.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	// +required
	StackName string `json:"stackName,omitempty"`

	// Path to the CloudFormation template file.
	// Defaults to the root path of the SourceRef and filename 'template.yaml'.
	// +optional
	// +kubebuilder:default="template.yaml"
	TemplatePath string `json:"templatePath,omitempty"`

	// SourceRef is the reference of the source where the CloudFormation template is stored.
	// +required
	SourceRef SourceReference `json:"sourceRef"`

	// The interval at which to reconcile the CloudFormation stack.
	// +required
	Interval metav1.Duration `json:"interval"`

	// The interval at which to poll CloudFormation for the stack's status while a stack
	// action like Create or Update is in progress.
	// Defaults to five seconds.
	// +optional
	// +kubebuilder:default="5s"
	PollInterval metav1.Duration `json:"pollInterval,omitempty"`

	// The interval at which to retry a previously failed reconciliation.
	// When not specified, the controller uses the CloudFormationStackSpec.Interval
	// value to retry failures.
	// +optional
	RetryInterval *metav1.Duration `json:"retryInterval,omitempty"`

	// The parameter keys and values to set on the stack
	// +optional
	StackParameters []StackParameter `json:"stackParameters,omitempty"`

	// The tag keys and values to set on the stack.
	// Default tags will be added:
	// cfn-flux-controller/version, cfn-flux-controller/name, cfn-flux-controller/namespace.
	// +optional
	StackTags []StackTag `json:"stackTags,omitempty"`

	// Suspend tells the controller to suspend reconciliation for this CloudFormation stack,
	// it does not apply to already started reconciliations. Defaults to false.
	// +optional
	// +kubebuilder:default:=false
	Suspend bool `json:"suspend,omitempty"`

	// Delete the CloudFormation stack and its underlying resources
	// upon deletion of this object. Defaults to false.
	// +optional
	// +kubebuilder:default:=false
	DestroyStackOnDeletion bool `json:"destroyStackOnDeletion,omitempty"`

	// DependsOn may contain a meta.NamespacedObjectReference slice with
	// references to CloudFormationStack resources that must be ready before this CloudFormationStack
	// can be reconciled.
	// +optional
	DependsOn []meta.NamespacedObjectReference `json:"dependsOn,omitempty"`
}

CloudFormationStackSpec defines the desired state of a CloudFormation stack

func (*CloudFormationStackSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudFormationStackSpec.

func (*CloudFormationStackSpec) DeepCopyInto

func (in *CloudFormationStackSpec) DeepCopyInto(out *CloudFormationStackSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudFormationStackStatus

type CloudFormationStackStatus struct {
	// ObservedGeneration is the last observed generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	meta.ReconcileRequestStatus `json:",inline"`

	// Conditions holds the conditions for the CloudFormationStack.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// LastAppliedRevision is the revision of the last successfully applied source.
	// The revision format for Git sources is <branch|tag>@sha1:<commit-sha>.
	// +optional
	LastAppliedRevision string `json:"lastAppliedRevision,omitempty"`

	// LastAttemptedRevision is the revision of the last reconciliation attempt.
	// The revision format for Git sources is <branch|tag>@sha1:<commit-sha>.
	// +optional
	LastAttemptedRevision string `json:"lastAttemptedRevision,omitempty"`

	// LastAppliedChangeSet is the ARN of the last successfully applied CloudFormation change set.
	// The change set name format is flux-<generation>-<source-revision>.
	// +optional
	LastAppliedChangeSet string `json:"lastAppliedChangeSet,omitempty"`

	// LastAttemptedChangeSet is the ARN of the CloudFormation change set for the last reconciliation attempt.
	// The change set name format is flux-<generation>-<source-revision>.
	// +optional
	LastAttemptedChangeSet string `json:"lastAttemptedChangeSet,omitempty"`

	// StackName is the name of the CloudFormation stack created by
	// the controller for the CloudFormationStack resource.
	// +optional
	StackName string `json:"stackName,omitempty"`
}

CloudFormationStackStatus defines the observed state of a CloudFormation stack

func (*CloudFormationStackStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudFormationStackStatus.

func (*CloudFormationStackStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReadinessUpdate

type ReadinessUpdate struct {
	Reason         string
	Message        string
	SourceRevision string
	ChangeSetArn   string
}

func (*ReadinessUpdate) DeepCopy

func (in *ReadinessUpdate) DeepCopy() *ReadinessUpdate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadinessUpdate.

func (*ReadinessUpdate) DeepCopyInto

func (in *ReadinessUpdate) DeepCopyInto(out *ReadinessUpdate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceReference

type SourceReference struct {
	// API version of the source object.
	// +optional
	APIVersion string `json:"apiVersion,omitempty"`

	// Kind of the source object.
	// +kubebuilder:validation:Enum=GitRepository;Bucket;OCIRepository
	// +required
	Kind string `json:"kind"`

	// Name of the source object.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +required
	Name string `json:"name"`

	// Namespace of the source object, defaults to the namespace of the CloudFormation stack object.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Optional
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

Reference to a Flux source object.

func (*SourceReference) DeepCopy

func (in *SourceReference) DeepCopy() *SourceReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceReference.

func (*SourceReference) DeepCopyInto

func (in *SourceReference) DeepCopyInto(out *SourceReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SourceReference) String

func (s *SourceReference) String() string

type StackParameter

type StackParameter struct {
	// Name of the stack parameter in your CloudFormation template.
	// +required
	Key string `json:"key"`

	// Value of the stack parameter.
	// +required
	Value string `json:"value"`
}

Key and value for a CloudFormation stack parameter.

func (*StackParameter) DeepCopy

func (in *StackParameter) DeepCopy() *StackParameter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackParameter.

func (*StackParameter) DeepCopyInto

func (in *StackParameter) DeepCopyInto(out *StackParameter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StackTag

type StackTag struct {
	// Name of the stack tag.
	// +required
	Key string `json:"key"`

	// Value of the stack tag.
	// +required
	Value string `json:"value"`
}

Key and value for a CloudFormation stack tag.

func (*StackTag) DeepCopy

func (in *StackTag) DeepCopy() *StackTag

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackTag.

func (*StackTag) DeepCopyInto

func (in *StackTag) DeepCopyInto(out *StackTag)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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