Composition
XAccountScaffold
kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
name: xaccountscaffolds.platform.acme.co
creationTimestamp: null
spec:
compositeTypeRef:
apiVersion: platform.acme.co/v1alpha1
kind: XAccountScaffold
mode: Pipeline
pipeline:
- step: compose
functionRef:
name: crossplane-contrib-function-patch-and-transform
input:
apiVersion: pt.fn.crossplane.io/v1beta1
kind: Resources
resources:
- base:
apiVersion: platform.acme.co/v1alpha1
kind: XServiceAccount
spec:
parameters: {}
name: sa-nop
patches:
- fromFieldPath: metadata.name
toFieldPath: metadata.name
transforms:
- string:
fmt: "%s-sa"
type: Format
type: string
type: FromCompositeFieldPath
- fromFieldPath: metadata.name
toFieldPath: spec.parameters.displayName
transforms:
- string:
fmt: "%s service account"
type: Format
type: string
type: FromCompositeFieldPath
- base:
apiVersion: platform.acme.co/v1alpha1
kind: XNetwork
spec:
parameters:
autoCreateSubnetworks: true
routingMode: GLOBAL
name: network-nop
patches:
- fromFieldPath: metadata.name
toFieldPath: metadata.name
transforms:
- string:
fmt: "%s-net"
type: Format
type: string
type: FromCompositeFieldPath
- base:
apiVersion: platform.acme.co/v1alpha1
kind: XSubnetwork
spec:
parameters:
ipCidrRange: 10.2.0.0/16
networkRef: {}
region: us-central1
secondaryIpRange:
- ipCidrRange: 192.168.10.0/24
rangeName: test-secondary-range-update1
name: subnet-nop
patches:
- fromFieldPath: metadata.name
toFieldPath: metadata.name
transforms:
- string:
fmt: "%s-subnet"
type: Format
type: string
type: FromCompositeFieldPath
- fromFieldPath: metadata.name
toFieldPath: spec.parameters.networkRef.name
transforms:
- string:
fmt: "%s-net"
type: Format
type: string
type: FromCompositeFieldPath