config/crds/resources/apiextensions.k8s.io_v1_customresourcedefinition_privatecacertificates.privateca.cnrm.cloud.google.com.yaml (906 lines of code) (raw):
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cnrm.cloud.google.com/version: 0.0.0-dev
creationTimestamp: null
labels:
cnrm.cloud.google.com/dcl2crd: "true"
cnrm.cloud.google.com/managed-by-kcc: "true"
cnrm.cloud.google.com/stability-level: stable
cnrm.cloud.google.com/system: "true"
name: privatecacertificates.privateca.cnrm.cloud.google.com
spec:
group: privateca.cnrm.cloud.google.com
names:
categories:
- gcp
kind: PrivateCACertificate
plural: privatecacertificates
shortNames:
- gcpprivatecacertificate
- gcpprivatecacertificates
singular: privatecacertificate
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: When 'True', the most recent reconcile of the resource succeeded
jsonPath: .status.conditions[?(@.type=='Ready')].status
name: Ready
type: string
- description: The reason for the value in 'Ready'
jsonPath: .status.conditions[?(@.type=='Ready')].reason
name: Status
type: string
- description: The last transition time for the value in 'Status'
jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
name: Status Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
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/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/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
properties:
caPoolRef:
description: Immutable.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: |-
The ca_pool for the resource
Allowed value: The Google Cloud resource name of a `PrivateCACAPool` resource (format: `projects/{{project}}/locations/{{location}}/caPools/{{name}}`).
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
certificateAuthorityRef:
description: Immutable.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: |-
The certificate authority for the resource
Allowed value: The Google Cloud resource name of a `PrivateCACertificateAuthority` resource (format: `projects/{{project}}/locations/{{location}}/caPools/{{ca_pool}}/certificateAuthorities/{{name}}`).
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
certificateTemplateRef:
description: Immutable.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: |-
Immutable. The resource name for a CertificateTemplate used to issue this certificate, in the format `projects/*/locations/*/certificateTemplates/*`. If this is specified, the caller must have the necessary permission to use this template. If this is omitted, no template will be used. This template must be in the same location as the Certificate.
Allowed value: The `selfLink` field of a `PrivateCACertificateTemplate` resource.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
config:
description: Immutable. Immutable. A description of the certificate
and key that does not require X.509 or ASN.1.
properties:
publicKey:
description: Immutable. Optional. The public key that corresponds
to this config. This is, for example, used when issuing Certificates,
but not when creating a self-signed CertificateAuthority or
CertificateAuthority CSR.
properties:
format:
description: 'Immutable. Required. The format of the public
key. Possible values: KEY_FORMAT_UNSPECIFIED, PEM'
type: string
key:
description: Immutable. Required. A public key. The padding
and encoding must match with the `KeyFormat` value specified
for the `format` field.
type: string
required:
- format
- key
type: object
subjectConfig:
description: Immutable. Required. Specifies some of the values
in a certificate that are related to the subject.
properties:
subject:
description: Immutable. Required. Contains distinguished name
fields such as the common name, location and organization.
properties:
commonName:
description: Immutable. The "common name" of the subject.
type: string
countryCode:
description: Immutable. The country code of the subject.
type: string
locality:
description: Immutable. The locality or city of the subject.
type: string
organization:
description: Immutable. The organization of the subject.
type: string
organizationalUnit:
description: Immutable. The organizational_unit of the
subject.
type: string
postalCode:
description: Immutable. The postal code of the subject.
type: string
province:
description: Immutable. The province, territory, or regional
state of the subject.
type: string
streetAddress:
description: Immutable. The street address of the subject.
type: string
type: object
subjectAltName:
description: Immutable. Optional. The subject alternative
name fields.
properties:
dnsNames:
description: Immutable. Contains only valid, fully-qualified
host names.
items:
type: string
type: array
emailAddresses:
description: Immutable. Contains only valid RFC 2822 E-mail
addresses.
items:
type: string
type: array
ipAddresses:
description: Immutable. Contains only valid 32-bit IPv4
addresses or RFC 4291 IPv6 addresses.
items:
type: string
type: array
uris:
description: Immutable. Contains only valid RFC 3986 URIs.
items:
type: string
type: array
type: object
required:
- subject
type: object
x509Config:
description: Immutable. Required. Describes how some of the technical
X.509 fields in a certificate should be populated.
properties:
additionalExtensions:
description: Immutable. Optional. Describes custom X.509 extensions.
items:
properties:
critical:
description: Immutable. Optional. Indicates whether
or not this extension is critical (i.e., if the client
does not know how to handle this extension, the client
should consider this to be an error).
type: boolean
objectId:
description: Immutable. Required. The OID for this X.509
extension.
properties:
objectIdPath:
description: Immutable. Required. The parts of an
OID path. The most significant parts of the path
come first.
items:
format: int64
type: integer
type: array
required:
- objectIdPath
type: object
value:
description: Immutable. Required. The value of this
X.509 extension.
type: string
required:
- objectId
- value
type: object
type: array
aiaOcspServers:
description: Immutable. Optional. Describes Online Certificate
Status Protocol (OCSP) endpoint addresses that appear in
the "Authority Information Access" extension in the certificate.
items:
type: string
type: array
caOptions:
description: Immutable. Optional. Describes options in this
X509Parameters that are relevant in a CA certificate.
properties:
isCa:
description: Immutable. Optional. When true, the "CA"
in Basic Constraints extension will be set to true.
type: boolean
maxIssuerPathLength:
description: Immutable. Optional. Refers to the "path
length constraint" in Basic Constraints extension. For
a CA certificate, this value describes the depth of
subordinate CA certificates that are allowed. If this
value is less than 0, the request will fail.
format: int64
type: integer
nonCa:
description: Immutable. Optional. When true, the "CA"
in Basic Constraints extension will be set to false.
If both `is_ca` and `non_ca` are unset, the extension
will be omitted from the CA certificate.
type: boolean
zeroMaxIssuerPathLength:
description: Immutable. Optional. When true, the "path
length constraint" in Basic Constraints extension will
be set to 0. if both max_issuer_path_length and zero_max_issuer_path_length
are unset, the max path length will be omitted from
the CA certificate.
type: boolean
type: object
keyUsage:
description: Immutable. Optional. Indicates the intended use
for keys that correspond to a certificate.
properties:
baseKeyUsage:
description: Immutable. Describes high-level ways in which
a key may be used.
properties:
certSign:
description: Immutable. The key may be used to sign
certificates.
type: boolean
contentCommitment:
description: Immutable. The key may be used for cryptographic
commitments. Note that this may also be referred
to as "non-repudiation".
type: boolean
crlSign:
description: Immutable. The key may be used sign certificate
revocation lists.
type: boolean
dataEncipherment:
description: Immutable. The key may be used to encipher
data.
type: boolean
decipherOnly:
description: Immutable. The key may be used to decipher
only.
type: boolean
digitalSignature:
description: Immutable. The key may be used for digital
signatures.
type: boolean
encipherOnly:
description: Immutable. The key may be used to encipher
only.
type: boolean
keyAgreement:
description: Immutable. The key may be used in a key
agreement protocol.
type: boolean
keyEncipherment:
description: Immutable. The key may be used to encipher
other keys.
type: boolean
type: object
extendedKeyUsage:
description: Immutable. Detailed scenarios in which a
key may be used.
properties:
clientAuth:
description: Immutable. Corresponds to OID 1.3.6.1.5.5.7.3.2.
Officially described as "TLS WWW client authentication",
though regularly used for non-WWW TLS.
type: boolean
codeSigning:
description: Immutable. Corresponds to OID 1.3.6.1.5.5.7.3.3.
Officially described as "Signing of downloadable
executable code client authentication".
type: boolean
emailProtection:
description: Immutable. Corresponds to OID 1.3.6.1.5.5.7.3.4.
Officially described as "Email protection".
type: boolean
ocspSigning:
description: Immutable. Corresponds to OID 1.3.6.1.5.5.7.3.9.
Officially described as "Signing OCSP responses".
type: boolean
serverAuth:
description: Immutable. Corresponds to OID 1.3.6.1.5.5.7.3.1.
Officially described as "TLS WWW server authentication",
though regularly used for non-WWW TLS.
type: boolean
timeStamping:
description: Immutable. Corresponds to OID 1.3.6.1.5.5.7.3.8.
Officially described as "Binding the hash of an
object to a time".
type: boolean
type: object
unknownExtendedKeyUsages:
description: Immutable. Used to describe extended key
usages that are not listed in the KeyUsage.ExtendedKeyUsageOptions
message.
items:
properties:
objectIdPath:
description: Immutable. Required. The parts of an
OID path. The most significant parts of the path
come first.
items:
format: int64
type: integer
type: array
required:
- objectIdPath
type: object
type: array
type: object
policyIds:
description: Immutable. Optional. Describes the X.509 certificate
policy object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4.
items:
properties:
objectIdPath:
description: Immutable. Required. The parts of an OID
path. The most significant parts of the path come
first.
items:
format: int64
type: integer
type: array
required:
- objectIdPath
type: object
type: array
type: object
required:
- subjectConfig
- x509Config
type: object
lifetime:
description: Immutable. Required. Immutable. The desired lifetime
of a certificate. Used to create the "not_before_time" and "not_after_time"
fields inside an X.509 certificate. Note that the lifetime may be
truncated if it would extend past the life of any certificate authority
in the issuing chain.
type: string
location:
description: Immutable. The location for the resource
type: string
pemCsr:
description: Immutable. Immutable. A pem-encoded X.509 certificate
signing request (CSR).
type: string
projectRef:
description: Immutable. The Project that this resource belongs to.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: |-
The project for the resource
Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
resourceID:
description: Immutable. Optional. The name of the resource. Used for
creation and acquisition. When unset, the value of `metadata.name`
is used as the default.
type: string
subjectMode:
description: 'Immutable. Immutable. Specifies how the Certificate''s
identity fields are to be decided. If this is omitted, the `DEFAULT`
subject mode will be used. Possible values: SUBJECT_REQUEST_MODE_UNSPECIFIED,
DEFAULT, REFLECTED_SPIFFE'
type: string
required:
- caPoolRef
- lifetime
- location
- projectRef
type: object
status:
properties:
certificateDescription:
description: Output only. A structured description of the issued X.509
certificate.
properties:
aiaIssuingCertificateUrls:
description: Describes lists of issuer CA certificate URLs that
appear in the "Authority Information Access" extension in the
certificate.
items:
type: string
type: array
authorityKeyId:
description: Identifies the subject_key_id of the parent certificate,
per https://tools.ietf.org/html/rfc5280#section-4.2.1.1
properties:
keyId:
description: Optional. The value of this KeyId encoded in
lowercase hexadecimal. This is most likely the 160 bit SHA-1
hash of the public key.
type: string
type: object
certFingerprint:
description: The hash of the x.509 certificate.
properties:
sha256Hash:
description: The SHA 256 hash, encoded in hexadecimal, of
the DER x509 certificate.
type: string
type: object
crlDistributionPoints:
description: Describes a list of locations to obtain CRL information,
i.e. the DistributionPoint.fullName described by https://tools.ietf.org/html/rfc5280#section-4.2.1.13
items:
type: string
type: array
publicKey:
description: The public key that corresponds to an issued certificate.
properties:
format:
description: 'Required. The format of the public key. Possible
values: KEY_FORMAT_UNSPECIFIED, PEM'
type: string
key:
description: Required. A public key. The padding and encoding
must match with the `KeyFormat` value specified for the
`format` field.
type: string
type: object
subjectDescription:
description: Describes some of the values in a certificate that
are related to the subject and lifetime.
properties:
hexSerialNumber:
description: The serial number encoded in lowercase hexadecimal.
type: string
lifetime:
description: For convenience, the actual lifetime of an issued
certificate.
type: string
notAfterTime:
description: The time after which the certificate is expired.
Per RFC 5280, the validity period for a certificate is the
period of time from not_before_time through not_after_time,
inclusive. Corresponds to 'not_before_time' + 'lifetime'
- 1 second.
format: date-time
type: string
notBeforeTime:
description: The time at which the certificate becomes valid.
format: date-time
type: string
subject:
description: Contains distinguished name fields such as the
common name, location and / organization.
properties:
commonName:
description: The "common name" of the subject.
type: string
countryCode:
description: The country code of the subject.
type: string
locality:
description: The locality or city of the subject.
type: string
organization:
description: The organization of the subject.
type: string
organizationalUnit:
description: The organizational_unit of the subject.
type: string
postalCode:
description: The postal code of the subject.
type: string
province:
description: The province, territory, or regional state
of the subject.
type: string
streetAddress:
description: The street address of the subject.
type: string
type: object
subjectAltName:
description: The subject alternative name fields.
properties:
customSans:
description: Contains additional subject alternative name
values.
items:
properties:
critical:
description: Optional. Indicates whether or not
this extension is critical (i.e., if the client
does not know how to handle this extension, the
client should consider this to be an error).
type: boolean
objectId:
description: Required. The OID for this X.509 extension.
properties:
objectIdPath:
description: Required. The parts of an OID path.
The most significant parts of the path come
first.
items:
format: int64
type: integer
type: array
type: object
value:
description: Required. The value of this X.509 extension.
type: string
type: object
type: array
dnsNames:
description: Contains only valid, fully-qualified host
names.
items:
type: string
type: array
emailAddresses:
description: Contains only valid RFC 2822 E-mail addresses.
items:
type: string
type: array
ipAddresses:
description: Contains only valid 32-bit IPv4 addresses
or RFC 4291 IPv6 addresses.
items:
type: string
type: array
uris:
description: Contains only valid RFC 3986 URIs.
items:
type: string
type: array
type: object
type: object
subjectKeyId:
description: Provides a means of identifiying certificates that
contain a particular public key, per https://tools.ietf.org/html/rfc5280#section-4.2.1.2.
properties:
keyId:
description: Optional. The value of this KeyId encoded in
lowercase hexadecimal. This is most likely the 160 bit SHA-1
hash of the public key.
type: string
type: object
x509Description:
description: Describes some of the technical X.509 fields in a
certificate.
properties:
additionalExtensions:
description: Optional. Describes custom X.509 extensions.
items:
properties:
critical:
description: Optional. Indicates whether or not this
extension is critical (i.e., if the client does not
know how to handle this extension, the client should
consider this to be an error).
type: boolean
objectId:
description: Required. The OID for this X.509 extension.
properties:
objectIdPath:
description: Required. The parts of an OID path.
The most significant parts of the path come first.
items:
format: int64
type: integer
type: array
type: object
value:
description: Required. The value of this X.509 extension.
type: string
type: object
type: array
aiaOcspServers:
description: Optional. Describes Online Certificate Status
Protocol (OCSP) endpoint addresses that appear in the "Authority
Information Access" extension in the certificate.
items:
type: string
type: array
caOptions:
description: Optional. Describes options in this X509Parameters
that are relevant in a CA certificate.
properties:
isCa:
description: Optional. Refers to the "CA" X.509 extension,
which is a boolean value. When this value is missing,
the extension will be omitted from the CA certificate.
type: boolean
maxIssuerPathLength:
description: Optional. Refers to the path length restriction
X.509 extension. For a CA certificate, this value describes
the depth of subordinate CA certificates that are allowed.
If this value is less than 0, the request will fail.
If this value is missing, the max path length will be
omitted from the CA certificate.
format: int64
type: integer
type: object
keyUsage:
description: Optional. Indicates the intended use for keys
that correspond to a certificate.
properties:
baseKeyUsage:
description: Describes high-level ways in which a key
may be used.
properties:
certSign:
description: The key may be used to sign certificates.
type: boolean
contentCommitment:
description: The key may be used for cryptographic
commitments. Note that this may also be referred
to as "non-repudiation".
type: boolean
crlSign:
description: The key may be used sign certificate
revocation lists.
type: boolean
dataEncipherment:
description: The key may be used to encipher data.
type: boolean
decipherOnly:
description: The key may be used to decipher only.
type: boolean
digitalSignature:
description: The key may be used for digital signatures.
type: boolean
encipherOnly:
description: The key may be used to encipher only.
type: boolean
keyAgreement:
description: The key may be used in a key agreement
protocol.
type: boolean
keyEncipherment:
description: The key may be used to encipher other
keys.
type: boolean
type: object
extendedKeyUsage:
description: Detailed scenarios in which a key may be
used.
properties:
clientAuth:
description: Corresponds to OID 1.3.6.1.5.5.7.3.2.
Officially described as "TLS WWW client authentication",
though regularly used for non-WWW TLS.
type: boolean
codeSigning:
description: Corresponds to OID 1.3.6.1.5.5.7.3.3.
Officially described as "Signing of downloadable
executable code client authentication".
type: boolean
emailProtection:
description: Corresponds to OID 1.3.6.1.5.5.7.3.4.
Officially described as "Email protection".
type: boolean
ocspSigning:
description: Corresponds to OID 1.3.6.1.5.5.7.3.9.
Officially described as "Signing OCSP responses".
type: boolean
serverAuth:
description: Corresponds to OID 1.3.6.1.5.5.7.3.1.
Officially described as "TLS WWW server authentication",
though regularly used for non-WWW TLS.
type: boolean
timeStamping:
description: Corresponds to OID 1.3.6.1.5.5.7.3.8.
Officially described as "Binding the hash of an
object to a time".
type: boolean
type: object
unknownExtendedKeyUsages:
description: Used to describe extended key usages that
are not listed in the KeyUsage.ExtendedKeyUsageOptions
message.
items:
properties:
objectIdPath:
description: Required. The parts of an OID path.
The most significant parts of the path come first.
items:
format: int64
type: integer
type: array
type: object
type: array
type: object
policyIds:
description: Optional. Describes the X.509 certificate policy
object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4.
items:
properties:
objectIdPath:
description: Required. The parts of an OID path. The
most significant parts of the path come first.
items:
format: int64
type: integer
type: array
type: object
type: array
type: object
type: object
conditions:
description: Conditions represent the latest available observation
of the resource's current state.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
type: string
message:
description: Human-readable message indicating details about
last transition.
type: string
reason:
description: Unique, one-word, CamelCase reason for the condition's
last transition.
type: string
status:
description: Status is the status of the condition. Can be True,
False, Unknown.
type: string
type:
description: Type is the type of the condition.
type: string
type: object
type: array
createTime:
description: Output only. The time at which this Certificate was created.
format: date-time
type: string
issuerCertificateAuthority:
description: Output only. The resource name of the issuing CertificateAuthority
in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
type: string
observedGeneration:
description: ObservedGeneration is the generation of the resource
that was most recently observed by the Config Connector controller.
If this is equal to metadata.generation, then that means that the
current reported status reflects the most recent desired state of
the resource.
type: integer
pemCertificate:
description: Output only. The pem-encoded, signed X.509 certificate.
type: string
pemCertificateChain:
description: Output only. The chain that may be used to verify the
X.509 certificate. Expected to be in issuer-to-root order according
to RFC 5246.
items:
type: string
type: array
revocationDetails:
description: Output only. Details regarding the revocation of this
Certificate. This Certificate is considered revoked if and only
if this field is present.
properties:
revocationState:
description: 'Indicates why a Certificate was revoked. Possible
values: REVOCATION_REASON_UNSPECIFIED, KEY_COMPROMISE, CERTIFICATE_AUTHORITY_COMPROMISE,
AFFILIATION_CHANGED, SUPERSEDED, CESSATION_OF_OPERATION, CERTIFICATE_HOLD,
PRIVILEGE_WITHDRAWN, ATTRIBUTE_AUTHORITY_COMPROMISE'
type: string
revocationTime:
description: The time at which this Certificate was revoked.
format: date-time
type: string
type: object
updateTime:
description: Output only. The time at which this Certificate was updated.
format: date-time
type: string
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []