kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
name: cache.elasticache.aws.platform.upbound.io
creationTimestamp: null
labels:
provider: aws
spec:
compositeTypeRef:
apiVersion: elasticache.aws.platform.upbound.io/v1alpha1
kind: XCache
mode: Pipeline
pipeline:
- step: patch-and-transform
functionRef:
name: crossplane-contrib-function-patch-and-transform
input:
apiVersion: pt.fn.crossplane.io/v1beta1
kind: Resources
patchSets:
- name: common-parameters
patches:
- fromFieldPath: spec.parameters.providerConfigName
toFieldPath: spec.parameters.providerConfigName
type: FromCompositeFieldPath
- fromFieldPath: spec.parameters.deletionPolicy
toFieldPath: spec.parameters.deletionPolicy
type: FromCompositeFieldPath
- fromFieldPath: spec.parameters.region
toFieldPath: spec.parameters.region
type: FromCompositeFieldPath
- fromFieldPath: spec.parameters.tags
toFieldPath: spec.parameters.tags
type: FromCompositeFieldPath
resources:
- base:
apiVersion: elasticache.aws.platform.upbound.io/v1alpha1
kind: XParameterGroup
name: xParameterGroup
patches:
- patchSetName: common-parameters
type: PatchSet
- combine:
strategy: string
string:
fmt: "%s-%s"
variables:
- fromFieldPath: spec.parameters.id
- fromFieldPath: spec.parameters.family
toFieldPath: spec.parameters.name
type: CombineFromComposite
- fromFieldPath: spec.parameters.family
toFieldPath: spec.parameters.family
type: FromCompositeFieldPath
- base:
apiVersion: elasticache.aws.platform.upbound.io/v1alpha1
kind: XNetwork
name: xNetwork
patches:
- patchSetName: common-parameters
type: PatchSet
- fromFieldPath: spec.parameters.id
toFieldPath: spec.parameters.id
type: FromCompositeFieldPath
- fromFieldPath: status.elasticacheNetwork.securityGroupIds
toFieldPath: status.elasticacheNetwork.securityGroupIds
type: ToCompositeFieldPath
- fromFieldPath: status.elasticacheSubnetGroup.id
toFieldPath: status.elasticacheSubnetGroup.id
type: ToCompositeFieldPath
- base:
apiVersion: elasticache.aws.platform.upbound.io/v1alpha1
kind: XCluster
spec:
parameters: {}
name: xCluster
patches:
- patchSetName: common-parameters
type: PatchSet
- fromFieldPath: spec.parameters.engine
toFieldPath: spec.parameters.engine
type: FromCompositeFieldPath
- combine:
strategy: string
string:
fmt: "%s-%s"
variables:
- fromFieldPath: spec.parameters.id
- fromFieldPath: spec.parameters.family
toFieldPath: spec.parameters.parameterGroupName
type: CombineFromComposite
- fromFieldPath: spec.parameters.applyImmediately
toFieldPath: spec.parameters.applyImmediately
type: FromCompositeFieldPath
- fromFieldPath: spec.parameters.availabilityZone
toFieldPath: spec.parameters.availabilityZone
type: FromCompositeFieldPath
- fromFieldPath: status.elasticacheNetwork.securityGroupIds
policy:
fromFieldPath: Required
toFieldPath: spec.parameters.securityGroupIds
type: FromCompositeFieldPath
- fromFieldPath: status.elasticacheSubnetGroup.id
policy:
fromFieldPath: Required
toFieldPath: spec.parameters.subnetGroupName
type: FromCompositeFieldPath
- fromFieldPath: spec.parameters.nodeType
toFieldPath: spec.parameters.nodeType
type: FromCompositeFieldPath
© 2022 Upbound, Inc.
Discover the building blocksfor your internal cloud platform.