docs/content/v1.14/api/crds/apiextensions.crossplane.io...

1427 lines
80 KiB
YAML

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: compositions.apiextensions.crossplane.io
spec:
group: apiextensions.crossplane.io
names:
categories:
- crossplane
kind: Composition
listKind: CompositionList
plural: compositions
shortNames:
- comp
singular: composition
scope: Cluster
versions:
- additionalPrinterColumns:
- jsonPath: .spec.compositeTypeRef.kind
name: XR-KIND
type: string
- jsonPath: .spec.compositeTypeRef.apiVersion
name: XR-APIVERSION
type: string
- jsonPath: .metadata.creationTimestamp
name: AGE
type: date
name: v1
schema:
openAPIV3Schema:
description: A Composition specifies how a composite resource should be composed.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: CompositionSpec specifies desired state of a composition.
properties:
compositeTypeRef:
description: CompositeTypeRef specifies the type of composite resource
that this composition is compatible with.
properties:
apiVersion:
description: APIVersion of the type.
type: string
kind:
description: Kind of the type.
type: string
required:
- apiVersion
- kind
type: object
environment:
description: "Environment configures the environment in which resources
are rendered. \n THIS IS AN ALPHA FIELD. Do not use it in production.
It is not honored unless the relevant Crossplane feature flag is
enabled, and may be changed or removed without notice."
properties:
defaultData:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
description: DefaultData statically defines the initial state
of the environment. It has the same schema-less structure as
the data field in environment configs. It is overwritten by
the selected environment configs.
type: object
environmentConfigs:
description: "EnvironmentConfigs selects a list of `EnvironmentConfig`s.
The resolved resources are stored in the composite resource
at `spec.environmentConfigRefs` and is only updated if it is
null. \n The list of references is used to compute an in-memory
environment at compose time. The data of all object is merged
in the order they are listed, meaning the values of EnvironmentConfigs
with a larger index take priority over ones with smaller indices.
\n The computed environment can be accessed in a composition
using `FromEnvironmentFieldPath` and `CombineFromEnvironment`
patches."
items:
description: EnvironmentSource selects a EnvironmentConfig resource.
properties:
ref:
description: Ref is a named reference to a single EnvironmentConfig.
Either Ref or Selector is required.
properties:
name:
description: The name of the object.
type: string
required:
- name
type: object
selector:
description: Selector selects EnvironmentConfig(s) via labels.
properties:
matchLabels:
description: MatchLabels ensures an object with matching
labels is selected.
items:
description: An EnvironmentSourceSelectorLabelMatcher
acts like a k8s label selector but can draw the
label value from a different path.
properties:
fromFieldPathPolicy:
default: Required
description: FromFieldPathPolicy specifies the
policy for the valueFromFieldPath. The default
is Required, meaning that an error will be returned
if the field is not found in the composite resource.
Optional means that if the field is not found
in the composite resource, that label pair will
just be skipped. N.B. other specified label
matchers will still be used to retrieve the
desired environment config, if any.
enum:
- Optional
- Required
type: string
key:
description: Key of the label to match.
type: string
type:
default: FromCompositeFieldPath
description: Type specifies where the value for
a label comes from.
enum:
- FromCompositeFieldPath
- Value
type: string
value:
description: Value specifies a literal label value.
type: string
valueFromFieldPath:
description: ValueFromFieldPath specifies the
field path to look for the label value.
type: string
required:
- key
type: object
type: array
maxMatch:
description: MaxMatch specifies the number of extracted
EnvironmentConfigs in Multiple mode, extracts all
if nil.
format: int64
type: integer
minMatch:
description: MinMatch specifies the required minimum
of extracted EnvironmentConfigs in Multiple mode.
format: int64
type: integer
mode:
default: Single
description: 'Mode specifies retrieval strategy: "Single"
or "Multiple".'
enum:
- Single
- Multiple
type: string
sortByFieldPath:
default: metadata.name
description: SortByFieldPath is the path to the field
based on which list of EnvironmentConfigs is alphabetically
sorted.
type: string
type: object
type:
default: Reference
description: Type specifies the way the EnvironmentConfig
is selected. Default is `Reference`
enum:
- Reference
- Selector
type: string
type: object
type: array
patches:
description: Patches is a list of environment patches that are
executed before a composition's resources are composed.
items:
description: EnvironmentPatch is a patch for a Composition environment.
properties:
combine:
description: Combine is the patch configuration for a CombineFromComposite
or CombineToComposite patch.
properties:
strategy:
description: Strategy defines the strategy to use to
combine the input variable values. Currently only
string is supported.
enum:
- string
type: string
string:
description: String declares that input variables should
be combined into a single string, using the relevant
settings for formatting purposes.
properties:
fmt:
description: Format the input using a Go format
string. See https://golang.org/pkg/fmt/ for details.
type: string
required:
- fmt
type: object
variables:
description: Variables are the list of variables whose
values will be retrieved and combined.
items:
description: A CombineVariable defines the source
of a value that is combined with others to form
and patch an output value. Currently, this only
supports retrieving values from a field path.
properties:
fromFieldPath:
description: FromFieldPath is the path of the
field on the source whose value is to be used
as input.
type: string
required:
- fromFieldPath
type: object
minItems: 1
type: array
required:
- strategy
- variables
type: object
fromFieldPath:
description: FromFieldPath is the path of the field on the
resource whose value is to be used as input. Required
when type is FromCompositeFieldPath or ToCompositeFieldPath.
type: string
policy:
description: Policy configures the specifics of patching
behaviour.
properties:
fromFieldPath:
description: FromFieldPath specifies how to patch from
a field path. The default is 'Optional', which means
the patch will be a no-op if the specified fromFieldPath
does not exist. Use 'Required' if the patch should
fail if the specified path does not exist.
enum:
- Optional
- Required
type: string
mergeOptions:
description: MergeOptions Specifies merge options on
a field path
properties:
appendSlice:
description: Specifies that already existing elements
in a merged slice should be preserved
type: boolean
keepMapValues:
description: Specifies that already existing values
in a merged map should be preserved
type: boolean
type: object
type: object
toFieldPath:
description: ToFieldPath is the path of the field on the
resource whose value will be changed with the result of
transforms. Leave empty if you'd like to propagate to
the same path as fromFieldPath.
type: string
transforms:
description: Transforms are the list of functions that are
used as a FIFO pipe for the input to be transformed.
items:
description: Transform is a unit of process whose input
is transformed into an output with the supplied configuration.
properties:
convert:
description: Convert is used to cast the input into
the given output type.
properties:
format:
description: "The expected input format. \n *
`quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).
Only used during `string -> float64` conversions.
* `json` - parses the input as a JSON string.
Only used during `string -> object` or `string
-> list` conversions. \n If this property is
null, the default conversion is applied."
enum:
- none
- quantity
- json
type: string
toType:
description: ToType is the type of the output
of this transform.
enum:
- string
- int
- int64
- bool
- float64
- object
- array
type: string
required:
- toType
type: object
map:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
description: Map uses the input as a key in the given
map and returns the value.
type: object
match:
description: Match is a more complex version of Map
that matches a list of patterns.
properties:
fallbackTo:
default: Value
description: Determines to what value the transform
should fallback if no pattern matches.
enum:
- Value
- Input
type: string
fallbackValue:
description: The fallback value that should be
returned by the transform if now pattern matches.
x-kubernetes-preserve-unknown-fields: true
patterns:
description: The patterns that should be tested
against the input string. Patterns are tested
in order. The value of the first match is used
as result of this transform.
items:
description: MatchTransformPattern is a transform
that returns the value that matches a pattern.
properties:
literal:
description: Literal exactly matches the
input string (case sensitive). Is required
if `type` is `literal`.
type: string
regexp:
description: Regexp to match against the
input string. Is required if `type` is
`regexp`.
type: string
result:
description: The value that is used as result
of the transform if the pattern matches.
x-kubernetes-preserve-unknown-fields: true
type:
default: literal
description: "Type specifies how the pattern
matches the input. \n * `literal` - the
pattern value has to exactly match (case
sensitive) the input string. This is the
default. \n * `regexp` - the pattern treated
as a regular expression against which
the input string is tested. Crossplane
will throw an error if the key is not
a valid regexp."
enum:
- literal
- regexp
type: string
required:
- result
- type
type: object
type: array
type: object
math:
description: Math is used to transform the input via
mathematical operations such as multiplication.
properties:
clampMax:
description: ClampMax makes sure that the value
is not bigger than the given value.
format: int64
type: integer
clampMin:
description: ClampMin makes sure that the value
is not smaller than the given value.
format: int64
type: integer
multiply:
description: Multiply the value.
format: int64
type: integer
type:
default: Multiply
description: Type of the math transform to be
run.
enum:
- Multiply
- ClampMin
- ClampMax
type: string
type: object
string:
description: String is used to transform the input
into a string or a different kind of string. Note
that the input does not necessarily need to be a
string.
properties:
convert:
description: Optional conversion method to be
specified. `ToUpper` and `ToLower` change the
letter case of the input string. `ToBase64`
and `FromBase64` perform a base64 conversion
based on the input string. `ToJson` converts
any input value into its raw JSON representation.
`ToSha1`, `ToSha256` and `ToSha512` generate
a hash value based on the input converted to
JSON.
enum:
- ToUpper
- ToLower
- ToBase64
- FromBase64
- ToJson
- ToSha1
- ToSha256
- ToSha512
type: string
fmt:
description: Format the input using a Go format
string. See https://golang.org/pkg/fmt/ for
details.
type: string
regexp:
description: Extract a match from the input using
a regular expression.
properties:
group:
description: Group number to match. 0 (the
default) matches the entire expression.
type: integer
match:
description: Match string. May optionally
include submatches, aka capture groups.
See https://pkg.go.dev/regexp/ for details.
type: string
required:
- match
type: object
trim:
description: Trim the prefix or suffix from the
input
type: string
type:
default: Format
description: Type of the string transform to be
run.
enum:
- Format
- Convert
- TrimPrefix
- TrimSuffix
- Regexp
type: string
type: object
type:
description: Type of the transform to be run.
enum:
- map
- match
- math
- string
- convert
type: string
required:
- type
type: object
type: array
type:
default: FromCompositeFieldPath
description: Type sets the patching behaviour to be used.
Each patch type may require its own fields to be set on
the Patch object.
enum:
- FromCompositeFieldPath
- ToCompositeFieldPath
- CombineFromComposite
- CombineToComposite
type: string
type: object
type: array
policy:
description: Policy represents the Resolve and Resolution policies
which apply to all EnvironmentSourceReferences in EnvironmentConfigs
list.
properties:
resolution:
default: Required
description: 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.
enum:
- Required
- Optional
type: string
resolve:
description: 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.
enum:
- Always
- IfNotPresent
type: string
type: object
type: object
mode:
default: Resources
description: "Mode controls what type or \"mode\" of Composition will
be used. \n \"Resources\" (the default) indicates that a Composition
uses what is commonly referred to as \"Patch & Transform\" or P&T
composition. This mode of Composition uses an array of resources,
each a template for a composed resource. \n \"Pipeline\" indicates
that a Composition specifies a pipeline of Composition Functions,
each of which is responsible for producing composed resources that
Crossplane should create or update. THE PIPELINE MODE IS A BETA
FEATURE. It is not honored if the relevant Crossplane feature flag
is disabled."
enum:
- Resources
- Pipeline
type: string
patchSets:
description: "PatchSets define a named set of patches that may be
included by any resource in this Composition. PatchSets cannot themselves
refer to other PatchSets. \n PatchSets are only used by the \"Resources\"
mode of Composition. They are ignored by other modes."
items:
description: A PatchSet is a set of patches that can be reused from
all resources within a Composition.
properties:
name:
description: Name of this PatchSet.
type: string
patches:
description: Patches will be applied as an overlay to the base
resource.
items:
description: Patch objects are applied between composite and
composed resources. Their behaviour depends on the Type
selected. The default Type, FromCompositeFieldPath, copies
a value from the composite resource to the composed resource,
applying any defined transformers.
properties:
combine:
description: Combine is the patch configuration for a
CombineFromComposite, CombineFromEnvironment, CombineToComposite
or CombineToEnvironment patch.
properties:
strategy:
description: Strategy defines the strategy to use
to combine the input variable values. Currently
only string is supported.
enum:
- string
type: string
string:
description: String declares that input variables
should be combined into a single string, using the
relevant settings for formatting purposes.
properties:
fmt:
description: Format the input using a Go format
string. See https://golang.org/pkg/fmt/ for
details.
type: string
required:
- fmt
type: object
variables:
description: Variables are the list of variables whose
values will be retrieved and combined.
items:
description: A CombineVariable defines the source
of a value that is combined with others to form
and patch an output value. Currently, this only
supports retrieving values from a field path.
properties:
fromFieldPath:
description: FromFieldPath is the path of the
field on the source whose value is to be used
as input.
type: string
required:
- fromFieldPath
type: object
minItems: 1
type: array
required:
- strategy
- variables
type: object
fromFieldPath:
description: FromFieldPath is the path of the field on
the resource whose value is to be used as input. Required
when type is FromCompositeFieldPath, FromEnvironmentFieldPath,
ToCompositeFieldPath, ToEnvironmentFieldPath.
type: string
patchSetName:
description: PatchSetName to include patches from. Required
when type is PatchSet.
type: string
policy:
description: Policy configures the specifics of patching
behaviour.
properties:
fromFieldPath:
description: FromFieldPath specifies how to patch
from a field path. The default is 'Optional', which
means the patch will be a no-op if the specified
fromFieldPath does not exist. Use 'Required' if
the patch should fail if the specified path does
not exist.
enum:
- Optional
- Required
type: string
mergeOptions:
description: MergeOptions Specifies merge options
on a field path
properties:
appendSlice:
description: Specifies that already existing elements
in a merged slice should be preserved
type: boolean
keepMapValues:
description: Specifies that already existing values
in a merged map should be preserved
type: boolean
type: object
type: object
toFieldPath:
description: ToFieldPath is the path of the field on the
resource whose value will be changed with the result
of transforms. Leave empty if you'd like to propagate
to the same path as fromFieldPath.
type: string
transforms:
description: Transforms are the list of functions that
are used as a FIFO pipe for the input to be transformed.
items:
description: Transform is a unit of process whose input
is transformed into an output with the supplied configuration.
properties:
convert:
description: Convert is used to cast the input into
the given output type.
properties:
format:
description: "The expected input format. \n
* `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).
Only used during `string -> float64` conversions.
* `json` - parses the input as a JSON string.
Only used during `string -> object` or `string
-> list` conversions. \n If this property
is null, the default conversion is applied."
enum:
- none
- quantity
- json
type: string
toType:
description: ToType is the type of the output
of this transform.
enum:
- string
- int
- int64
- bool
- float64
- object
- array
type: string
required:
- toType
type: object
map:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
description: Map uses the input as a key in the
given map and returns the value.
type: object
match:
description: Match is a more complex version of
Map that matches a list of patterns.
properties:
fallbackTo:
default: Value
description: Determines to what value the transform
should fallback if no pattern matches.
enum:
- Value
- Input
type: string
fallbackValue:
description: The fallback value that should
be returned by the transform if now pattern
matches.
x-kubernetes-preserve-unknown-fields: true
patterns:
description: The patterns that should be tested
against the input string. Patterns are tested
in order. The value of the first match is
used as result of this transform.
items:
description: MatchTransformPattern is a transform
that returns the value that matches a pattern.
properties:
literal:
description: Literal exactly matches the
input string (case sensitive). Is required
if `type` is `literal`.
type: string
regexp:
description: Regexp to match against the
input string. Is required if `type`
is `regexp`.
type: string
result:
description: The value that is used as
result of the transform if the pattern
matches.
x-kubernetes-preserve-unknown-fields: true
type:
default: literal
description: "Type specifies how the pattern
matches the input. \n * `literal` -
the pattern value has to exactly match
(case sensitive) the input string. This
is the default. \n * `regexp` - the
pattern treated as a regular expression
against which the input string is tested.
Crossplane will throw an error if the
key is not a valid regexp."
enum:
- literal
- regexp
type: string
required:
- result
- type
type: object
type: array
type: object
math:
description: Math is used to transform the input
via mathematical operations such as multiplication.
properties:
clampMax:
description: ClampMax makes sure that the value
is not bigger than the given value.
format: int64
type: integer
clampMin:
description: ClampMin makes sure that the value
is not smaller than the given value.
format: int64
type: integer
multiply:
description: Multiply the value.
format: int64
type: integer
type:
default: Multiply
description: Type of the math transform to be
run.
enum:
- Multiply
- ClampMin
- ClampMax
type: string
type: object
string:
description: String is used to transform the input
into a string or a different kind of string. Note
that the input does not necessarily need to be
a string.
properties:
convert:
description: Optional conversion method to be
specified. `ToUpper` and `ToLower` change
the letter case of the input string. `ToBase64`
and `FromBase64` perform a base64 conversion
based on the input string. `ToJson` converts
any input value into its raw JSON representation.
`ToSha1`, `ToSha256` and `ToSha512` generate
a hash value based on the input converted
to JSON.
enum:
- ToUpper
- ToLower
- ToBase64
- FromBase64
- ToJson
- ToSha1
- ToSha256
- ToSha512
type: string
fmt:
description: Format the input using a Go format
string. See https://golang.org/pkg/fmt/ for
details.
type: string
regexp:
description: Extract a match from the input
using a regular expression.
properties:
group:
description: Group number to match. 0 (the
default) matches the entire expression.
type: integer
match:
description: Match string. May optionally
include submatches, aka capture groups.
See https://pkg.go.dev/regexp/ for details.
type: string
required:
- match
type: object
trim:
description: Trim the prefix or suffix from
the input
type: string
type:
default: Format
description: Type of the string transform to
be run.
enum:
- Format
- Convert
- TrimPrefix
- TrimSuffix
- Regexp
type: string
type: object
type:
description: Type of the transform to be run.
enum:
- map
- match
- math
- string
- convert
type: string
required:
- type
type: object
type: array
type:
default: FromCompositeFieldPath
description: Type sets the patching behaviour to be used.
Each patch type may require its own fields to be set
on the Patch object.
enum:
- FromCompositeFieldPath
- FromEnvironmentFieldPath
- PatchSet
- ToCompositeFieldPath
- ToEnvironmentFieldPath
- CombineFromEnvironment
- CombineFromComposite
- CombineToComposite
- CombineToEnvironment
type: string
type: object
type: array
required:
- name
- patches
type: object
type: array
pipeline:
description: "Pipeline is a list of composition function steps that
will be used when a composite resource referring to this composition
is created. One of resources and pipeline must be specified - you
cannot specify both. \n The Pipeline is only used by the \"Pipeline\"
mode of Composition. It is ignored by other modes. \n THIS IS A
BETA FIELD. It is not honored if the relevant Crossplane feature
flag is disabled."
items:
description: A PipelineStep in a Composition Function pipeline.
properties:
functionRef:
description: FunctionRef is a reference to the Composition Function
this step should execute.
properties:
name:
description: Name of the referenced Function.
type: string
required:
- name
type: object
input:
description: Input is an optional, arbitrary Kubernetes resource
(i.e. a resource with an apiVersion and kind) that will be
passed to the Composition Function as the 'input' of its RunFunctionRequest.
type: object
x-kubernetes-embedded-resource: true
x-kubernetes-preserve-unknown-fields: true
step:
description: Step name. Must be unique within its Pipeline.
type: string
required:
- functionRef
- step
type: object
type: array
publishConnectionDetailsWithStoreConfigRef:
default:
name: default
description: "PublishConnectionDetailsWithStoreConfig specifies the
secret store config with which the connection details of composite
resources dynamically provisioned using this composition will be
published. \n THIS IS AN ALPHA FIELD. Do not use it in production.
It is not honored unless the relevant Crossplane feature flag is
enabled, and may be changed or removed without notice."
properties:
name:
description: Name of the referenced StoreConfig.
type: string
required:
- name
type: object
resources:
description: "Resources is a list of resource templates that will
be used when a composite resource referring to this composition
is created. \n Resources are only used by the \"Resources\" mode
of Composition. They are ignored by other modes."
items:
description: ComposedTemplate is used to provide information about
how the composed resource should be processed.
properties:
base:
description: Base is the target resource that the patches will
be applied on.
type: object
x-kubernetes-embedded-resource: true
x-kubernetes-preserve-unknown-fields: true
connectionDetails:
description: ConnectionDetails lists the propagation secret
keys from this target resource to the composition instance
connection secret.
items:
description: ConnectionDetail includes the information about
the propagation of the connection information from one secret
to another.
properties:
fromConnectionSecretKey:
description: FromConnectionSecretKey is the key that will
be used to fetch the value from the composed resource's
connection secret.
type: string
fromFieldPath:
description: FromFieldPath is the path of the field on
the composed resource whose value to be used as input.
Name must be specified if the type is FromFieldPath.
type: string
name:
description: Name of the connection secret key that will
be propagated to the connection secret of the composition
instance. Leave empty if you'd like to use the same
key name.
type: string
type:
description: 'Type sets the connection detail fetching
behaviour to be used. Each connection detail type may
require its own fields to be set on the ConnectionDetail
object. If the type is omitted Crossplane will attempt
to infer it based on which other fields were specified.
If multiple fields are specified the order of precedence
is: 1. FromValue 2. FromConnectionSecretKey 3. FromFieldPath'
enum:
- FromConnectionSecretKey
- FromFieldPath
- FromValue
type: string
value:
description: Value that will be propagated to the connection
secret of the composite resource. May be set to inject
a fixed, non-sensitive connection secret value, for
example a well-known port.
type: string
type: object
type: array
name:
description: A Name uniquely identifies this entry within its
Composition's resources array. Names are optional but *strongly*
recommended. When all entries in the resources array are named
entries may added, deleted, and reordered as long as their
names do not change. When entries are not named the length
and order of the resources array should be treated as immutable.
Either all or no entries must be named.
type: string
patches:
description: Patches will be applied as overlay to the base
resource.
items:
description: Patch objects are applied between composite and
composed resources. Their behaviour depends on the Type
selected. The default Type, FromCompositeFieldPath, copies
a value from the composite resource to the composed resource,
applying any defined transformers.
properties:
combine:
description: Combine is the patch configuration for a
CombineFromComposite, CombineFromEnvironment, CombineToComposite
or CombineToEnvironment patch.
properties:
strategy:
description: Strategy defines the strategy to use
to combine the input variable values. Currently
only string is supported.
enum:
- string
type: string
string:
description: String declares that input variables
should be combined into a single string, using the
relevant settings for formatting purposes.
properties:
fmt:
description: Format the input using a Go format
string. See https://golang.org/pkg/fmt/ for
details.
type: string
required:
- fmt
type: object
variables:
description: Variables are the list of variables whose
values will be retrieved and combined.
items:
description: A CombineVariable defines the source
of a value that is combined with others to form
and patch an output value. Currently, this only
supports retrieving values from a field path.
properties:
fromFieldPath:
description: FromFieldPath is the path of the
field on the source whose value is to be used
as input.
type: string
required:
- fromFieldPath
type: object
minItems: 1
type: array
required:
- strategy
- variables
type: object
fromFieldPath:
description: FromFieldPath is the path of the field on
the resource whose value is to be used as input. Required
when type is FromCompositeFieldPath, FromEnvironmentFieldPath,
ToCompositeFieldPath, ToEnvironmentFieldPath.
type: string
patchSetName:
description: PatchSetName to include patches from. Required
when type is PatchSet.
type: string
policy:
description: Policy configures the specifics of patching
behaviour.
properties:
fromFieldPath:
description: FromFieldPath specifies how to patch
from a field path. The default is 'Optional', which
means the patch will be a no-op if the specified
fromFieldPath does not exist. Use 'Required' if
the patch should fail if the specified path does
not exist.
enum:
- Optional
- Required
type: string
mergeOptions:
description: MergeOptions Specifies merge options
on a field path
properties:
appendSlice:
description: Specifies that already existing elements
in a merged slice should be preserved
type: boolean
keepMapValues:
description: Specifies that already existing values
in a merged map should be preserved
type: boolean
type: object
type: object
toFieldPath:
description: ToFieldPath is the path of the field on the
resource whose value will be changed with the result
of transforms. Leave empty if you'd like to propagate
to the same path as fromFieldPath.
type: string
transforms:
description: Transforms are the list of functions that
are used as a FIFO pipe for the input to be transformed.
items:
description: Transform is a unit of process whose input
is transformed into an output with the supplied configuration.
properties:
convert:
description: Convert is used to cast the input into
the given output type.
properties:
format:
description: "The expected input format. \n
* `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).
Only used during `string -> float64` conversions.
* `json` - parses the input as a JSON string.
Only used during `string -> object` or `string
-> list` conversions. \n If this property
is null, the default conversion is applied."
enum:
- none
- quantity
- json
type: string
toType:
description: ToType is the type of the output
of this transform.
enum:
- string
- int
- int64
- bool
- float64
- object
- array
type: string
required:
- toType
type: object
map:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
description: Map uses the input as a key in the
given map and returns the value.
type: object
match:
description: Match is a more complex version of
Map that matches a list of patterns.
properties:
fallbackTo:
default: Value
description: Determines to what value the transform
should fallback if no pattern matches.
enum:
- Value
- Input
type: string
fallbackValue:
description: The fallback value that should
be returned by the transform if now pattern
matches.
x-kubernetes-preserve-unknown-fields: true
patterns:
description: The patterns that should be tested
against the input string. Patterns are tested
in order. The value of the first match is
used as result of this transform.
items:
description: MatchTransformPattern is a transform
that returns the value that matches a pattern.
properties:
literal:
description: Literal exactly matches the
input string (case sensitive). Is required
if `type` is `literal`.
type: string
regexp:
description: Regexp to match against the
input string. Is required if `type`
is `regexp`.
type: string
result:
description: The value that is used as
result of the transform if the pattern
matches.
x-kubernetes-preserve-unknown-fields: true
type:
default: literal
description: "Type specifies how the pattern
matches the input. \n * `literal` -
the pattern value has to exactly match
(case sensitive) the input string. This
is the default. \n * `regexp` - the
pattern treated as a regular expression
against which the input string is tested.
Crossplane will throw an error if the
key is not a valid regexp."
enum:
- literal
- regexp
type: string
required:
- result
- type
type: object
type: array
type: object
math:
description: Math is used to transform the input
via mathematical operations such as multiplication.
properties:
clampMax:
description: ClampMax makes sure that the value
is not bigger than the given value.
format: int64
type: integer
clampMin:
description: ClampMin makes sure that the value
is not smaller than the given value.
format: int64
type: integer
multiply:
description: Multiply the value.
format: int64
type: integer
type:
default: Multiply
description: Type of the math transform to be
run.
enum:
- Multiply
- ClampMin
- ClampMax
type: string
type: object
string:
description: String is used to transform the input
into a string or a different kind of string. Note
that the input does not necessarily need to be
a string.
properties:
convert:
description: Optional conversion method to be
specified. `ToUpper` and `ToLower` change
the letter case of the input string. `ToBase64`
and `FromBase64` perform a base64 conversion
based on the input string. `ToJson` converts
any input value into its raw JSON representation.
`ToSha1`, `ToSha256` and `ToSha512` generate
a hash value based on the input converted
to JSON.
enum:
- ToUpper
- ToLower
- ToBase64
- FromBase64
- ToJson
- ToSha1
- ToSha256
- ToSha512
type: string
fmt:
description: Format the input using a Go format
string. See https://golang.org/pkg/fmt/ for
details.
type: string
regexp:
description: Extract a match from the input
using a regular expression.
properties:
group:
description: Group number to match. 0 (the
default) matches the entire expression.
type: integer
match:
description: Match string. May optionally
include submatches, aka capture groups.
See https://pkg.go.dev/regexp/ for details.
type: string
required:
- match
type: object
trim:
description: Trim the prefix or suffix from
the input
type: string
type:
default: Format
description: Type of the string transform to
be run.
enum:
- Format
- Convert
- TrimPrefix
- TrimSuffix
- Regexp
type: string
type: object
type:
description: Type of the transform to be run.
enum:
- map
- match
- math
- string
- convert
type: string
required:
- type
type: object
type: array
type:
default: FromCompositeFieldPath
description: Type sets the patching behaviour to be used.
Each patch type may require its own fields to be set
on the Patch object.
enum:
- FromCompositeFieldPath
- FromEnvironmentFieldPath
- PatchSet
- ToCompositeFieldPath
- ToEnvironmentFieldPath
- CombineFromEnvironment
- CombineFromComposite
- CombineToComposite
- CombineToEnvironment
type: string
type: object
type: array
readinessChecks:
default:
- matchCondition:
status: "True"
type: Ready
type: MatchCondition
description: ReadinessChecks allows users to define custom readiness
checks. All checks have to return true in order for resource
to be considered ready. The default readiness check is to
have the "Ready" condition to be "True".
items:
description: ReadinessCheck is used to indicate how to tell
whether a resource is ready for consumption
properties:
fieldPath:
description: FieldPath shows the path of the field whose
value will be used.
type: string
matchCondition:
description: MatchCondition specifies the condition you'd
like to match if you're using "MatchCondition" type.
properties:
status:
default: "True"
description: Status is the status of the condition
you'd like to match.
type: string
type:
default: Ready
description: Type indicates the type of condition
you'd like to use.
type: string
required:
- status
- type
type: object
matchInteger:
description: MatchInt is the value you'd like to match
if you're using "MatchInt" type.
format: int64
type: integer
matchString:
description: MatchString is the value you'd like to match
if you're using "MatchString" type.
type: string
type:
description: Type indicates the type of probe you'd like
to use.
enum:
- MatchString
- MatchInteger
- NonEmpty
- MatchCondition
- MatchTrue
- MatchFalse
- None
type: string
required:
- type
type: object
type: array
required:
- base
type: object
type: array
writeConnectionSecretsToNamespace:
description: WriteConnectionSecretsToNamespace specifies the namespace
in which the connection secrets of composite resource dynamically
provisioned using this composition will be created. This field is
planned to be replaced in a future release in favor of PublishConnectionDetailsWithStoreConfigRef.
Currently, both could be set independently and connection details
would be published to both without affecting each other as long
as related fields at MR level specified.
type: string
required:
- compositeTypeRef
type: object
type: object
served: true
storage: true
subresources: {}