v1alpha1

package
v0.1.0-alpha4 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the terraform v1alpha1 API group +kubebuilder:object:generate=true +groupName=terraform.kubeterra.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "terraform.kubeterra.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

This section is empty.

Types

type TerraformConfiguration

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

	Spec   TerraformConfigurationSpec   `json:"spec,omitempty"`
	Status TerraformConfigurationStatus `json:"status,omitempty"`
}

TerraformConfiguration is the Schema for the terraformconfigurations API

func (*TerraformConfiguration) DeepCopy

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

func (*TerraformConfiguration) DeepCopyInto

func (in *TerraformConfiguration) DeepCopyInto(out *TerraformConfiguration)

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

func (*TerraformConfiguration) DeepCopyObject

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

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

type TerraformConfigurationList

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

TerraformConfigurationList contains a list of TerraformConfiguration

func (*TerraformConfigurationList) DeepCopy

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

func (*TerraformConfigurationList) DeepCopyInto

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

func (*TerraformConfigurationList) DeepCopyObject

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

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

type TerraformConfigurationSpec

type TerraformConfigurationSpec struct {
	// Indicates that the terraform apply should not happened.
	// +optional
	Paused bool `json:"paused"`

	// Rerun this configuration periodically
	// +optional
	RepeatEvery *metav1.Duration `json:"repeatEvery,omitempty"`

	// Indicates that the terrafor apply should happen without any further question.
	// +optional
	AutoApprove bool `json:"autoApprove"`

	// Configuration holds whole terraform configuration definition
	Configuration string `json:"configuration"`

	// Variable values, will be dumped to terraform.tfvars
	// +optional
	Values string `json:"values,omitempty"`

	// Defines some aspects of resulting Pod that will run terraform plan / teterraform apply
	// +optional
	Template *TerraformConfigurationTemplate `json:"template,omitempty"`
}

TerraformConfigurationSpec defines the desired state of TerraformConfiguration

func (*TerraformConfigurationSpec) DeepCopy

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

func (*TerraformConfigurationSpec) DeepCopyInto

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

type TerraformConfigurationStatus

type TerraformConfigurationStatus struct {
	// Phase indicates current phase of the terraform action.
	// Is a enum PlanScheduled;PlanRunning;WaitingApproval;ApplyRunning;PlanFailed;ApplyFailed;Done
	Phase TerraformPhase `json:"phase"`
}

TerraformConfigurationStatus defines the observed state of TerraformConfiguration

func (*TerraformConfigurationStatus) DeepCopy

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

func (*TerraformConfigurationStatus) DeepCopyInto

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

type TerraformConfigurationTemplate

type TerraformConfigurationTemplate struct {
	// List of volumes that can be mounted by containers belonging to the pod.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes
	// Standard corev1 kubernetes API
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// List of sources to populate environment variables in the container.
	// The keys defined within a source must be a C_IDENTIFIER. All invalid keys
	// will be reported as an event when the container is starting. When a key exists in multiple
	// sources, the value associated with the last source will take precedence.
	// Values defined by an Env with a duplicate key will take precedence.
	// Standard corev1 kubernetes API
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// List of environment variables to set in the container.
	// Standard corev1 kubernetes API
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Pod volumes to mount into the container's filesystem.
	// Standard corev1 kubernetes API
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// ServiceAccountName is the name of the ServiceAccount to use in running terraform pod.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
	// Standard corev1 kubernetes API
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
}

TerraformConfigurationTemplate defines some aspects of resulting Pod that will run terraform plan / teterraform apply

func (*TerraformConfigurationTemplate) DeepCopy

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

func (*TerraformConfigurationTemplate) DeepCopyInto

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

type TerraformPhase

type TerraformPhase string

TerraformPhase phase +kubebuilder:validation:Enum=PlanScheduled;PlanRunning;WaitingApproval;ApplyRunning;PlanFailed;ApplyFailed;Done

const (
	TerraformPhasePlanScheduled   TerraformPhase = "PlanScheduled"
	TerraformPhasePlanRunning     TerraformPhase = "PlanRunning"
	TerraformPhaseWaitingApproval TerraformPhase = "WaitingApproval"
	TerraformPhaseApplyRunning    TerraformPhase = "ApplyRunning"
	TerraformPhasePlanFailed      TerraformPhase = "PlanFailed"
	TerraformPhaseApplyFailed     TerraformPhase = "ApplyFailed"
	TerraformPhaseDone            TerraformPhase = "Done"
)

TerraformPhase ENUM

type TerraformPlan

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

	Spec   TerraformPlanSpec   `json:"spec,omitempty"`
	Status TerraformPlanStatus `json:"status,omitempty"`
}

TerraformPlan is the Schema for the terraformplans API

func (*TerraformPlan) DeepCopy

func (in *TerraformPlan) DeepCopy() *TerraformPlan

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

func (*TerraformPlan) DeepCopyInto

func (in *TerraformPlan) DeepCopyInto(out *TerraformPlan)

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

func (*TerraformPlan) DeepCopyObject

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

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

type TerraformPlanList

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

TerraformPlanList contains a list of TerraformPlan

func (*TerraformPlanList) DeepCopy

func (in *TerraformPlanList) DeepCopy() *TerraformPlanList

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

func (*TerraformPlanList) DeepCopyInto

func (in *TerraformPlanList) DeepCopyInto(out *TerraformPlanList)

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

func (*TerraformPlanList) DeepCopyObject

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

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

type TerraformPlanSpec

type TerraformPlanSpec struct {
	// Indicate if plan approved to apply
	Approved bool `json:"approved"`

	// Scheduled next execution time
	// +optional
	NextRunAt *metav1.Time `json:"nextRunAt,omitempty"`
}

TerraformPlanSpec defines the desired state of TerraformPlan

func (*TerraformPlanSpec) DeepCopy

func (in *TerraformPlanSpec) DeepCopy() *TerraformPlanSpec

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

func (*TerraformPlanSpec) DeepCopyInto

func (in *TerraformPlanSpec) DeepCopyInto(out *TerraformPlanSpec)

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

type TerraformPlanStatus

type TerraformPlanStatus struct {
	// Previous execution time
	// +optional
	LastRunAt *metav1.Time `json:"lastRunAt,omitempty"`

	// String encoded 32-bit FNV-1a hash of the TerraformConfigurationSpec.
	// Encoded with https://godoc.org/k8s.io/apimachinery/pkg/util/rand#SafeEncodeString
	ConfigurationSpecHash string `json:"configurationSpecHash"`

	// Current phase
	// Is a enum PlanScheduled;PlanRunning;WaitingApproval;ApplyRunning;PlanFailed;ApplyFailed;Done
	Phase TerraformPhase `json:"phase"`
}

TerraformPlanStatus defines the observed state of TerraformPlan

func (*TerraformPlanStatus) DeepCopy

func (in *TerraformPlanStatus) DeepCopy() *TerraformPlanStatus

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

func (*TerraformPlanStatus) DeepCopyInto

func (in *TerraformPlanStatus) DeepCopyInto(out *TerraformPlanStatus)

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

type TerraformState

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

	Spec   TerraformStateSpec   `json:"spec,omitempty"`
	Status TerraformStateStatus `json:"status,omitempty"`
}

TerraformState is the Schema for the terraformstates API

func (*TerraformState) DeepCopy

func (in *TerraformState) DeepCopy() *TerraformState

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

func (*TerraformState) DeepCopyInto

func (in *TerraformState) DeepCopyInto(out *TerraformState)

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

func (*TerraformState) DeepCopyObject

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

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

type TerraformStateList

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

TerraformStateList contains a list of TerraformState

func (*TerraformStateList) DeepCopy

func (in *TerraformStateList) DeepCopy() *TerraformStateList

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

func (*TerraformStateList) DeepCopyInto

func (in *TerraformStateList) DeepCopyInto(out *TerraformStateList)

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

func (*TerraformStateList) DeepCopyObject

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

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

type TerraformStateSpec

type TerraformStateSpec struct {
	// Terraform State JSON object
	// +optional
	State *runtime.RawExtension `json:"state,omitempty"`
}

TerraformStateSpec defines the desired state of TerraformState

func (*TerraformStateSpec) DeepCopy

func (in *TerraformStateSpec) DeepCopy() *TerraformStateSpec

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

func (*TerraformStateSpec) DeepCopyInto

func (in *TerraformStateSpec) DeepCopyInto(out *TerraformStateSpec)

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

type TerraformStateStatus

type TerraformStateStatus struct {
	// Lock ID that currently hold locked this state (or lack of such).
	// +optional
	LockID string `json:"lockID"`

	// Time since when lock is held
	// +optional
	LockedSince *metav1.Time `json:"lockedSince,omitempty"`
}

TerraformStateStatus defines the observed state of TerraformState

func (*TerraformStateStatus) DeepCopy

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

func (*TerraformStateStatus) DeepCopyInto

func (in *TerraformStateStatus) DeepCopyInto(out *TerraformStateStatus)

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