{
  "description": "OpenIDConnectProvider is the Schema for the OpenIDConnectProviders API",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "OpenIDConnectProviderSpec defines the desired state of OpenIDConnectProvider.",
      "properties": {
        "clientIDs": {
          "description": "Provides a list of client IDs, also known as audiences. When a mobile or\nweb app registers with an OpenID Connect provider, they establish a value\nthat identifies the application. This is the value that's sent as the client_id\nparameter on OAuth requests.\n\nYou can register multiple client IDs with the same provider. For example,\nyou might have multiple applications that use the same OIDC provider. You\ncannot register more than 100 client IDs with a single IAM OIDC provider.\n\nThere is no defined format for a client ID. The CreateOpenIDConnectProviderRequest\noperation accepts client IDs up to 255 characters long.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tags": {
          "description": "A list of tags that you want to attach to the new IAM OpenID Connect (OIDC)\nprovider. Each tag consists of a key name and an associated value. For more\ninformation about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created.",
          "items": {
            "description": "A structure that represents user-provided metadata that can be associated\nwith an IAM resource. For more information about tagging, see Tagging IAM\nresources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.",
            "properties": {
              "key": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "thumbprints": {
          "description": "A list of server certificate thumbprints for the OpenID Connect (OIDC) identity\nprovider's server certificates. Typically this list includes only one entry.\nHowever, IAM lets you have up to five thumbprints for an OIDC provider. This\nlets you maintain multiple thumbprints if the identity provider is rotating\ncertificates.\n\nThis parameter is optional. If it is not included, IAM will retrieve and\nuse the top intermediate certificate authority (CA) thumbprint of the OpenID\nConnect identity provider server certificate.\n\nThe server certificate thumbprint is the hex-encoded SHA-1 hash value of\nthe X.509 certificate used by the domain where the OpenID Connect provider\nmakes its keys available. It is always a 40-character string.\n\nFor example, assume that the OIDC provider is server.example.com and the\nprovider stores its keys at https://keys.server.example.com/openid-connect.\nIn that case, the thumbprint string would be the hex-encoded SHA-1 hash value\nof the certificate used by https://keys.server.example.com.\n\nFor more information about obtaining the OIDC provider thumbprint, see Obtaining\nthe thumbprint for an OpenID Connect provider (https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html)\nin the IAM user Guide.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "The URL of the identity provider. The URL must begin with https:// and should\ncorrespond to the iss claim in the provider's OpenID Connect ID tokens. Per\nthe OIDC standard, path components are allowed but query parameters are not.\nTypically the URL consists of only a hostname, like https://server.example.org\nor https://example.com. The URL should not contain a port number.\n\nYou cannot register the same provider multiple times in a single Amazon Web\nServices account. If you try to submit a URL that has already been used for\nan OpenID Connect provider in the Amazon Web Services account, you will get\nan error.",
          "type": "string",
          "x-kubernetes-validations": [
            {
              "message": "Value is immutable once set",
              "rule": "self == oldSelf"
            }
          ]
        }
      },
      "required": [
        "url"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "OpenIDConnectProviderStatus defines the observed state of OpenIDConnectProvider",
      "properties": {
        "ackResourceMetadata": {
          "description": "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource",
          "properties": {
            "arn": {
              "description": "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270",
              "type": "string"
            },
            "ownerAccountID": {
              "description": "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource.",
              "type": "string"
            },
            "region": {
              "description": "Region is the AWS region in which the resource exists or will exist.",
              "type": "string"
            }
          },
          "required": [
            "ownerAccountID",
            "region"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "conditions": {
          "description": "All CRs managed by ACK have a common `Status.Conditions` member that\ncontains a collection of `ackv1alpha1.Condition` objects that describe\nthe various terminal states of the CR and its backend AWS service API\nresource",
          "items": {
            "description": "Condition is the common struct used by all CRDs managed by ACK service\ncontrollers to indicate terminal states  of the CR and its backend AWS\nservice API resource",
            "properties": {
              "lastTransitionTime": {
                "description": "Last time the condition transitioned from one status to another.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "A human readable message indicating details about the transition.",
                "type": "string"
              },
              "reason": {
                "description": "The reason for the condition's last transition.",
                "type": "string"
              },
              "status": {
                "description": "Status of the condition, one of True, False, Unknown.",
                "type": "string"
              },
              "type": {
                "description": "Type is the type of the Condition",
                "type": "string"
              }
            },
            "required": [
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
