Documentation ¶
Overview ¶
Package v1 contains core API types used by most Crossplane resources. +kubebuilder:object:generate=true
Index ¶
- Constants
- type CommonCredentialSelectors
- type CompositeDeletePolicy
- type Condition
- type ConditionReason
- type ConditionType
- type ConditionedStatus
- func (in *ConditionedStatus) DeepCopy() *ConditionedStatus
- func (in *ConditionedStatus) DeepCopyInto(out *ConditionedStatus)
- func (s *ConditionedStatus) Equal(other *ConditionedStatus) bool
- func (s *ConditionedStatus) GetCondition(ct ConditionType) Condition
- func (s *ConditionedStatus) SetConditions(c ...Condition)
- type ConnectionSecretMetadata
- type CredentialsSource
- type DeletionPolicy
- type EnvSelector
- type FsSelector
- type KubernetesAuthConfig
- type KubernetesSecretStoreConfig
- type LocalSecretReference
- type MergeOptions
- type Policy
- type ProviderConfigStatus
- type ProviderConfigUsage
- type PublishConnectionDetailsTo
- type Reference
- type ResolutionPolicy
- type ResolvePolicy
- type ResourceSpec
- type ResourceStatus
- type SecretKeySelector
- type SecretReference
- type SecretStoreConfig
- type SecretStoreType
- type Selector
- type TargetSpec
- type TargetStatus
- type TypedReference
- func (in *TypedReference) DeepCopy() *TypedReference
- func (in *TypedReference) DeepCopyInto(out *TypedReference)
- func (obj *TypedReference) GetObjectKind() schema.ObjectKind
- func (obj *TypedReference) GroupVersionKind() schema.GroupVersionKind
- func (obj *TypedReference) SetGroupVersionKind(gvk schema.GroupVersionKind)
- type UpdatePolicy
- type VaultAuthConfig
- type VaultAuthMethod
- type VaultAuthTokenConfig
- type VaultCABundleConfig
- type VaultKVVersion
- type VaultSecretStoreConfig
Constants ¶
const ( // ResolvePolicyAlways is a resolve option. // When the ResolvePolicy is set to ResolvePolicyAlways the reference will // be tried to resolve for every reconcile loop. ResolvePolicyAlways ResolvePolicy = "Always" // ResolutionPolicyRequired is a resolution option. // When the ResolutionPolicy is set to ResolutionPolicyRequired the execution // could not continue even if the reference cannot be resolved. ResolutionPolicyRequired ResolutionPolicy = "Required" // ResolutionPolicyOptional is a resolution option. // When the ReferenceResolutionPolicy is set to ReferencePolicyOptional the // execution could continue even if the reference cannot be resolved. ResolutionPolicyOptional ResolutionPolicy = "Optional" )
const ( // ResourceCredentialsSecretEndpointKey is the key inside a connection secret for the connection endpoint ResourceCredentialsSecretEndpointKey = "endpoint" // ResourceCredentialsSecretPortKey is the key inside a connection secret for the connection port ResourceCredentialsSecretPortKey = "port" // ResourceCredentialsSecretUserKey is the key inside a connection secret for the connection user ResourceCredentialsSecretUserKey = "username" // ResourceCredentialsSecretPasswordKey is the key inside a connection secret for the connection password ResourceCredentialsSecretPasswordKey = "password" // ResourceCredentialsSecretCAKey is the key inside a connection secret for the server CA certificate ResourceCredentialsSecretCAKey = "clusterCA" // ResourceCredentialsSecretClientCertKey is the key inside a connection secret for the client certificate ResourceCredentialsSecretClientCertKey = "clientCert" // ResourceCredentialsSecretClientKeyKey is the key inside a connection secret for the client key ResourceCredentialsSecretClientKeyKey = "clientKey" // ResourceCredentialsSecretTokenKey is the key inside a connection secret for the bearer token value ResourceCredentialsSecretTokenKey = "token" // ResourceCredentialsSecretKubeconfigKey is the key inside a connection secret for the raw kubeconfig yaml ResourceCredentialsSecretKubeconfigKey = "kubeconfig" )
const ( // LabelKeyOwnerUID is the UID of the owner resource of a connection secret. // Kubernetes provides owner/controller references to track ownership of // resources including secrets, however, this would only work for in cluster // k8s secrets. We opted to use a label for this purpose to be consistent // across Secret Store implementations and expect all to support // setting/getting labels. LabelKeyOwnerUID = "secret.crossplane.io/owner-uid" )
const LabelKeyProviderName = "crossplane.io/provider-config"
LabelKeyProviderName is added to ProviderConfigUsages to relate them to their ProviderConfig.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommonCredentialSelectors ¶ added in v0.13.0
type CommonCredentialSelectors struct { // Fs is a reference to a filesystem location that contains credentials that // must be used to connect to the provider. // +optional Fs *FsSelector `json:"fs,omitempty"` // Env is a reference to an environment variable that contains credentials // that must be used to connect to the provider. // +optional Env *EnvSelector `json:"env,omitempty"` // A SecretRef is a reference to a secret key that contains the credentials // that must be used to connect to the provider. // +optional SecretRef *SecretKeySelector `json:"secretRef,omitempty"` }
CommonCredentialSelectors provides common selectors for extracting credentials.
func (*CommonCredentialSelectors) DeepCopy ¶ added in v0.13.0
func (in *CommonCredentialSelectors) DeepCopy() *CommonCredentialSelectors
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonCredentialSelectors.
func (*CommonCredentialSelectors) DeepCopyInto ¶ added in v0.13.0
func (in *CommonCredentialSelectors) DeepCopyInto(out *CommonCredentialSelectors)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositeDeletePolicy ¶ added in v0.19.0
type CompositeDeletePolicy string
A CompositeDeletePolicy determines how the composite resource should be deleted when the corresponding claim is deleted. +kubebuilder:validation:Enum=Background;Foreground
const ( // CompositeDeleteBackground means the composite resource will be deleted using // the Background Propagation Policy when the claim is deleted. CompositeDeleteBackground CompositeDeletePolicy = "Background" // CompositeDeleteForeground means the composite resource will be deleted using // the Foreground Propagation Policy when the claim is deleted. CompositeDeleteForeground CompositeDeletePolicy = "Foreground" )
type Condition ¶
type Condition struct { // Type of this condition. At most one of each condition type may apply to // a resource at any point in time. Type ConditionType `json:"type"` // Status of this condition; is it currently True, False, or Unknown? Status corev1.ConditionStatus `json:"status"` // LastTransitionTime is the last time this condition transitioned from one // status to another. LastTransitionTime metav1.Time `json:"lastTransitionTime"` // A Reason for this condition's last transition from one status to another. Reason ConditionReason `json:"reason"` // A Message containing details about this condition's last transition from // one status to another, if any. // +optional Message string `json:"message,omitempty"` }
A Condition that may apply to a resource.
func Available ¶
func Available() Condition
Available returns a condition that indicates the resource is currently observed to be available for use.
func Creating ¶
func Creating() Condition
Creating returns a condition that indicates the resource is currently being created.
func Deleting ¶
func Deleting() Condition
Deleting returns a condition that indicates the resource is currently being deleted.
func ReconcileError ¶
ReconcileError returns a condition indicating that Crossplane encountered an error while reconciling the resource. This could mean Crossplane was unable to update the resource to reflect its desired state, or that Crossplane was unable to determine the current actual state of the resource.
func ReconcilePaused ¶ added in v0.19.0
func ReconcilePaused() Condition
ReconcilePaused returns a condition that indicates reconciliation on the managed resource is paused via the pause annotation.
func ReconcileSuccess ¶
func ReconcileSuccess() Condition
ReconcileSuccess returns a condition indicating that Crossplane successfully completed the most recent reconciliation of the resource.
func Unavailable ¶
func Unavailable() Condition
Unavailable returns a condition that indicates the resource is not currently available for use. Unavailable should be set only when Crossplane expects the resource to be available but knows it is not, for example because its API reports it is unhealthy.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Condition) Equal ¶
Equal returns true if the condition is identical to the supplied condition, ignoring the LastTransitionTime.
func (Condition) WithMessage ¶
WithMessage returns a condition by adding the provided message to existing condition.
type ConditionReason ¶
type ConditionReason string
A ConditionReason represents the reason a resource is in a condition.
const ( ReasonAvailable ConditionReason = "Available" ReasonCreating ConditionReason = "Creating" ReasonDeleting ConditionReason = "Deleting" )
Reasons a resource is or is not ready.
const ( ReasonReconcileSuccess ConditionReason = "ReconcileSuccess" ReasonReconcileError ConditionReason = "ReconcileError" ReasonReconcilePaused ConditionReason = "ReconcilePaused" )
Reasons a resource is or is not synced.
type ConditionType ¶
type ConditionType string
A ConditionType represents a condition a resource could be in.
const ( // TypeReady resources are believed to be ready to handle work. TypeReady ConditionType = "Ready" // TypeSynced resources are believed to be in sync with the // Kubernetes resources that manage their lifecycle. TypeSynced ConditionType = "Synced" )
Condition types.
type ConditionedStatus ¶
type ConditionedStatus struct { // Conditions of the resource. // +optional Conditions []Condition `json:"conditions,omitempty"` }
A ConditionedStatus reflects the observed status of a resource. Only one condition of each type may exist.
func NewConditionedStatus ¶
func NewConditionedStatus(c ...Condition) *ConditionedStatus
NewConditionedStatus returns a stat with the supplied conditions set.
func (*ConditionedStatus) DeepCopy ¶
func (in *ConditionedStatus) DeepCopy() *ConditionedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionedStatus.
func (*ConditionedStatus) DeepCopyInto ¶
func (in *ConditionedStatus) DeepCopyInto(out *ConditionedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConditionedStatus) Equal ¶
func (s *ConditionedStatus) Equal(other *ConditionedStatus) bool
Equal returns true if the status is identical to the supplied status, ignoring the LastTransitionTimes and order of statuses.
func (*ConditionedStatus) GetCondition ¶
func (s *ConditionedStatus) GetCondition(ct ConditionType) Condition
GetCondition returns the condition for the given ConditionType if exists, otherwise returns nil
func (*ConditionedStatus) SetConditions ¶
func (s *ConditionedStatus) SetConditions(c ...Condition)
SetConditions sets the supplied conditions, replacing any existing conditions of the same type. This is a no-op if all supplied conditions are identical, ignoring the last transition time, to those already set.
type ConnectionSecretMetadata ¶ added in v0.16.0
type ConnectionSecretMetadata struct { // Labels are the labels/tags to be added to connection secret. // - For Kubernetes secrets, this will be used as "metadata.labels". // - It is up to Secret Store implementation for others store types. // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations are the annotations to be added to connection secret. // - For Kubernetes secrets, this will be used as "metadata.annotations". // - It is up to Secret Store implementation for others store types. // +optional Annotations map[string]string `json:"annotations,omitempty"` // Type is the SecretType for the connection secret. // - Only valid for Kubernetes Secret Stores. // +optional Type *corev1.SecretType `json:"type,omitempty"` }
ConnectionSecretMetadata represents metadata of a connection secret. Labels are used to track ownership of connection secrets and has to be supported for any secret store implementation.
func (*ConnectionSecretMetadata) DeepCopy ¶ added in v0.16.0
func (in *ConnectionSecretMetadata) DeepCopy() *ConnectionSecretMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionSecretMetadata.
func (*ConnectionSecretMetadata) DeepCopyInto ¶ added in v0.16.0
func (in *ConnectionSecretMetadata) DeepCopyInto(out *ConnectionSecretMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConnectionSecretMetadata) GetOwnerUID ¶ added in v0.16.0
func (in *ConnectionSecretMetadata) GetOwnerUID() string
GetOwnerUID gets owner object uid.
func (*ConnectionSecretMetadata) SetOwnerUID ¶ added in v0.16.0
func (in *ConnectionSecretMetadata) SetOwnerUID(uid types.UID)
SetOwnerUID sets owner object uid label.
type CredentialsSource ¶
type CredentialsSource string
A CredentialsSource is a source from which provider credentials may be acquired.
const ( // CredentialsSourceNone indicates that a provider does not require // credentials. CredentialsSourceNone CredentialsSource = "None" // CredentialsSourceSecret indicates that a provider should acquire // credentials from a secret. CredentialsSourceSecret CredentialsSource = "Secret" // CredentialsSourceInjectedIdentity indicates that a provider should use // credentials via its (pod's) identity; i.e. via IRSA for AWS, // Workload Identity for GCP, Pod Identity for Azure, or in-cluster // authentication for the Kubernetes API. CredentialsSourceInjectedIdentity CredentialsSource = "InjectedIdentity" // CredentialsSourceEnvironment indicates that a provider should acquire // credentials from an environment variable. CredentialsSourceEnvironment CredentialsSource = "Environment" // CredentialsSourceFilesystem indicates that a provider should acquire // credentials from the filesystem. CredentialsSourceFilesystem CredentialsSource = "Filesystem" )
type DeletionPolicy ¶
type DeletionPolicy string
A DeletionPolicy determines what should happen to the underlying external resource when a managed resource is deleted. +kubebuilder:validation:Enum=Orphan;Delete
const ( // DeletionOrphan means the external resource will orphaned when its managed // resource is deleted. DeletionOrphan DeletionPolicy = "Orphan" // DeletionDelete means both the external resource will be deleted when its // managed resource is deleted. DeletionDelete DeletionPolicy = "Delete" )
type EnvSelector ¶ added in v0.13.0
type EnvSelector struct { // Name is the name of an environment variable. Name string `json:"name"` }
EnvSelector selects an environment variable.
func (*EnvSelector) DeepCopy ¶ added in v0.13.0
func (in *EnvSelector) DeepCopy() *EnvSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvSelector.
func (*EnvSelector) DeepCopyInto ¶ added in v0.13.0
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 ¶ added in v0.13.0
type FsSelector struct { // Path is a filesystem path. Path string `json:"path"` }
FsSelector selects a filesystem location.
func (*FsSelector) DeepCopy ¶ added in v0.13.0
func (in *FsSelector) DeepCopy() *FsSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FsSelector.
func (*FsSelector) DeepCopyInto ¶ added in v0.13.0
func (in *FsSelector) DeepCopyInto(out *FsSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesAuthConfig ¶ added in v0.16.0
type KubernetesAuthConfig struct { // Source of the credentials. // +kubebuilder:validation:Enum=None;Secret;Environment;Filesystem Source CredentialsSource `json:"source"` // CommonCredentialSelectors provides common selectors for extracting // credentials. CommonCredentialSelectors `json:",inline"` }
KubernetesAuthConfig required to authenticate to a K8s API. It expects a "kubeconfig" file to be provided.
func (*KubernetesAuthConfig) DeepCopy ¶ added in v0.16.0
func (in *KubernetesAuthConfig) DeepCopy() *KubernetesAuthConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesAuthConfig.
func (*KubernetesAuthConfig) DeepCopyInto ¶ added in v0.16.0
func (in *KubernetesAuthConfig) DeepCopyInto(out *KubernetesAuthConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesSecretStoreConfig ¶ added in v0.16.0
type KubernetesSecretStoreConfig struct { // Credentials used to connect to the Kubernetes API. Auth KubernetesAuthConfig `json:"auth"` }
KubernetesSecretStoreConfig represents the required configuration for a Kubernetes secret store.
func (*KubernetesSecretStoreConfig) DeepCopy ¶ added in v0.16.0
func (in *KubernetesSecretStoreConfig) DeepCopy() *KubernetesSecretStoreConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesSecretStoreConfig.
func (*KubernetesSecretStoreConfig) DeepCopyInto ¶ added in v0.16.0
func (in *KubernetesSecretStoreConfig) DeepCopyInto(out *KubernetesSecretStoreConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalSecretReference ¶
type LocalSecretReference struct { // Name of the secret. Name string `json:"name"` }
A LocalSecretReference is a reference to a secret in the same namespace as the referencer.
func (*LocalSecretReference) DeepCopy ¶
func (in *LocalSecretReference) DeepCopy() *LocalSecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSecretReference.
func (*LocalSecretReference) DeepCopyInto ¶
func (in *LocalSecretReference) DeepCopyInto(out *LocalSecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MergeOptions ¶ added in v0.15.0
type MergeOptions struct { // Specifies that already existing values in a merged map should be preserved // +optional KeepMapValues *bool `json:"keepMapValues,omitempty"` // Specifies that already existing elements in a merged slice should be preserved // +optional AppendSlice *bool `json:"appendSlice,omitempty"` }
MergeOptions Specifies merge options on a field path
func (*MergeOptions) DeepCopy ¶ added in v0.15.0
func (in *MergeOptions) DeepCopy() *MergeOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MergeOptions.
func (*MergeOptions) DeepCopyInto ¶ added in v0.15.0
func (in *MergeOptions) DeepCopyInto(out *MergeOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MergeOptions) IsAppendSlice ¶ added in v0.15.0
func (mo *MergeOptions) IsAppendSlice() bool
IsAppendSlice returns true if mo.AppendSlice is set to true
func (*MergeOptions) MergoConfiguration ¶ added in v0.15.0
func (mo *MergeOptions) MergoConfiguration() []func(*mergo.Config)
MergoConfiguration the default behavior is to replace maps and slices
type Policy ¶ added in v0.17.0
type Policy struct { // Resolve specifies when this reference should be resolved. The default // is 'IfNotPresent', which will attempt to resolve the reference only when // the corresponding field is not present. Use 'Always' to resolve the // reference on every reconcile. // +optional // +kubebuilder:validation:Enum=Always;IfNotPresent Resolve *ResolvePolicy `json:"resolve,omitempty"` // Resolution specifies whether resolution of this reference is required. // The default is 'Required', which means the reconcile will fail if the // reference cannot be resolved. 'Optional' means this reference will be // a no-op if it cannot be resolved. // +optional // +kubebuilder:default=Required // +kubebuilder:validation:Enum=Required;Optional Resolution *ResolutionPolicy `json:"resolution,omitempty"` }
Policy represents the Resolve and Resolution policies of Reference instance.
func (*Policy) DeepCopy ¶ added in v0.17.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.
func (*Policy) DeepCopyInto ¶ added in v0.17.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Policy) IsResolutionPolicyOptional ¶ added in v0.17.0
IsResolutionPolicyOptional checks whether the resolution policy of relevant reference is Optional.
func (*Policy) IsResolvePolicyAlways ¶ added in v0.17.0
IsResolvePolicyAlways checks whether the resolution policy of relevant reference is Always.
type ProviderConfigStatus ¶
type ProviderConfigStatus struct { ConditionedStatus `json:",inline"` // Users of this provider configuration. Users int64 `json:"users,omitempty"` }
A ProviderConfigStatus defines the observed status of a ProviderConfig.
func (*ProviderConfigStatus) DeepCopy ¶
func (in *ProviderConfigStatus) DeepCopy() *ProviderConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderConfigStatus.
func (*ProviderConfigStatus) DeepCopyInto ¶
func (in *ProviderConfigStatus) DeepCopyInto(out *ProviderConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderConfigUsage ¶
type ProviderConfigUsage struct { // ProviderConfigReference to the provider config being used. ProviderConfigReference Reference `json:"providerConfigRef"` // ResourceReference to the managed resource using the provider config. ResourceReference TypedReference `json:"resourceRef"` }
A ProviderConfigUsage is a record that a particular managed resource is using a particular provider configuration.
func (*ProviderConfigUsage) DeepCopy ¶
func (in *ProviderConfigUsage) DeepCopy() *ProviderConfigUsage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderConfigUsage.
func (*ProviderConfigUsage) DeepCopyInto ¶
func (in *ProviderConfigUsage) DeepCopyInto(out *ProviderConfigUsage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublishConnectionDetailsTo ¶ added in v0.16.0
type PublishConnectionDetailsTo struct { // Name is the name of the connection secret. Name string `json:"name"` // Metadata is the metadata for connection secret. // +optional Metadata *ConnectionSecretMetadata `json:"metadata,omitempty"` // SecretStoreConfigRef specifies which secret store config should be used // for this ConnectionSecret. // +optional // +kubebuilder:default={"name": "default"} SecretStoreConfigRef *Reference `json:"configRef,omitempty"` }
PublishConnectionDetailsTo represents configuration of a connection secret.
func (*PublishConnectionDetailsTo) DeepCopy ¶ added in v0.16.0
func (in *PublishConnectionDetailsTo) DeepCopy() *PublishConnectionDetailsTo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublishConnectionDetailsTo.
func (*PublishConnectionDetailsTo) DeepCopyInto ¶ added in v0.16.0
func (in *PublishConnectionDetailsTo) DeepCopyInto(out *PublishConnectionDetailsTo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Reference ¶
type Reference struct { // Name of the referenced object. Name string `json:"name"` // Policies for referencing. // +optional Policy *Policy `json:"policy,omitempty"` }
A Reference to a named object.
func (*Reference) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Reference.
func (*Reference) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResolutionPolicy ¶ added in v0.17.0
type ResolutionPolicy string
ResolutionPolicy is a type for resolution policy.
type ResolvePolicy ¶ added in v0.17.0
type ResolvePolicy string
ResolvePolicy is a type for resolve policy.
type ResourceSpec ¶
type ResourceSpec struct { // WriteConnectionSecretToReference specifies the namespace and name of a // Secret to which any connection details for this managed resource should // be written. Connection details frequently include the endpoint, username, // and password required to connect to the managed resource. // This field is planned to be replaced in a future release in favor of // PublishConnectionDetailsTo. Currently, both could be set independently // and connection details would be published to both without affecting // each other. // +optional WriteConnectionSecretToReference *SecretReference `json:"writeConnectionSecretToRef,omitempty"` // PublishConnectionDetailsTo specifies the connection secret config which // contains a name, metadata and a reference to secret store config to // which any connection details for this managed resource should be written. // Connection details frequently include the endpoint, username, // and password required to connect to the managed resource. // +optional PublishConnectionDetailsTo *PublishConnectionDetailsTo `json:"publishConnectionDetailsTo,omitempty"` // ProviderConfigReference specifies how the provider that will be used to // create, observe, update, and delete this managed resource should be // configured. // +kubebuilder:default={"name": "default"} ProviderConfigReference *Reference `json:"providerConfigRef,omitempty"` // ProviderReference specifies the provider that will be used to create, // observe, update, and delete this managed resource. // Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef` ProviderReference *Reference `json:"providerRef,omitempty"` // DeletionPolicy specifies what will happen to the underlying external // when this managed resource is deleted - either "Delete" or "Orphan" the // external resource. // +optional // +kubebuilder:default=Delete DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` }
A ResourceSpec defines the desired state of a managed resource.
func (*ResourceSpec) DeepCopy ¶
func (in *ResourceSpec) DeepCopy() *ResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.
func (*ResourceSpec) DeepCopyInto ¶
func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceStatus ¶
type ResourceStatus struct {
ConditionedStatus `json:",inline"`
}
ResourceStatus represents the observed state of a managed resource.
func (*ResourceStatus) DeepCopy ¶
func (in *ResourceStatus) DeepCopy() *ResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatus.
func (*ResourceStatus) DeepCopyInto ¶
func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretKeySelector ¶
type SecretKeySelector struct { SecretReference `json:",inline"` // The key to select. Key string `json:"key"` }
A SecretKeySelector is a reference to a secret key in an arbitrary namespace.
func (*SecretKeySelector) DeepCopy ¶
func (in *SecretKeySelector) DeepCopy() *SecretKeySelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeySelector.
func (*SecretKeySelector) DeepCopyInto ¶
func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretReference ¶
type SecretReference struct { // Name of the secret. Name string `json:"name"` // Namespace of the secret. Namespace string `json:"namespace"` }
A SecretReference is a reference to a secret in an arbitrary namespace.
func (*SecretReference) DeepCopy ¶
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretStoreConfig ¶ added in v0.16.0
type SecretStoreConfig struct { // Type configures which secret store to be used. Only the configuration // block for this store will be used and others will be ignored if provided. // Default is Kubernetes. // +optional // +kubebuilder:default=Kubernetes Type *SecretStoreType `json:"type,omitempty"` // DefaultScope used for scoping secrets for "cluster-scoped" resources. // If store type is "Kubernetes", this would mean the default namespace to // store connection secrets for cluster scoped resources. // In case of "Vault", this would be used as the default parent path. // Typically, should be set as Crossplane installation namespace. DefaultScope string `json:"defaultScope"` // Kubernetes configures a Kubernetes secret store. // If the "type" is "Kubernetes" but no config provided, in cluster config // will be used. // +optional Kubernetes *KubernetesSecretStoreConfig `json:"kubernetes,omitempty"` // Vault configures a Vault secret store. // +optional Vault *VaultSecretStoreConfig `json:"vault,omitempty"` }
SecretStoreConfig represents configuration of a Secret Store.
func (*SecretStoreConfig) DeepCopy ¶ added in v0.16.0
func (in *SecretStoreConfig) DeepCopy() *SecretStoreConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretStoreConfig.
func (*SecretStoreConfig) DeepCopyInto ¶ added in v0.16.0
func (in *SecretStoreConfig) DeepCopyInto(out *SecretStoreConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretStoreType ¶ added in v0.16.0
type SecretStoreType string
SecretStoreType represents a secret store type.
const ( // SecretStoreKubernetes indicates that secret store type is // Kubernetes. In other words, connection secrets will be stored as K8s // Secrets. SecretStoreKubernetes SecretStoreType = "Kubernetes" // SecretStoreVault indicates that secret store type is Vault. SecretStoreVault SecretStoreType = "Vault" )
type Selector ¶
type Selector struct { // MatchLabels ensures an object with matching labels is selected. MatchLabels map[string]string `json:"matchLabels,omitempty"` // MatchControllerRef ensures an object with the same controller reference // as the selecting object is selected. MatchControllerRef *bool `json:"matchControllerRef,omitempty"` // Policies for selection. // +optional Policy *Policy `json:"policy,omitempty"` }
A Selector selects an object.
func (*Selector) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Selector.
func (*Selector) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetSpec ¶
type TargetSpec struct { // WriteConnectionSecretToReference specifies the name of a Secret, in the // same namespace as this target, to which any connection details for this // target should be written or already exist. Connection secrets referenced // by a target should contain information for connecting to a resource that // allows for scheduling of workloads. // +optional WriteConnectionSecretToReference *LocalSecretReference `json:"connectionSecretRef,omitempty"` // A ResourceReference specifies an existing managed resource, in any // namespace, which this target should attempt to propagate a connection // secret from. // +optional ResourceReference *corev1.ObjectReference `json:"clusterRef,omitempty"` }
A TargetSpec defines the common fields of objects used for exposing infrastructure to workloads that can be scheduled to.
Deprecated.
func (*TargetSpec) DeepCopy ¶
func (in *TargetSpec) DeepCopy() *TargetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSpec.
func (*TargetSpec) DeepCopyInto ¶
func (in *TargetSpec) DeepCopyInto(out *TargetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetStatus ¶
type TargetStatus struct {
ConditionedStatus `json:",inline"`
}
A TargetStatus defines the observed status a target.
Deprecated.
func (*TargetStatus) DeepCopy ¶
func (in *TargetStatus) DeepCopy() *TargetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetStatus.
func (*TargetStatus) DeepCopyInto ¶
func (in *TargetStatus) DeepCopyInto(out *TargetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TypedReference ¶
type TypedReference struct { // APIVersion of the referenced object. APIVersion string `json:"apiVersion"` // Kind of the referenced object. Kind string `json:"kind"` // Name of the referenced object. Name string `json:"name"` // UID of the referenced object. // +optional UID types.UID `json:"uid,omitempty"` }
A TypedReference refers to an object by Name, Kind, and APIVersion. It is commonly used to reference cluster-scoped objects or objects where the namespace is already known.
func (*TypedReference) DeepCopy ¶
func (in *TypedReference) DeepCopy() *TypedReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypedReference.
func (*TypedReference) DeepCopyInto ¶
func (in *TypedReference) DeepCopyInto(out *TypedReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TypedReference) GetObjectKind ¶
func (obj *TypedReference) GetObjectKind() schema.ObjectKind
GetObjectKind get the ObjectKind of a TypedReference.
func (*TypedReference) GroupVersionKind ¶
func (obj *TypedReference) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind gets the GroupVersionKind of a TypedReference.
func (*TypedReference) SetGroupVersionKind ¶
func (obj *TypedReference) SetGroupVersionKind(gvk schema.GroupVersionKind)
SetGroupVersionKind sets the Kind and APIVersion of a TypedReference.
type UpdatePolicy ¶ added in v0.15.0
type UpdatePolicy string
An UpdatePolicy determines how something should be updated - either automatically (without human intervention) or manually. +kubebuilder:validation:Enum=Automatic;Manual
const ( // UpdateAutomatic means the resource should be updated automatically, // without any human intervention. UpdateAutomatic UpdatePolicy = "Automatic" // UpdateManual means the resource requires human intervention to // update. UpdateManual UpdatePolicy = "Manual" )
type VaultAuthConfig ¶ added in v0.16.0
type VaultAuthConfig struct { // Method configures which auth method will be used. Method VaultAuthMethod `json:"method"` // Token configures Token Auth for Vault. // +optional Token *VaultAuthTokenConfig `json:"token,omitempty"` }
VaultAuthConfig required to authenticate to a Vault API.
func (*VaultAuthConfig) DeepCopy ¶ added in v0.16.0
func (in *VaultAuthConfig) DeepCopy() *VaultAuthConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultAuthConfig.
func (*VaultAuthConfig) DeepCopyInto ¶ added in v0.16.0
func (in *VaultAuthConfig) DeepCopyInto(out *VaultAuthConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VaultAuthMethod ¶ added in v0.16.0
type VaultAuthMethod string
VaultAuthMethod represent a Vault authentication method. https://www.vaultproject.io/docs/auth
const ( // VaultAuthToken indicates that "Token Auth" will be used to // authenticate to Vault. // https://www.vaultproject.io/docs/auth/token VaultAuthToken VaultAuthMethod = "Token" )
type VaultAuthTokenConfig ¶ added in v0.16.0
type VaultAuthTokenConfig struct { // Source of the credentials. // +kubebuilder:validation:Enum=None;Secret;Environment;Filesystem Source CredentialsSource `json:"source"` // CommonCredentialSelectors provides common selectors for extracting // credentials. CommonCredentialSelectors `json:",inline"` }
VaultAuthTokenConfig represents configuration for Vault Token Auth Method. https://www.vaultproject.io/docs/auth/token
func (*VaultAuthTokenConfig) DeepCopy ¶ added in v0.16.0
func (in *VaultAuthTokenConfig) DeepCopy() *VaultAuthTokenConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultAuthTokenConfig.
func (*VaultAuthTokenConfig) DeepCopyInto ¶ added in v0.16.0
func (in *VaultAuthTokenConfig) DeepCopyInto(out *VaultAuthTokenConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VaultCABundleConfig ¶ added in v0.16.0
type VaultCABundleConfig struct { // Source of the credentials. // +kubebuilder:validation:Enum=None;Secret;Environment;Filesystem Source CredentialsSource `json:"source"` // CommonCredentialSelectors provides common selectors for extracting // credentials. CommonCredentialSelectors `json:",inline"` }
VaultCABundleConfig represents configuration for configuring a CA bundle.
func (*VaultCABundleConfig) DeepCopy ¶ added in v0.16.0
func (in *VaultCABundleConfig) DeepCopy() *VaultCABundleConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultCABundleConfig.
func (*VaultCABundleConfig) DeepCopyInto ¶ added in v0.16.0
func (in *VaultCABundleConfig) DeepCopyInto(out *VaultCABundleConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VaultKVVersion ¶ added in v0.16.0
type VaultKVVersion string
VaultKVVersion represent API version of the Vault KV engine https://www.vaultproject.io/docs/secrets/kv
const ( // VaultKVVersionV1 indicates that Secret API is KV Secrets Engine Version 1 // https://www.vaultproject.io/docs/secrets/kv/kv-v1 VaultKVVersionV1 VaultKVVersion = "v1" // VaultKVVersionV2 indicates that Secret API is KV Secrets Engine Version 2 // https://www.vaultproject.io/docs/secrets/kv/kv-v2 VaultKVVersionV2 VaultKVVersion = "v2" )
type VaultSecretStoreConfig ¶ added in v0.16.0
type VaultSecretStoreConfig struct { // Server is the url of the Vault server, e.g. "https://vault.acme.org" Server string `json:"server"` // MountPath is the mount path of the KV secrets engine. MountPath string `json:"mountPath"` // Version of the KV Secrets engine of Vault. // https://www.vaultproject.io/docs/secrets/kv // +optional // +kubebuilder:default=v2 Version *VaultKVVersion `json:"version,omitempty"` // CABundle configures CA bundle for Vault Server. // +optional CABundle *VaultCABundleConfig `json:"caBundle,omitempty"` // Auth configures an authentication method for Vault. Auth VaultAuthConfig `json:"auth"` }
VaultSecretStoreConfig represents the required configuration for a Vault secret store.
func (*VaultSecretStoreConfig) DeepCopy ¶ added in v0.16.0
func (in *VaultSecretStoreConfig) DeepCopy() *VaultSecretStoreConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultSecretStoreConfig.
func (*VaultSecretStoreConfig) DeepCopyInto ¶ added in v0.16.0
func (in *VaultSecretStoreConfig) DeepCopyInto(out *VaultSecretStoreConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.