Marketplace
BrowsePublish
Marketplace
upbound/platform-ref-lambda@v0.2.0
xbucket.example.upbound.io

xbucket.example.upbound.io

xbucket.example.upbound.io
upbound/platform-ref-lambda@v0.2.0xbucket.example.upbound.io
Type

Composition

Referenced XRD

XBucket

Source Codegithub.com/upbound/platform-ref-lambda
Resources (4)

The following resources are composed to implement the referenced Composite Resource Definition (XRD).

Kind
Group
Version

Bucket

s3.aws.upbound.io
v1beta1

BucketPublicAccessBlock

s3.aws.upbound.io
v1beta1

BucketServerSideEncryptionConfiguration

s3.aws.upbound.io
v1beta1

BucketVersioning

s3.aws.upbound.io
v1beta1
YAML
kind: Composition
apiVersion: apiextensions.crossplane.io/v1
metadata:
  name: xbucket.example.upbound.io
  creationTimestamp: null
  labels:
    crossplane.io/provider: aws
spec:
  compositeTypeRef:
    apiVersion: example.upbound.io/v1alpha1
    kind: XBucket
  patchSets:
    - name: providerConfigRef
      patches:
        - type: FromCompositeFieldPath
          fromFieldPath: spec.parameters.providerConfigName
          toFieldPath: spec.providerConfigRef.name
    - name: region
      patches:
        - type: FromCompositeFieldPath
          fromFieldPath: spec.parameters.region
          toFieldPath: spec.forProvider.region
    - name: deletionPolicy
      patches:
        - type: FromCompositeFieldPath
          fromFieldPath: spec.parameters.deletionPolicy
          toFieldPath: spec.deletionPolicy
    - name: userTags
      patches:
        - type: FromCompositeFieldPath
          fromFieldPath: spec.parameters.tags
          toFieldPath: spec.forProvider.tags
          policy:
            mergeOptions:
              keepMapValues: false
              appendSlice: true
  resources:
    - name: s3-bucket
      base:
        apiVersion: s3.aws.upbound.io/v1beta1
        kind: Bucket
        spec:
          forProvider:
            acl: private
            publicAccessBlockConfiguration:
              blockPublicAcls: true
              blockPublicPolicy: true
              ignorePublicAcls: true
              restrictPublicBuckets: true
            serverSideEncryptionConfiguration:
              rules:
                - applyServerSideEncryptionByDefault:
                    sseAlgorithm: AES256
      patches:
        - type: PatchSet
          patchSetName: providerConfigRef
        - type: PatchSet
          patchSetName: region
        - type: PatchSet
          patchSetName: deletionPolicy
        - type: PatchSet
          patchSetName: userTags
        - fromFieldPath: spec.writeConnectionSecretToRef.namespace
          toFieldPath: spec.writeConnectionSecretToRef.namespace
        - fromFieldPath: spec.parameters.bucketName
          toFieldPath: metadata.name
        - type: ToCompositeFieldPath
          fromFieldPath: metadata.annotations[crossplane.io/external-name]
          toFieldPath: status.bucketName
        - type: ToCompositeFieldPath
          fromFieldPath: status.atProvider.arn
          toFieldPath: status.bucketArn
        - type: ToCompositeFieldPath
          fromFieldPath: status.atProvider.bucketDomainName
          toFieldPath: status.bucketDomainName
        - fromFieldPath: metadata.labels[crossplane.io/composite]
          toFieldPath: spec.writeConnectionSecretToRef.name
          transforms:
            - type: string
              string:
                fmt: "%s-bucket"
    - name: s3-blockpublicaccess
      base:
        apiVersion: s3.aws.upbound.io/v1beta1
        kind: BucketPublicAccessBlock
        spec:
          forProvider:
            blockPublicPolicy: true
            bucketSelector:
              matchControllerRef: true
            ignorePublicAcls: true
            lockPublicAcls: true
            restrictPublicBuckets: true
      patches:
        - type: PatchSet
          patchSetName: providerConfigRef
        - type: PatchSet
          patchSetName: region
        - type: PatchSet
          patchSetName: deletionPolicy
        - type: PatchSet
          patchSetName: userTags
    - name: s3-serversideencryption
      base:
        apiVersion: s3.aws.upbound.io/v1beta1
        kind: BucketServerSideEncryptionConfiguration
        spec:
          forProvider:
            bucketSelector:
              matchControllerRef: true
            rule:
              - applyServerSideEncryptionByDefault:
                  - sseAlgorithm: AES256
      patches:
        - type: PatchSet
          patchSetName: providerConfigRef
        - type: PatchSet
          patchSetName: region
        - type: PatchSet
          patchSetName: deletionPolicy
        - type: PatchSet
          patchSetName: userTags
    - name: s3-bucketVersioning
      base:
        apiVersion: s3.aws.upbound.io/v1beta1
        kind: BucketVersioning
        spec:
          forProvider:
            bucketSelector:
              matchControllerRef: true
            versioningConfiguration:
              - status: Enabled
      patches:
        - type: PatchSet
          patchSetName: providerConfigRef
        - type: PatchSet
          patchSetName: region
        - type: PatchSet
          patchSetName: deletionPolicy
  writeConnectionSecretsToNamespace: upbound-system
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.