Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the clusterops v1 API group +kubebuilder:object:generate=true +groupName=clusterops.mmlt.nl
Index ¶
- Variables
- type AADSpec
- type AZOutbound
- type AZRoute
- type AZSKU
- type AZServiceEndpoint
- type AZSpec
- type AZSubscription
- type ClusterAZSpec
- type ClusterAddonSpec
- type ClusterInfraSpec
- type ClusterSpec
- type Environment
- type EnvironmentCondition
- type EnvironmentConditionReason
- type EnvironmentList
- type EnvironmentSourceType
- type EnvironmentSpec
- type EnvironmentStatus
- type InfraBudget
- type InfraSpec
- type LogAnalyticsWorkspace
- type NodepoolSpec
- type SourceSpec
- type StateSpec
- type StepState
- type StepStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "clusterops.mmlt.nl", Version: "v1"} // 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 AADSpec ¶
type AADSpec struct {
// TenantID is the AD tenant or a reference to that value in the form "vault name field"
TenantID string `json:"tenantID,omitempty"`
// ServerAppID is an app registration allowed to query AD for user data
// or a reference to that value in the form "vault name field"
ServerAppID string `json:"serverAppID,omitempty"`
// ServerAppSecret is the secret of an app registration allowed to query AD for user data
// or a reference to that value in the form "vault name field"
ServerAppSecret string `json:"serverAppSecret,omitempty"`
// ClientAppID is the app registration used by kubectl or a reference to that value in the form "vault name field"
ClientAppID string `json:"clientAppID,omitempty"`
}
Azure Active Directory.
func (*AADSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AADSpec.
func (*AADSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AZOutbound ¶
type AZOutbound string
AZOutbound sets the network outbound type.
const ( OutboundLoadbalancer AZOutbound = "loadBalancer" OutboundUserDefinedRoute AZOutbound = "userDefinedRoute" )
type AZRoute ¶
type AZRoute struct {
Name string `json:"name,omitempty" hcl:"name"`
AddressPrefix string `json:"addressPrefix,omitempty" hcl:"address_prefix"`
NextHopType string `json:"nextHopType,omitempty" hcl:"next_hop_type"`
NextHopInIPAddress string `json:"nextHopInIPAddress,omitempty" hcl:"next_hop_in_ip_address" hcle:"omitempty"`
}
AZRoute is an entry in the routing table of the VNet.
func (*AZRoute) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AZRoute.
func (*AZRoute) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AZServiceEndpoint ¶
type AZServiceEndpoint string
+kubebuilder:validation:Enum=Microsoft.AzureActiveDirectory;Microsoft.AzureCosmosDB;Microsoft.ContainerRegistry;Microsoft.EventHub;Microsoft.KeyVault;Microsoft.ServiceBus;Microsoft.Sql;Microsoft.Storage;Microsoft.Web
type AZSpec ¶
type AZSpec struct {
// Subscription is a list of one or more subscriptions used during provisioning.
// The first subscription is the default subscription.
Subscription []AZSubscription `json:"subscription,omitempty"`
// ResourceGroup
ResourceGroup string `json:"resourceGroup,omitempty"`
// VNet CIDR is the network range used by one or more clusters.
VNetCIDR string `json:"vnetCIDR,omitempty"`
// DNS is an optional list of custom DNS servers.
// (VM's in VNet need to be restarted to propagate changes to this value)
// +optional
DNS []string `json:"dns,omitempty"`
// Subnet newbits is the number of bits to add to the VNet address mask to produce the subnet mask.
// IOW 2^subnetNewbits-1 is the max number of clusters in the VNet.
// For example given a /16 VNetCIDR and subnetNewbits=4 would result in /20 subnets.
SubnetNewbits int32 `json:"subnetNewbits,omitempty"`
// Outbound sets the network outbound type.
// Valid values are:
// - loadBalancer (default)
// - userDefinedRouting
// +kubebuilder:validation:Enum=loadBalancer;userDefinedRouting
Outbound AZOutbound `json:"outbound,omitempty"`
// Routes is an optional list of routes
// +optional
Routes []AZRoute `json:"routes,omitempty"`
}
AZSpec defines Azure specific infra structure settings.
func (*AZSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AZSpec.
func (*AZSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AZSubscription ¶
type AZSubscription struct {
// Name of the subscription.
Name string `json:"name,omitempty"`
// ID of the subscription.
ID string `json:"id,omitempty"`
}
AZSubscription is an Azure Subscription.
func (*AZSubscription) DeepCopy ¶
func (in *AZSubscription) DeepCopy() *AZSubscription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AZSubscription.
func (*AZSubscription) DeepCopyInto ¶
func (in *AZSubscription) DeepCopyInto(out *AZSubscription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAZSpec ¶
type ClusterAZSpec struct {
// AvailabilityZones are the zones in a region over which nodes and control plane are spread.
// For example [1,2,3]
// +optional
AvailabilityZones []int32 `json:"availabilityZones,omitempty"`
// SKU (stock keeping unit) sets the SLA on the AKS control plane.
// Valid values are:
// - Free (default)
// - Paid
// +optional
// +kubebuilder:validation:Enum=Free;Paid
SKU AZSKU `json:"sku,omitempty"`
// ServiceEndpoints provide direct connectivity to Azure services over the Azure backbone network.
// This is an optional list of one or more of the following values:
// Microsoft.AzureActiveDirectory, Microsoft.AzureCosmosDB, Microsoft.ContainerRegistry, Microsoft.EventHub,
// Microsoft.KeyVault, Microsoft.ServiceBus, Microsoft.Sql, Microsoft.Storage and Microsoft.Web
// +optional
ServiceEndpoints []AZServiceEndpoint `json:"serviceEndpoints,omitempty"`
// LogAnalyticsWorkspace is a sink for Kubernetes control plane log data.
// This is an optional value.
// +optional
LogAnalyticsWorkspace *LogAnalyticsWorkspace `json:"logAnalyticsWorkspace,omitempty"`
}
ClusterAZSpec contains Azure specific values for clusters.
func (*ClusterAZSpec) DeepCopy ¶
func (in *ClusterAZSpec) DeepCopy() *ClusterAZSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAZSpec.
func (*ClusterAZSpec) DeepCopyInto ¶
func (in *ClusterAZSpec) DeepCopyInto(out *ClusterAZSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAddonSpec ¶
type ClusterAddonSpec struct {
// Schedule is a CRON formatted string defining when changed can be applied.
// If the schedule is omitted then changes will be applied immediately.
// +optional
Schedule string `json:"schedule,omitempty"`
// Source is the repository that contains the k8s addons resources.
Source SourceSpec `json:"source,omitempty"`
// Jobs is an array of paths to job files in the source tree.
Jobs []string `json:"jobs,omitempty"`
// MKV is the path to a directory in the source tree that specifies the master key vault to use.
MKV string `json:"mkv,omitempty"`
// X are extension values (when regular values don't fit the need)
// +optional
X map[string]string `json:"x,omitempty"`
}
ClusterAddonSpec defines what K8s resources needs to be deployed in a cluster after creation.
func (*ClusterAddonSpec) DeepCopy ¶
func (in *ClusterAddonSpec) DeepCopy() *ClusterAddonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAddonSpec.
func (*ClusterAddonSpec) DeepCopyInto ¶
func (in *ClusterAddonSpec) DeepCopyInto(out *ClusterAddonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterInfraSpec ¶
type ClusterInfraSpec struct {
// Cluster ordinal number starting at 1.
// (max 2^subnetNewbits-1)
// +kubebuilder:validation:Minimum=1
SubnetNum int32 `json:"subnetNum,omitempty"`
// Kubernetes version.
Version string `json:"version,omitempty"`
// Cluster worker pools.
// NB. For AKS a pool named 'default' must be defined.
Pools map[string]NodepoolSpec `json:"pools,omitempty"`
// AZ contains Azure specific values for clusters.
// +optional
AZ ClusterAZSpec `json:"az,omitempty"`
// X are extension values (when regular values don't fit the need)
// +optional
X map[string]string `json:"x,omitempty"`
}
ClusterInfraSpec defines cluster specific infrastructure.
func (*ClusterInfraSpec) DeepCopy ¶
func (in *ClusterInfraSpec) DeepCopy() *ClusterInfraSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInfraSpec.
func (*ClusterInfraSpec) DeepCopyInto ¶
func (in *ClusterInfraSpec) DeepCopyInto(out *ClusterInfraSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSpec ¶
type ClusterSpec struct {
// Name is the cluster name.
Name string `json:"name,omitempty"`
// Infra defines cluster specific infrastructure.
Infra ClusterInfraSpec `json:"infra,omitempty"`
// ClusterAddonSpec defines the Kubernetes resources to deploy to have a functioning cluster.
Addons ClusterAddonSpec `json:"addons,omitempty"`
}
ClusterSpec defines cluster specific infra and k8s resources.
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Environment ¶
type Environment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EnvironmentSpec `json:"spec,omitempty"`
Status EnvironmentStatus `json:"status,omitempty"`
}
Environment is an environment at a cloud-provider with one or more Kubernetes clusters, addons, conformance tested.
func (*Environment) DeepCopy ¶
func (in *Environment) DeepCopy() *Environment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Environment.
func (*Environment) DeepCopyInto ¶
func (in *Environment) DeepCopyInto(out *Environment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Environment) DeepCopyObject ¶
func (in *Environment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnvironmentCondition ¶
type EnvironmentCondition struct {
// Type of condition in CamelCase.
// +required
Type string `json:"type" protobuf:"bytes,1,opt,name=type"`
// Status of the condition, one of True, False, Unknown.
// +required
Status metav1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status"`
// Last time the condition transitioned from one status to another.
// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
// +required
LastTransitionTime metav1.Time `json:"lastTransitionTime" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// The reason for the condition's last transition in CamelCase.
// +required
Reason EnvironmentConditionReason `json:"reason" protobuf:"bytes,4,opt,name=reason"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
EnvironmentCondition provides a synopsis of the current environment state. See KEP sig-api-machinery/1623-standardize-conditions is going to introduce it as k8s.io/apimachinery/pkg/apis/meta/v1
func (*EnvironmentCondition) DeepCopy ¶
func (in *EnvironmentCondition) DeepCopy() *EnvironmentCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentCondition.
func (*EnvironmentCondition) DeepCopyInto ¶
func (in *EnvironmentCondition) DeepCopyInto(out *EnvironmentCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvironmentConditionReason ¶
type EnvironmentConditionReason string
EnvironmentConditionReason is the reason for the condition change.
const ( ReasonRunning EnvironmentConditionReason = "Running" ReasonReady EnvironmentConditionReason = "Ready" ReasonFailed EnvironmentConditionReason = "Failed" )
type EnvironmentList ¶
type EnvironmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Environment `json:"items"`
}
EnvironmentList contains a list of Environments.
func (*EnvironmentList) DeepCopy ¶
func (in *EnvironmentList) DeepCopy() *EnvironmentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentList.
func (*EnvironmentList) DeepCopyInto ¶
func (in *EnvironmentList) DeepCopyInto(out *EnvironmentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvironmentList) DeepCopyObject ¶
func (in *EnvironmentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnvironmentSourceType ¶
type EnvironmentSourceType string
EnvironmentSourceType is the type of repository to use as a source. Valid values are: - SourceTypeGIT (default) - SourceTypeLocal +kubebuilder:validation:Enum=git;local
const ( // SourceTypeGIT specifies a source repository of type GIT. SourceTypeGIT EnvironmentSourceType = "git" // SourceTypeLocal specifies a source repository of type local filesystem. SourceTypeLocal EnvironmentSourceType = "local" )
type EnvironmentSpec ¶
type EnvironmentSpec struct {
// Destroy is true when an environment needs to be removed.
// Typically used in cluster delete/create test cases.
// (in addition to destroy: true a budget.deleteLimit: 99 is required)
Destroy bool `json:"destroy,omitempty"`
// Infra defines infrastructure that much exist before clusters can be created.
Infra InfraSpec `json:"infra,omitempty"`
// Defaults defines the values common to all Clusters.
Defaults ClusterSpec `json:"defaults,omitempty"`
// Clusters defines the values specific for each cluster instance.
Clusters []ClusterSpec `json:"clusters,omitempty"`
}
EnvironmentSpec defines the desired state of an Environment.
func (*EnvironmentSpec) DeepCopy ¶
func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSpec.
func (*EnvironmentSpec) DeepCopyInto ¶
func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvironmentStatus ¶
type EnvironmentStatus struct {
// Conditions are a synopsis of the StepStates.
// +optional
Conditions []EnvironmentCondition `json:"conditions,omitempty"`
// Step contains the latest available observations of the Environment's state.
Steps map[string]StepStatus `json:"steps,omitempty"`
}
EnvironmentStatus defines the observed state of an Environment.
func (*EnvironmentStatus) DeepCopy ¶
func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentStatus.
func (*EnvironmentStatus) DeepCopyInto ¶
func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InfraBudget ¶
type InfraBudget struct {
// AddLimit is the maximum number of resources that the operator is allowed to add.
// Exceeded this number will result in an error.
// +optional
AddLimit *int32 `json:"addLimit,omitempty"`
// UpdateLimit is the maximum number of resources that the operator is allowed to update.
// Exceeded this number will result in an error.
// +optional
UpdateLimit *int32 `json:"updateLimit,omitempty"`
// DeleteLimit is the maximum number of resources that the operator is allowed to delete.
// Exceeded this number will result in an error.
// +optional
DeleteLimit *int32 `json:"deleteLimit,omitempty"`
}
InfraBudget defines how many changes the operator is allowed to make.
func (*InfraBudget) DeepCopy ¶
func (in *InfraBudget) DeepCopy() *InfraBudget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraBudget.
func (*InfraBudget) DeepCopyInto ¶
func (in *InfraBudget) DeepCopyInto(out *InfraBudget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InfraSpec ¶
type InfraSpec struct {
// EnvName is the name of this environment.
// Typically a concatenation of region, cloud provider and environment type (test, production).
EnvName string `json:"envName,omitempty"`
// EnvDomain is the most significant part of the domain name for this environment.
// For example; example.com
EnvDomain string `json:"envDomain,omitempty"`
// Budget defines how many changes the operator is allowed to apply to the infra.
// If the budget spec is omitted any number of changes is allowed.
// +optional
Budget InfraBudget `json:"budget,omitempty"`
// Schedule is a CRON formatted string defining when changed can be applied.
// If the schedule is omitted then changes will be applied immediately.
// +optional
Schedule string `json:"schedule,omitempty"`
// Source is the repository that contains Terraform infrastructure code.
Source SourceSpec `json:"source,omitempty"`
// Main is the path in the source tree to the directory containing main.tf.
Main string `json:"main,omitempty"`
// State is where Terraform state is stored.
// If the state spec is omitted the state is stored locally.
// +optional
State StateSpec `json:"state,omitempty"`
// AAD is the Azure Active Directory that is queried when a k8s user authorization is checked.
AAD AADSpec `json:"aad,omitempty"`
// AZ contains Azure specific values.
// +optional
AZ AZSpec `json:"az,omitempty"`
// X are extension values (when regular values don't fit the need)
// +optional
X map[string]string `json:"x,omitempty"`
}
InfraSpec defines the infrastructure that is used by all clusters.
func (*InfraSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraSpec.
func (*InfraSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogAnalyticsWorkspace ¶
type LogAnalyticsWorkspace struct {
// SubscriptionName of the Log Analytics workspace.
// This name refers to infra.az.subscription list of subscriptions.
SubscriptionName string `json:"subscriptionName,omitempty"`
// ResourceGroup name of the Log Analytics workspace.
ResourceGroupName string `json:"resourceGroupName,omitempty"`
// Name of the Log Analytics workspace.
Name string `json:"name,omitempty"`
}
AZLogAnalyticsWorkspace defines a sink for Kubernetes control plane log data.
func (*LogAnalyticsWorkspace) DeepCopy ¶
func (in *LogAnalyticsWorkspace) DeepCopy() *LogAnalyticsWorkspace
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogAnalyticsWorkspace.
func (*LogAnalyticsWorkspace) DeepCopyInto ¶
func (in *LogAnalyticsWorkspace) DeepCopyInto(out *LogAnalyticsWorkspace)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodepoolSpec ¶
type NodepoolSpec struct {
// Mode selects the purpose of a pool; User (default) or System.
// AKS doc https://docs.microsoft.com/en-us/azure/aks/use-system-pools
// +optional
// +kubebuilder:validation:Enum=System;User
Mode string `json:"mode,omitempty"`
// An optional map of Kubernetes node labels.
// Changing this forces a new resource to be created.
// +optional
NodeLabels map[string]string `json:"nodeLabels,omitempty"`
// An optional list of Kubernetes node taints (e.g CriticalAddonsOnly=true:NoSchedule).
// Changing this forces a new resource to be created.
// +optional
NodeTaints []string `json:"nodeTaints,omitempty"`
// Type of VM's.
// Changing this forces a new resource to be created.
VMSize string `json:"vmSize,omitempty"`
// Max number of Pods per VM.
// Changing this forces a new resource to be created.
// +kubebuilder:validation:Minimum=10
// +kubebuilder:validation:Maximum=250
MaxPods int32 `json:"maxPods,omitempty"`
// Number of VM's.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=100
Scale int32 `json:"scale,omitempty"`
// Max number of VM's.
// Setting MaxScale > Scale enables autoscaling.
// +optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=100
MaxScale int32 `json:"maxScale,omitempty"`
}
NodepoolSpec defines a cluster worker node pool.
func (*NodepoolSpec) DeepCopy ¶
func (in *NodepoolSpec) DeepCopy() *NodepoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodepoolSpec.
func (*NodepoolSpec) DeepCopyInto ¶
func (in *NodepoolSpec) DeepCopyInto(out *NodepoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceSpec ¶
type SourceSpec struct {
// Type is the type of repository to use as a source.
// Valid values are:
// - "git" (default): GIT repository.
// - "local": local filesystem.
// +optional
Type EnvironmentSourceType `json:"type,omitempty"`
// For type=git URL is the URL of the repo.
// When Token is specified the URL is expected to start with 'https://'.
//
// For type=local URL is path to a directory.
// +optional
URL string `json:"url"`
// Ref is the reference to the content to get.
// For type=git it can be 'master', 'refs/heads/my-branch' etc, see 'git reference' doc.
// +optional
Ref string `json:"ref"`
// Token is used to authenticate with the remote server.
// For Type=git a token should be specified (azure devops requires the token to be prefixed with 'x:')
// or an ~/.ssh key should be present.
// +optional
Token string `json:"token,omitempty"`
}
SourceSpec defines the location to fetch content like configuration scripts and tests from.
func (*SourceSpec) DeepCopy ¶
func (in *SourceSpec) DeepCopy() *SourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceSpec.
func (*SourceSpec) DeepCopyInto ¶
func (in *SourceSpec) DeepCopyInto(out *SourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StateSpec ¶
type StateSpec struct {
// StorageAccount is the name of the Storage Account.
StorageAccount string `json:"storageAccount,omitempty"`
// Access is the secret that allows access to the storage account
// or a reference to that secret in the form "vault secret-name field-name"
Access string `json:"access,omitempty"`
}
StateSpec specifies where to find the Terraform state storage. +optional
func (*StateSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StateSpec.
func (*StateSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepStatus ¶
type StepStatus struct {
// Last time the state transitioned.
// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
// +required
LastTransitionTime metav1.Time `json:"lastTransitionTime"`
// The reason for the StepState's last transition in CamelCase.
// +required
State StepState `json:"state"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty"`
// An opaque value representing the config/parameters applied by a step.
// Only valid when state=Ready.
Hash string `json:"hash,omitempty"`
}
StepStatus is the last observed status of a Step.
func (*StepStatus) DeepCopy ¶
func (in *StepStatus) DeepCopy() *StepStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepStatus.
func (*StepStatus) DeepCopyInto ¶
func (in *StepStatus) DeepCopyInto(out *StepStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.