--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.18.0 name: compositionrevisions.apiextensions.crossplane.io spec: group: apiextensions.crossplane.io names: categories: - crossplane kind: CompositionRevision listKind: CompositionRevisionList plural: compositionrevisions shortNames: - comprev singular: compositionrevision scope: Cluster versions: - additionalPrinterColumns: - jsonPath: .spec.revision name: REVISION type: string - jsonPath: .spec.compositeTypeRef.kind name: XR-KIND type: string - jsonPath: .spec.compositeTypeRef.apiVersion name: XR-APIVERSION type: string - jsonPath: .metadata.creationTimestamp name: AGE type: date name: v1 schema: openAPIV3Schema: description: |- A CompositionRevision represents a revision of a Composition. Crossplane creates new revisions when there are changes to the Composition. Crossplane creates and manages CompositionRevisions. Don't directly edit CompositionRevisions. 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: |- CompositionRevisionSpec specifies the desired state of the composition revision. 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 x-kubernetes-validations: - message: Value is immutable rule: self == oldSelf mode: default: Pipeline description: |- Mode controls what type or "mode" of Composition will be used. "Pipeline" indicates that a Composition specifies a pipeline of functions, each of which is responsible for producing composed resources that Crossplane should create or update. enum: - Pipeline type: string pipeline: description: |- Pipeline is a list of function steps that will be used when a composite resource referring to this composition is created. The Pipeline is only used by the "Pipeline" mode of Composition. It is ignored by other modes. items: description: A PipelineStep in a function pipeline. properties: credentials: description: Credentials are optional credentials that the function needs. items: description: |- FunctionCredentials are optional credentials that a function needs to run. properties: name: description: Name of this set of credentials. type: string secretRef: description: |- A SecretRef is a reference to a secret containing credentials that should be supplied to the function. properties: name: description: Name of the secret. type: string namespace: description: Namespace of the secret. type: string required: - name - namespace type: object source: description: Source of the function credentials. enum: - None - Secret type: string required: - name - source type: object x-kubernetes-validations: - message: the Secret source requires a secretRef rule: self.source == 'Secret' && has(self.secretRef) type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map functionRef: description: |- FunctionRef is a reference to the function this step should execute. properties: name: description: Name of the referenced Function. type: string required: - name type: object input: description: |- Input is an optional, arbitrary Kubernetes resource (i.e. a resource with an apiVersion and kind) that will be passed to the function as the 'input' of its RunFunctionRequest. type: object x-kubernetes-embedded-resource: true x-kubernetes-preserve-unknown-fields: true requirements: description: |- Requirements are resource requirements that will be satisfied before this pipeline step is called for the first time. This allows pre-populating required resources without requiring a function to request them first. properties: requiredResources: description: |- RequiredResources is a list of resources that must be fetched before this function is called. items: description: RequiredResourceSelector selects a required resource. properties: apiVersion: description: APIVersion of the required resource. type: string kind: description: Kind of the required resource. type: string matchLabels: additionalProperties: type: string description: |- MatchLabels specifies the set of labels to match for finding the required resource. When specified, Name is ignored. type: object name: description: Name of the required resource. type: string namespace: description: Namespace of the required resource if it is namespaced. type: string requirementName: description: |- RequirementName is the unique name to identify this required resource in the Required Resources map in the function request. type: string required: - apiVersion - kind - requirementName type: object x-kubernetes-validations: - message: Either name or matchLabels must be specified, but not both rule: (has(self.name) && !has(self.matchLabels)) || (!has(self.name) && has(self.matchLabels)) type: array x-kubernetes-list-map-keys: - requirementName x-kubernetes-list-type: map type: object step: description: Step name. Must be unique within its Pipeline. type: string required: - functionRef - step type: object type: array x-kubernetes-list-map-keys: - step x-kubernetes-list-type: map revision: description: |- Revision number. Newer revisions have larger numbers. This number can change. When a Composition transitions from state A -> B -> A there will be only two CompositionRevisions. Crossplane will edit the original CompositionRevision to change its revision number from 0 to 2. format: int64 type: integer 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 - revision type: object status: description: |- CompositionRevisionStatus shows the observed state of the composition revision. 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 observedGeneration: description: |- ObservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 type: integer 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 x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map type: object type: object served: true storage: true subresources: status: {}