--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.18.0 name: cronoperations.ops.crossplane.io spec: group: ops.crossplane.io names: categories: - crossplane kind: CronOperation listKind: CronOperationList plural: cronoperations shortNames: - cronops singular: cronoperation scope: Cluster versions: - additionalPrinterColumns: - jsonPath: .spec.schedule name: SCHEDULE type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string - jsonPath: .status.conditions[?(@.type=='Scheduling')].status name: SCHEDULING type: string - jsonPath: .status.lastScheduleTime name: LAST SCHEDULE type: date - jsonPath: .status.lastSuccessfulTime name: LAST SUCCESS type: date - jsonPath: .metadata.creationTimestamp name: AGE type: date name: v1alpha1 schema: openAPIV3Schema: description: A CronOperation creates Operations on a cron schedule. 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: CronOperationSpec specifies the desired state of a CronOperation. properties: concurrencyPolicy: default: Allow description: |- ConcurrencyPolicy specifies how to treat concurrent executions of an operation. enum: - Allow - Forbid - Replace type: string failedHistoryLimit: default: 1 description: FailedHistoryLimit is the number of failed Operations to retain. format: int32 type: integer operationTemplate: description: OperationTemplate is the template for the Operation to be created. properties: metadata: description: Standard object metadata. type: object spec: description: Spec is the specification of the Operation to be created. properties: mode: default: Pipeline description: |- Mode controls what type or "mode" of operation will be used. "Pipeline" indicates that an Operation specifies a pipeline of functions, each of which is responsible for implementing its logic. enum: - Pipeline type: string pipeline: description: |- Pipeline is a list of operation function steps that will be used when this operation runs. items: description: A PipelineStep in an operation function pipeline. properties: credentials: description: Credentials are optional credentials that the operation 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 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 unction 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 that will be fetched before this pipeline step is called for the first time. items: description: |- RequiredResourceSelector selects resources that should be fetched before a pipeline step runs. properties: apiVersion: description: APIVersion of resources to select. type: string kind: description: Kind of resources to select. type: string matchLabels: additionalProperties: type: string description: |- MatchLabels matches resources by label selector. Only one of Name or MatchLabels may be specified. type: object name: description: |- Name matches a single resource by name. Only one of Name or MatchLabels may be specified. type: string namespace: description: Namespace to search for resources. Optional for cluster-scoped resources. type: string requirementName: description: |- RequirementName uniquely identifies this group of resources. This name will be used as the key in RunFunctionRequest.required_resources. 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 maxItems: 99 minItems: 1 type: array x-kubernetes-list-map-keys: - step x-kubernetes-list-type: map retryLimit: description: |- RetryLimit configures how many times the operation may fail. When the failure limit is exceeded, the operation will not be retried. format: int64 type: integer required: - mode - pipeline type: object required: - spec type: object schedule: description: Schedule is the cron schedule for the operation. type: string startingDeadlineSeconds: description: |- StartingDeadlineSeconds is the deadline in seconds for starting the operation if it misses its scheduled time for any reason. format: int64 type: integer successfulHistoryLimit: default: 3 description: SuccessfulHistoryLimit is the number of successful Operations to retain. format: int32 type: integer required: - operationTemplate - schedule type: object status: description: CronOperationStatus represents the observed state of a CronOperation. 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 lastScheduleTime: description: LastScheduleTime is the last time the CronOperation was scheduled. format: date-time type: string lastSuccessfulTime: description: |- LastSuccessfulTime is the last time the CronOperation was successfully completed. format: date-time type: string runningOperationRefs: description: RunningOperationRefs is a list of currently running Operations. items: description: A RunningOperationRef is a reference to a running operation. properties: name: description: Name of the active operation. type: string required: - name type: object type: array type: object type: object served: true storage: true subresources: status: {}