---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    api-approved.openshift.io: https://github.com/openshift/api/pull/692
    api.openshift.io/merged-by-featuregates: "true"
    capability.openshift.io/name: CloudCredential
    include.release.openshift.io/ibm-cloud-managed: "true"
    include.release.openshift.io/self-managed-high-availability: "true"
  creationTimestamp: "2025-10-27T11:17:42Z"
  generation: 1
  managedFields:
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:api-approved.openshift.io: {}
          f:api.openshift.io/merged-by-featuregates: {}
          f:capability.openshift.io/name: {}
          f:include.release.openshift.io/ibm-cloud-managed: {}
          f:include.release.openshift.io/self-managed-high-availability: {}
      f:spec:
        f:conversion:
          .: {}
          f:strategy: {}
        f:group: {}
        f:names:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:singular: {}
        f:scope: {}
        f:versions: {}
    manager: cluster-bootstrap
    operation: Update
    time: "2025-10-27T11:17:42Z"
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:acceptedNames:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:singular: {}
        f:conditions:
          k:{"type":"Established"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
          k:{"type":"NamesAccepted"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
    manager: kube-apiserver
    operation: Update
    subresource: status
    time: "2025-10-27T11:17:42Z"
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:ownerReferences:
          .: {}
          k:{"uid":"d36bdf59-d268-4238-afb0-5e0b21cca1a4"}: {}
    manager: cluster-version-operator
    operation: Update
    time: "2025-10-27T11:18:20Z"
  name: cloudcredentials.operator.openshift.io
  ownerReferences:
  - apiVersion: config.openshift.io/v1
    controller: true
    kind: ClusterVersion
    name: version
    uid: d36bdf59-d268-4238-afb0-5e0b21cca1a4
  resourceVersion: "1030"
  uid: 2a3cae2a-0e6e-44dd-b509-c2b7fa4be3b0
spec:
  conversion:
    strategy: None
  group: operator.openshift.io
  names:
    kind: CloudCredential
    listKind: CloudCredentialList
    plural: cloudcredentials
    singular: cloudcredential
  scope: Cluster
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        description: |-
          CloudCredential provides a means to configure an operator to manage CredentialsRequests.

          Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
        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: CloudCredentialSpec is the specification of the desired behavior
              of the cloud-credential-operator.
            properties:
              credentialsMode:
                description: |-
                  credentialsMode allows informing CCO that it should not attempt to dynamically
                  determine the root cloud credentials capabilities, and it should just run in
                  the specified mode.
                  It also allows putting the operator into "manual" mode if desired.
                  Leaving the field in default mode runs CCO so that the cluster's cloud credentials
                  will be dynamically probed for capabilities (on supported clouds/platforms).
                  Supported modes:
                    AWS/Azure/GCP: "" (Default), "Mint", "Passthrough", "Manual"
                    Others: Do not set value as other platforms only support running in "Passthrough"
                enum:
                - ""
                - Manual
                - Mint
                - Passthrough
                type: string
              logLevel:
                default: Normal
                description: |-
                  logLevel is an intent based logging for an overall component.  It does not give fine grained control, but it is a
                  simple way to manage coarse grained logging choices that operators have to interpret for their operands.

                  Valid values are: "Normal", "Debug", "Trace", "TraceAll".
                  Defaults to "Normal".
                enum:
                - ""
                - Normal
                - Debug
                - Trace
                - TraceAll
                type: string
              managementState:
                description: managementState indicates whether and how the operator
                  should manage the component
                pattern: ^(Managed|Unmanaged|Force|Removed)$
                type: string
              observedConfig:
                description: |-
                  observedConfig holds a sparse config that controller has observed from the cluster state.  It exists in spec because
                  it is an input to the level for the operator
                nullable: true
                type: object
                x-kubernetes-preserve-unknown-fields: true
              operatorLogLevel:
                default: Normal
                description: |-
                  operatorLogLevel is an intent based logging for the operator itself.  It does not give fine grained control, but it is a
                  simple way to manage coarse grained logging choices that operators have to interpret for themselves.

                  Valid values are: "Normal", "Debug", "Trace", "TraceAll".
                  Defaults to "Normal".
                enum:
                - ""
                - Normal
                - Debug
                - Trace
                - TraceAll
                type: string
              unsupportedConfigOverrides:
                description: |-
                  unsupportedConfigOverrides overrides the final configuration that was computed by the operator.
                  Red Hat does not support the use of this field.
                  Misuse of this field could lead to unexpected behavior or conflict with other configuration options.
                  Seek guidance from the Red Hat support before using this field.
                  Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.
                nullable: true
                type: object
                x-kubernetes-preserve-unknown-fields: true
            type: object
          status:
            description: CloudCredentialStatus defines the observed status of the
              cloud-credential-operator.
            properties:
              conditions:
                description: conditions is a list of conditions and their status
                items:
                  description: OperatorCondition is just the standard condition fields.
                  properties:
                    lastTransitionTime:
                      description: |-
                        lastTransitionTime is the last time the condition transitioned from one status to another.
                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                      format: date-time
                      type: string
                    message:
                      type: string
                    reason:
                      type: string
                    status:
                      description: status of the condition, one of True, False, Unknown.
                      enum:
                      - "True"
                      - "False"
                      - Unknown
                      type: string
                    type:
                      description: type of condition in CamelCase or in foo.example.com/CamelCase.
                      maxLength: 316
                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                      type: string
                  required:
                  - lastTransitionTime
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - type
                x-kubernetes-list-type: map
              generations:
                description: generations are used to determine when an item needs
                  to be reconciled or has changed in a way that needs a reaction.
                items:
                  description: GenerationStatus keeps track of the generation for
                    a given resource so that decisions about forced updates can be
                    made.
                  properties:
                    group:
                      description: group is the group of the thing you're tracking
                      type: string
                    hash:
                      description: hash is an optional field set for resources without
                        generation that are content sensitive like secrets and configmaps
                      type: string
                    lastGeneration:
                      description: lastGeneration is the last generation of the workload
                        controller involved
                      format: int64
                      type: integer
                    name:
                      description: name is the name of the thing you're tracking
                      type: string
                    namespace:
                      description: namespace is where the thing you're tracking is
                      type: string
                    resource:
                      description: resource is the resource type of the thing you're
                        tracking
                      type: string
                  required:
                  - group
                  - name
                  - namespace
                  - resource
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - group
                - resource
                - namespace
                - name
                x-kubernetes-list-type: map
              latestAvailableRevision:
                description: latestAvailableRevision is the deploymentID of the most
                  recent deployment
                format: int32
                type: integer
                x-kubernetes-validations:
                - message: must only increase
                  rule: self >= oldSelf
              observedGeneration:
                description: observedGeneration is the last generation change you've
                  dealt with
                format: int64
                type: integer
              readyReplicas:
                description: readyReplicas indicates how many replicas are ready and
                  at the desired state
                format: int32
                type: integer
              version:
                description: version is the level this availability applies to
                type: string
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: CloudCredential
    listKind: CloudCredentialList
    plural: cloudcredentials
    singular: cloudcredential
  conditions:
  - lastTransitionTime: "2025-10-27T11:17:42Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: "2025-10-27T11:17:42Z"
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1
