Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package Package v1alpha1 is the v1alpha1 version of the Core ACK API. +groupName=services.k8s.aws
Index ¶
- Constants
- Variables
- type AWSAccountID
- type AWSIdentifiers
- type AWSRegion
- type AWSResourceName
- type AWSResourceReference
- type AWSResourceReferenceWrapper
- type AdoptedResource
- type AdoptedResourceList
- type AdoptedResourceSpec
- type AdoptedResourceStatus
- type Condition
- type ConditionType
- type DeletionPolicy
- type FieldExport
- type FieldExportList
- type FieldExportOutputType
- type FieldExportSpec
- type FieldExportStatus
- type FieldExportTarget
- type NamespacedResource
- type PartialObjectMeta
- type ResourceFieldSelector
- type ResourceMetadata
- type ResourceWithMetadata
- type SecretKeyReference
Constants ¶
const ( // AnnotationPrefix is the prefix for all ACK annotations AnnotationPrefix = "services.k8s.aws/" // AnnotationAdopted is an annotation whose value is a boolean value, // If this annotation is set to true on a CR, that means the user is // indicating to the ACK service controller that it should expect a backend // AWS service API resource to already exist (and that ACK should "adopt" // the resource into its management). If this annotation is set to false on // a CR, that means the user expects the ACK service controller to create // the backend AWS service API resource. AnnotationAdopted = AnnotationPrefix + "adopted" // AnnotationOwnerAccountID is an annotation whose value is the identifier // for the AWS account to which the resource belongs. If this annotation // is set on a CR, the Kubernetes user is indicating that the ACK service // controller should create/patch/delete the resource in the specified AWS // Account. In order for this cross-account resource management to succeed, // the AWS IAM Role that the ACK service controller runs as needs to have // the ability to call the AWS STS::AssumeRole API call and assume an IAM // Role in the target AWS Account. // TODO(jaypipes): Link to documentation on cross-account resource // management AnnotationOwnerAccountID = AnnotationPrefix + "owner-account-id" // AnnotationRegion is an annotation whose value is the identifier for the // the AWS region in which the resources should be created. If this annotation // is set on a CR metadata, that means the user is indicating to the ACK service // controller that the CR should be created on specific region. ACK service // controller will not override the resource region if this annotation is set. AnnotationRegion = AnnotationPrefix + "region" // AnnotationDefaultRegion is an annotation whose value is the identifier // for the default AWS region in which resources should be created. If this // annotation is set on a namespace, the Kubernetes user is indicating that // the ACK service controller should set the regions in which the resource // should be created, if a region annotation is not set on the CR metadata. // If this annotation - and AnnotationRegion - are not set, ACK service // controllers look for controller binary flags and environment variables // injected by POD IRSA, to decide in which region the resources should be // created. AnnotationDefaultRegion = AnnotationPrefix + "default-region" // AnnotationEndpointURL is an annotation whose value is the identifier // for the AWS endpoint in which the service controller will use to create // its resources. If this annotation is set on a namespace, the Kubernetes user // is indicating that the ACK service controller should create its resources using // that specific endpoint. If this annotation is not set, ACK service controller // will either use the default behavior of aws-sdk-go to create endpoints or // aws-endpoint-url if it is set in controller binary flags and environment variables. AnnotationEndpointURL = AnnotationPrefix + "endpoint-url" // AnnotationDeletionPolicy is an annotation whose value is the identifier for the // the deletion policy for the current resource. If this annotation is set // to "delete" the resource manager will delete the AWS resource when the // K8s resource is deleted. If this annotation is set to "retain" the // resource manager will leave the AWS resource intact when the K8s resource // is deleted. AnnotationDeletionPolicy = AnnotationPrefix + "deletion-policy" )
Variables ¶
var ( // GroupVersion is the API Group Version used to register the objects GroupVersion = schema.GroupVersion{Group: "services.k8s.aws", 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 AWSIdentifiers ¶ added in v0.1.0
type AWSIdentifiers struct {
// ARN is the AWS Resource Name for the resource. It is a globally
// unique identifier.
ARN *AWSResourceName `json:"arn,omitempty"`
// NameOrId is a user-supplied string identifier for the resource. It may
// or may not be globally unique, depending on the type of resource.
NameOrID string `json:"nameOrID,omitempty"`
// AdditionalKeys represents any additional arbitrary identifiers used when
// describing the target resource.
AdditionalKeys map[string]string `json:"additionalKeys,omitempty"`
}
AWSIdentifiers provide all unique ways to reference an AWS resource.
func (*AWSIdentifiers) DeepCopy ¶ added in v0.1.0
func (in *AWSIdentifiers) DeepCopy() *AWSIdentifiers
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSIdentifiers.
func (*AWSIdentifiers) DeepCopyInto ¶ added in v0.1.0
func (in *AWSIdentifiers) DeepCopyInto(out *AWSIdentifiers)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSResourceName ¶
type AWSResourceName string
AWSResourceName represents an AWS Resource Name (ARN)
type AWSResourceReference ¶ added in v0.16.0
type AWSResourceReference struct {
Name *string `json:"name,omitempty"`
}
AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name)
func (*AWSResourceReference) DeepCopy ¶ added in v0.16.0
func (in *AWSResourceReference) DeepCopy() *AWSResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSResourceReference.
func (*AWSResourceReference) DeepCopyInto ¶ added in v0.16.0
func (in *AWSResourceReference) DeepCopyInto(out *AWSResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSResourceReferenceWrapper ¶ added in v0.16.0
type AWSResourceReferenceWrapper struct {
From *AWSResourceReference `json:"from,omitempty"`
}
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef:
from: name: my-api
func (*AWSResourceReferenceWrapper) DeepCopy ¶ added in v0.16.0
func (in *AWSResourceReferenceWrapper) DeepCopy() *AWSResourceReferenceWrapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSResourceReferenceWrapper.
func (*AWSResourceReferenceWrapper) DeepCopyInto ¶ added in v0.16.0
func (in *AWSResourceReferenceWrapper) DeepCopyInto(out *AWSResourceReferenceWrapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdoptedResource ¶ added in v0.1.0
type AdoptedResource struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AdoptedResourceSpec `json:"spec,omitempty"`
Status AdoptedResourceStatus `json:"status,omitempty"`
}
AdoptedResource is the schema for the AdoptedResource API. +kubebuilder:object:root=true +kubebuilder:subresource:status
func (*AdoptedResource) DeepCopy ¶ added in v0.1.0
func (in *AdoptedResource) DeepCopy() *AdoptedResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdoptedResource.
func (*AdoptedResource) DeepCopyInto ¶ added in v0.1.0
func (in *AdoptedResource) DeepCopyInto(out *AdoptedResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AdoptedResource) DeepCopyObject ¶ added in v0.1.0
func (in *AdoptedResource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AdoptedResourceList ¶ added in v0.1.0
type AdoptedResourceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AdoptedResource `json:"items"`
}
AdoptedResourceList defines a list of AdoptedResources. +kubebuilder:object:root=true +kubebuilder:printcolumn:name="AdoptionStatus",type=string,JSONPath=`.status.adoptionStatus`
func (*AdoptedResourceList) DeepCopy ¶ added in v0.1.0
func (in *AdoptedResourceList) DeepCopy() *AdoptedResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdoptedResourceList.
func (*AdoptedResourceList) DeepCopyInto ¶ added in v0.1.0
func (in *AdoptedResourceList) DeepCopyInto(out *AdoptedResourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AdoptedResourceList) DeepCopyObject ¶ added in v0.1.0
func (in *AdoptedResourceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AdoptedResourceSpec ¶ added in v0.1.0
type AdoptedResourceSpec struct {
// +kubebuilder:validation:Required
Kubernetes *ResourceWithMetadata `json:"kubernetes"`
// +kubebuilder:validation:Required
AWS *AWSIdentifiers `json:"aws"`
}
AdoptedResourceSpec defines the desired state of the AdoptedResource.
func (*AdoptedResourceSpec) DeepCopy ¶ added in v0.1.0
func (in *AdoptedResourceSpec) DeepCopy() *AdoptedResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdoptedResourceSpec.
func (*AdoptedResourceSpec) DeepCopyInto ¶ added in v0.1.0
func (in *AdoptedResourceSpec) DeepCopyInto(out *AdoptedResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdoptedResourceStatus ¶ added in v0.1.0
type AdoptedResourceStatus struct {
// A collection of `ackv1alpha1.Condition` objects that describe the various
// terminal states of the adopted resource CR and its target custom resource
Conditions []*Condition `json:"conditions"`
}
AdoptedResourceStatus defines the observed status of the AdoptedResource.
func (*AdoptedResourceStatus) DeepCopy ¶ added in v0.1.0
func (in *AdoptedResourceStatus) DeepCopy() *AdoptedResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdoptedResourceStatus.
func (*AdoptedResourceStatus) DeepCopyInto ¶ added in v0.1.0
func (in *AdoptedResourceStatus) DeepCopyInto(out *AdoptedResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Condition ¶
type Condition struct {
// Type is the type of the Condition
Type ConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition.
// +optional
Reason *string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
// +optional
Message *string `json:"message,omitempty"`
}
Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource
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.
type ConditionType ¶
type ConditionType string
ConditionType is a category of ResourceCondition that all CRs managed by an ACK service controller expose in their `Status.Conditions` collection
const ( // ConditionTypeAdopted indicates that the adopted resource custom resource // has been successfully reconciled and the target has been created ConditionTypeAdopted ConditionType = "ACK.Adopted" // ConditionTypeResourceSynced indicates the state of the resource in the // backend service is in sync with the ACK service controller ConditionTypeResourceSynced ConditionType = "ACK.ResourceSynced" // ConditionTypeTerminal indicates that the custom resource Spec need to be // updated before any further sync. // Examples include: // - As a result of InvalidArgument in input yaml // - Resource server state is "create-failed" ConditionTypeTerminal ConditionType = "ACK.Terminal" // ConditionTypeRecoverable indicates that the error may be resolved // without needing to update the custom resource spec and sync will continue. // Examples include: // - ServiceUnavailable errors that are transient // - AccessDeniedException that needs correct credentials ConditionTypeRecoverable ConditionType = "ACK.Recoverable" // ConditionTypeAdvisory indicates any advisory info that may be present in the resource. // Examples include // - Modifying an immutable field after it was created ConditionTypeAdvisory ConditionType = "ACK.Advisory" // ConditionTypeLateInitialized indicates whether the late initialization // of fields is completed or is in progress. // The absence of this condition indicates there is no late initalization // needed for the k8s resource. // "True" status indicates that the resource fields have been late initialized // "False" status indicates that the resource fields are in process of being late initialized. ConditionTypeLateInitialized ConditionType = "ACK.LateInitialized" // ConditionTypeReferencesResolved indicates whether all the references of // type AWSResourceReference have been resolved or not. // // Absence of this condition means there are no references to be resolved. // "True" status indicates that the resource references have been resolved. // "Unknown" status indicates that the resource references are in process of // being resolved // "False" status indicates that the resource references failed to resolve. // For Ex: When referenced resource is in terminal condition ConditionTypeReferencesResolved ConditionType = "ACK.ReferencesResolved" )
type DeletionPolicy ¶ added in v0.22.1
type DeletionPolicy string
DeletionPolicy represents how the ACK reconciler will handle the deletion of a resource. A DeletionPolicy of "delete" will delete the underlying AWS resource, whereas a DeletionPolicy of "retain" will only delete the K8s object leaving the AWS resource intact.
const ( DeletionPolicyDelete DeletionPolicy = "delete" DeletionPolicyRetain DeletionPolicy = "retain" )
func (*DeletionPolicy) Set ¶ added in v0.22.1
func (e *DeletionPolicy) Set(v string) error
func (*DeletionPolicy) String ¶ added in v0.22.1
func (e *DeletionPolicy) String() string
func (*DeletionPolicy) Type ¶ added in v0.22.1
func (e *DeletionPolicy) Type() string
type FieldExport ¶ added in v0.18.0
type FieldExport struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec FieldExportSpec `json:"spec,omitempty"`
Status FieldExportStatus `json:"status,omitempty"`
}
FieldExport is the schema for the FieldExport API. +kubebuilder:object:root=true +kubebuilder:subresource:status
func (*FieldExport) DeepCopy ¶ added in v0.18.0
func (in *FieldExport) DeepCopy() *FieldExport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldExport.
func (*FieldExport) DeepCopyInto ¶ added in v0.18.0
func (in *FieldExport) DeepCopyInto(out *FieldExport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FieldExport) DeepCopyObject ¶ added in v0.18.0
func (in *FieldExport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FieldExportList ¶ added in v0.18.0
type FieldExportList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []FieldExport `json:"items"`
}
FieldExportList defines a list of FieldExports. +kubebuilder:object:root=true
func (*FieldExportList) DeepCopy ¶ added in v0.18.0
func (in *FieldExportList) DeepCopy() *FieldExportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldExportList.
func (*FieldExportList) DeepCopyInto ¶ added in v0.18.0
func (in *FieldExportList) DeepCopyInto(out *FieldExportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FieldExportList) DeepCopyObject ¶ added in v0.18.0
func (in *FieldExportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FieldExportOutputType ¶ added in v0.18.0
type FieldExportOutputType string
FieldExportOutputType represents all types that can be produced by a field export operation +kubebuilder:validation:Enum=configmap;secret
const ( FieldExportOutputTypeConfigMap FieldExportOutputType = "configmap" FieldExportOutputTypeSecret = "secret" )
type FieldExportSpec ¶ added in v0.18.0
type FieldExportSpec struct {
From *ResourceFieldSelector `json:"from"`
To *FieldExportTarget `json:"to"`
}
FieldExportSpec defines the desired state of the FieldExport.
func (*FieldExportSpec) DeepCopy ¶ added in v0.18.0
func (in *FieldExportSpec) DeepCopy() *FieldExportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldExportSpec.
func (*FieldExportSpec) DeepCopyInto ¶ added in v0.18.0
func (in *FieldExportSpec) DeepCopyInto(out *FieldExportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FieldExportStatus ¶ added in v0.18.0
type FieldExportStatus struct {
// A collection of `ackv1alpha1.Condition` objects that describe the various
// recoverable states of the field CR
Conditions []*Condition `json:"conditions"`
}
FieldExportStatus defines the observed status of the FieldExport.
func (*FieldExportStatus) DeepCopy ¶ added in v0.18.0
func (in *FieldExportStatus) DeepCopy() *FieldExportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldExportStatus.
func (*FieldExportStatus) DeepCopyInto ¶ added in v0.18.0
func (in *FieldExportStatus) DeepCopyInto(out *FieldExportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FieldExportTarget ¶ added in v0.18.0
type FieldExportTarget struct {
Name *string `json:"name"`
// Namespace is marked as optional, so we cannot compose `NamespacedName`
Namespace *string `json:"namespace,omitempty"`
Kind FieldExportOutputType `json:"kind"`
// Key overrides the default value (`<namespace>.<FieldExport-resource-name>`) for the FieldExport target
Key *string `json:"key,omitempty"`
}
FieldExportTarget provides the values necessary to identify the output path for a field export.
func (*FieldExportTarget) DeepCopy ¶ added in v0.18.0
func (in *FieldExportTarget) DeepCopy() *FieldExportTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldExportTarget.
func (*FieldExportTarget) DeepCopyInto ¶ added in v0.18.0
func (in *FieldExportTarget) DeepCopyInto(out *FieldExportTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedResource ¶ added in v0.18.0
NamespacedResource provides all the values necessary to identify an ACK resource of a given type (within the same namespace as the custom resource containing this type).
func (*NamespacedResource) DeepCopy ¶ added in v0.18.0
func (in *NamespacedResource) DeepCopy() *NamespacedResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedResource.
func (*NamespacedResource) DeepCopyInto ¶ added in v0.18.0
func (in *NamespacedResource) DeepCopyInto(out *NamespacedResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PartialObjectMeta ¶ added in v0.1.0
type PartialObjectMeta struct {
// Name must be unique within a namespace. Is required when creating resources, although
// some resources may allow a client to request the generation of an appropriate name
// automatically. Name is primarily intended for creation idempotence and configuration
// definition.
// Cannot be updated.
// More info: http://kubernetes.io/docs/user-guide/identifiers#names
// +optional
Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
// GenerateName is an optional prefix, used by the server, to generate a unique
// name ONLY IF the Name field has not been provided.
// If this field is used, the name returned to the client will be different
// than the name passed. This value will also be combined with a unique suffix.
// The provided value has the same validation rules as the Name field,
// and may be truncated by the length of the suffix required to make the value
// unique on the server.
//
// If this field is specified and the generated name exists, the server will
// NOT return a 409 - instead, it will either return 201 Created or 500 with Reason
// ServerTimeout indicating a unique name could not be found in the time allotted, and the client
// should retry (optionally after the time indicated in the Retry-After header).
//
// Applied only if Name is not specified.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency
// +optional
GenerateName string `json:"generateName,omitempty" protobuf:"bytes,2,opt,name=generateName"`
// Namespace defines the space within each name must be unique. An empty namespace is
// equivalent to the "default" namespace, but "default" is the canonical representation.
// Not all objects are required to be scoped to a namespace - the value of this field for
// those objects will be empty.
//
// Must be a DNS_LABEL.
// Cannot be updated.
// More info: http://kubernetes.io/docs/user-guide/namespaces
// +optional
Namespace string `json:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"`
// Map of string keys and values that can be used to organize and categorize
// (scope and select) objects. May match selectors of replication controllers
// and services.
// More info: http://kubernetes.io/docs/user-guide/labels
// +optional
Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,4,rep,name=labels"`
// Annotations is an unstructured key value map stored with a resource that may be
// set by external tools to store and retrieve arbitrary metadata. They are not
// queryable and should be preserved when modifying objects.
// More info: http://kubernetes.io/docs/user-guide/annotations
// +optional
Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,5,rep,name=annotations"`
// List of objects depended by this object. If ALL objects in the list have
// been deleted, this object will be garbage collected. If this object is managed by a controller,
// then an entry in this list will point to this controller, with the controller field set to true.
// There cannot be more than one managing controller.
// +optional
// +patchMergeKey=uid
// +patchStrategy=merge
OwnerReferences []metav1.OwnerReference `json:"ownerReferences,omitempty" patchStrategy:"merge" patchMergeKey:"uid" protobuf:"bytes,6,rep,name=ownerReferences"`
}
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. It is not possible to use `metav1.ObjectMeta` inside spec, as the controller-gen automatically converts this to an arbitrary string-string map. https://github.com/kubernetes-sigs/controller-tools/issues/385
Active discussion about inclusion of this field in the spec is happening in this PR: https://github.com/kubernetes-sigs/controller-tools/pull/395
Until this is allowed, or if it never is, we will produce a subset of the object meta that contains only the fields which the user is allowed to modify in the metadata.
func (*PartialObjectMeta) DeepCopy ¶ added in v0.1.0
func (in *PartialObjectMeta) DeepCopy() *PartialObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PartialObjectMeta.
func (*PartialObjectMeta) DeepCopyInto ¶ added in v0.1.0
func (in *PartialObjectMeta) DeepCopyInto(out *PartialObjectMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceFieldSelector ¶ added in v0.18.0
type ResourceFieldSelector struct {
Resource NamespacedResource `json:"resource"`
Path *string `json:"path"`
}
ResourceFieldSelector provides the values necessary to identify an individual field on an individual K8s resource.
func (*ResourceFieldSelector) DeepCopy ¶ added in v0.18.0
func (in *ResourceFieldSelector) DeepCopy() *ResourceFieldSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceFieldSelector.
func (*ResourceFieldSelector) DeepCopyInto ¶ added in v0.18.0
func (in *ResourceFieldSelector) DeepCopyInto(out *ResourceFieldSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceMetadata ¶
type ResourceMetadata struct {
// ARN is the Amazon Resource Name for the resource. This is a
// globally-unique identifier and is set only by the ACK service controller
// once the controller has orchestrated the creation of the resource OR
// when it has verified that an "adopted" resource (a resource where the
// ARN annotation was set by the Kubernetes user on the CR) exists and
// matches the supplied CR's Spec field values.
//TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse
// https://github.com/aws/aws-controllers-k8s/issues/270
ARN *AWSResourceName `json:"arn,omitempty"`
// OwnerAccountID is the AWS Account ID of the account that owns the
// backend AWS service API resource.
OwnerAccountID *AWSAccountID `json:"ownerAccountID"`
// Region is the AWS region in which the resource exists or will exist.
Region *AWSRegion `json:"region"`
}
ResourceMetadata is common to all custom resources (CRs) managed by an ACK service controller. It is contained in the CR's `Status` member field and comprises various status and identifier fields useful to ACK for tracking state changes between Kubernetes and the backend AWS service API
func (*ResourceMetadata) DeepCopy ¶
func (in *ResourceMetadata) DeepCopy() *ResourceMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetadata.
func (*ResourceMetadata) DeepCopyInto ¶
func (in *ResourceMetadata) DeepCopyInto(out *ResourceMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceWithMetadata ¶ added in v0.18.0
type ResourceWithMetadata struct {
metav1.GroupKind `json:""`
Metadata *PartialObjectMeta `json:"metadata,omitempty"`
}
ResourceWithMetadata provides the values necessary to create a Kubernetes resource and override any of its metadata values.
func (*ResourceWithMetadata) DeepCopy ¶ added in v0.18.0
func (in *ResourceWithMetadata) DeepCopy() *ResourceWithMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceWithMetadata.
func (*ResourceWithMetadata) DeepCopyInto ¶ added in v0.18.0
func (in *ResourceWithMetadata) DeepCopyInto(out *ResourceWithMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretKeyReference ¶ added in v0.0.4
type SecretKeyReference struct {
// Empty JSON tag is required to solve encountered struct field "" without JSON tag error.
k8scorev1.SecretReference `json:""`
// Key is the key within the secret
Key string `json:"key"`
}
SecretKeyReference combines a k8s corev1.SecretReference with a specific key within the referred-to Secret
func (*SecretKeyReference) DeepCopy ¶ added in v0.4.0
func (in *SecretKeyReference) DeepCopy() *SecretKeyReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeyReference.
func (*SecretKeyReference) DeepCopyInto ¶ added in v0.4.0
func (in *SecretKeyReference) DeepCopyInto(out *SecretKeyReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.