Marketplace
BrowsePublish
Marketplace
crossplane-contrib/x-generation@v0.10.0
xcluster.eks.aws.example.cloud

xcluster.eks.aws.example.cloud

xcluster.eks.aws.example.cloud
crossplane-contrib/x-generation@v0.10.0xcluster.eks.aws.example.cloud
Type

Composition

Referenced XRD

CompositeCluster

Source Codegithub.com/crossplane-contrib/x-generation
YAML
kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
  name: xcluster.eks.aws.example.cloud
  creationTimestamp: null
  labels:
    example.cloud/provider: example
spec:
  compositeTypeRef:
    apiVersion: eks.aws.example.cloud/v1beta1
    kind: CompositeCluster
  mode: Pipeline
  pipeline:
    - step: environmentConfigs
      functionRef:
        name: function-environment-configs
      input:
        apiVersion: environmentconfigs.fn.crossplane.io/v1beta1
        kind: Input
        spec:
          environmentConfigs:
            - selector:
                matchLabels:
                  - key: region
                    type: FromCompositeFieldPath
                    valueFromFieldPath: spec.forProvider.region
                  - key: type
                    type: Value
                    value: network
              type: Selector
    - step: patch-and-transform
      functionRef:
        name: function-patch-and-transform
      input:
        apiVersion: pt.fn.crossplane.io/v1beta1
        kind: Resources
        patchSets:
          - name: Name
            patches:
              - fromFieldPath: metadata.labels[crossplane.io/claim-name]
                toFieldPath: metadata.annotations[crossplane.io/external-name]
                type: FromCompositeFieldPath
          - name: External-Name
            patches:
              - fromFieldPath: metadata.annotations[crossplane.io/external-name]
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.annotations[crossplane.io/external-name]
                type: FromCompositeFieldPath
          - name: Common
            patches:
              - fromFieldPath: metadata.labels['crossplane.io/claim-name']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['crossplane.io/claim-name']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['crossplane.io/claim-namespace']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['crossplane.io/claim-namespace']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['crossplane.io/composite']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['crossplane.io/composite']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['external-name']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['external-name']
                type: FromCompositeFieldPath
          - name: Parameters
            patches:
              - fromFieldPath: aws.vpc.subnetIds
                policy:
                  fromFieldPath: Required
                toFieldPath: spec.forProvider.vpcConfig[0].subnetIds
                type: FromEnvironmentFieldPath
              - fromFieldPath: spec.deletionPolicy
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.deletionPolicy
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.enabledClusterLogTypes
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.enabledClusterLogTypes
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.encryptionConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.encryptionConfig
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.kubernetesNetworkConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.kubernetesNetworkConfig
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.outpostConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.outpostConfig
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.region
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.region
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.roleArn
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.roleArn
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.roleArnRef.name
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.roleArnRef.name
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.roleArnRef.policy.resolution
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.roleArnRef.policy.resolution
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.roleArnRef.policy.resolve
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.roleArnRef.policy.resolve
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.roleArnSelector.matchControllerRef
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.roleArnSelector.matchControllerRef
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.roleArnSelector.matchLabels
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.roleArnSelector.matchLabels
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.roleArnSelector.policy.resolution
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.roleArnSelector.policy.resolution
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.roleArnSelector.policy.resolve
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.roleArnSelector.policy.resolve
                type: FromCompositeFieldPath
              - fromFieldPath: spec.forProvider.version
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.forProvider.version
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.enabledClusterLogTypes
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.enabledClusterLogTypes
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.encryptionConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.encryptionConfig
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.kubernetesNetworkConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.kubernetesNetworkConfig
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.outpostConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.outpostConfig
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.roleArn
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.roleArn
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.roleArnRef.name
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.roleArnRef.name
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.roleArnRef.policy.resolution
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.roleArnRef.policy.resolution
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.roleArnRef.policy.resolve
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.roleArnRef.policy.resolve
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.roleArnSelector.matchControllerRef
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.roleArnSelector.matchControllerRef
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.roleArnSelector.matchLabels
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.roleArnSelector.matchLabels
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.roleArnSelector.policy.resolution
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.roleArnSelector.policy.resolution
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.roleArnSelector.policy.resolve
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.roleArnSelector.policy.resolve
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.tags
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.tags
                type: FromCompositeFieldPath
              - fromFieldPath: spec.initProvider.version
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.initProvider.version
                type: FromCompositeFieldPath
              - fromFieldPath: spec.managementPolicies
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.managementPolicies
                type: FromCompositeFieldPath
              - fromFieldPath: spec.providerConfigRef.name
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.providerConfigRef.name
                type: FromCompositeFieldPath
              - fromFieldPath: spec.providerConfigRef.policy.resolution
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.providerConfigRef.policy.resolution
                type: FromCompositeFieldPath
              - fromFieldPath: spec.providerConfigRef.policy.resolve
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.providerConfigRef.policy.resolve
                type: FromCompositeFieldPath
              - fromFieldPath: spec.publishConnectionDetailsTo.configRef.name
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.publishConnectionDetailsTo.configRef.name
                type: FromCompositeFieldPath
              - fromFieldPath: spec.publishConnectionDetailsTo.configRef.policy.resolution
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.publishConnectionDetailsTo.configRef.policy.resolution
                type: FromCompositeFieldPath
              - fromFieldPath: spec.publishConnectionDetailsTo.configRef.policy.resolve
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.publishConnectionDetailsTo.configRef.policy.resolve
                type: FromCompositeFieldPath
              - fromFieldPath: spec.publishConnectionDetailsTo.metadata.annotations
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.publishConnectionDetailsTo.metadata.annotations
                type: FromCompositeFieldPath
              - fromFieldPath: spec.publishConnectionDetailsTo.metadata.labels
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.publishConnectionDetailsTo.metadata.labels
                type: FromCompositeFieldPath
              - fromFieldPath: spec.publishConnectionDetailsTo.metadata.type
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.publishConnectionDetailsTo.metadata.type
                type: FromCompositeFieldPath
              - fromFieldPath: spec.publishConnectionDetailsTo.name
                policy:
                  fromFieldPath: Optional
                toFieldPath: spec.publishConnectionDetailsTo.name
                type: FromCompositeFieldPath
          - name: Status
            patches:
              - fromFieldPath: status.atProvider.arn
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.arn
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.certificateAuthority
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.certificateAuthority
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.clusterId
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.clusterId
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.createdAt
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.createdAt
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.enabledClusterLogTypes
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.enabledClusterLogTypes
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.encryptionConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.encryptionConfig
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.endpoint
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.endpoint
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.id
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.id
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.identity
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.identity
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.kubernetesNetworkConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.kubernetesNetworkConfig
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.outpostConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.outpostConfig
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.platformVersion
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.platformVersion
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.roleArn
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.roleArn
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.status
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.status
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.tags
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.tags
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.tagsAll
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.tagsAll
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.version
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.version
                type: ToCompositeFieldPath
              - fromFieldPath: status.atProvider.vpcConfig
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.atProvider.vpcConfig
                type: ToCompositeFieldPath
          - name: Labels
            patches:
              - fromFieldPath: metadata.labels['controlling.example.cloud/cost-reference']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['controlling.example.cloud/cost-reference']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['controlling.example.cloud/owner']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['controlling.example.cloud/owner']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['controlling.example.cloud/product']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['controlling.example.cloud/product']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['tags.example.cloud/account']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['tags.example.cloud/account']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['tags.example.cloud/environment']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['tags.example.cloud/environment']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['tags.example.cloud/protection-requirement']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['tags.example.cloud/protection-requirement']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['tags.example.cloud/repourl']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['tags.example.cloud/repourl']
                type: FromCompositeFieldPath
              - fromFieldPath: metadata.labels['tags.example.cloud/zone']
                policy:
                  fromFieldPath: Optional
                toFieldPath: metadata.labels['tags.example.cloud/zone']
                type: FromCompositeFieldPath
        resources:
          - base:
              apiVersion: eks.aws.upbound.io/v1beta1
              kind: Cluster
              metadata:
                labels:
                  commonLabelA: commonLabelAValue
                  commonLabelB: commonLabelBValue
              spec:
                providerConfigRef:
                  name: default
            name: Cluster
            patches:
              - patchSetName: Name
                type: PatchSet
              - patchSetName: External-Name
                type: PatchSet
              - patchSetName: Common
                type: PatchSet
              - patchSetName: Parameters
                type: PatchSet
              - patchSetName: Status
                type: PatchSet
              - patchSetName: Labels
                type: PatchSet
              - fromFieldPath: metadata.annotations["crossplane.io/external-name"]
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.uid
                type: ToCompositeFieldPath
              - fromFieldPath: status.conditions
                policy:
                  fromFieldPath: Optional
                toFieldPath: status.observed.conditions
                type: ToCompositeFieldPath
    - step: automatically-detect-readiness
      functionRef:
        name: function-auto-ready
Marketplace

Discover the building blocks for your internal cloud platform.

© 2022 Upbound, Inc.

SolutionsProvidersConfigurations
LearnDocumentationTry for Free
MorePrivacy PolicyTerms & Conditions
Marketplace

© 2022 Upbound, Inc.

Marketplace

Discover the building blocksfor your internal cloud platform.