
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.2.4
  creationTimestamp: null
  name: compositions.apiextensions.crossplane.io
spec:
  additionalPrinterColumns:
  - JSONPath: .metadata.creationTimestamp
    name: AGE
    type: date
  group: apiextensions.crossplane.io
  names:
    categories:
    - crossplane
    kind: Composition
    listKind: CompositionList
    plural: compositions
    singular: composition
  scope: Cluster
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      description: Composition defines the group of resources to be created when a compatible type is created with reference to the composition.
      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 the desired state of the definition.
          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
            resources:
              description: Resources is the list of resource templates that will be used when a composite resource referring to this composition is created.
              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
                  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 given target resource.
                          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
                        value:
                          description: Value that will be propagated to the connection secret of the composition instance. Typically you should use FromConnectionSecretKey instead, but an explicit value may be set to inject a fixed, non-sensitive connection secret values, for example a well-known port. Supercedes FromConnectionSecretKey when set.
                          type: string
                      type: object
                    type: array
                  patches:
                    description: Patches will be applied as overlay to the base resource.
                    items:
                      description: Patch is used to patch the field on the base resource at ToFieldPath after piping the value that is at FromFieldPath of the target resource through transformers.
                      properties:
                        fromFieldPath:
                          description: FromFieldPath is the path of the field on the upstream resource whose value to be used as input.
                          type: string
                        toFieldPath:
                          description: ToFieldPath is the path of the field on the base resource whose value will be changed with the result of transforms. Leave empty if you'd like to propagate to the same path on the target resource.
                          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:
                              map:
                                additionalProperties:
                                  type: string
                                description: Map uses the input as a key in the given map and returns the value.
                                type: object
                              math:
                                description: Math is used to transform the input via mathematical operations such as multiplication.
                                properties:
                                  multiply:
                                    description: Multiply the value.
                                    format: int64
                                    type: integer
                                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:
                                  fmt:
                                    description: Format the input using a Go format string. See https://golang.org/pkg/fmt/ for details.
                                    type: string
                                required:
                                - fmt
                                type: object
                              type:
                                description: Type of the transform to be run.
                                type: string
                            required:
                            - type
                            type: object
                          type: array
                      required:
                      - fromFieldPath
                      type: object
                    type: array
                  readinessChecks:
                    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
                        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
                          - 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.
              type: string
          required:
          - compositeTypeRef
          - resources
          type: object
        status:
          description: CompositionStatus shows the observed state of the composition.
          properties:
            conditions:
              description: Conditions of the resource.
              items:
                description: A Condition that may apply to a resource.
                properties:
                  lastTransitionTime:
                    description: LastTransitionTime is the last time this condition transitioned from one status to another.
                    format: date-time
                    type: string
                  message:
                    description: A Message containing details about this condition's last transition from one status to another, if any.
                    type: string
                  reason:
                    description: A Reason for this condition's last transition from one status to another.
                    type: string
                  status:
                    description: Status of this condition; is it currently True, False, or Unknown?
                    type: string
                  type:
                    description: Type of this condition. At most one of each condition type may apply to a resource at any point in time.
                    type: string
                required:
                - lastTransitionTime
                - reason
                - status
                - type
                type: object
              type: array
          type: object
      type: object
  version: v1alpha1
  versions:
  - name: v1alpha1
    served: true
    storage: true
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
