Package-level declarations

Types

Link copied to clipboard
data class AccessUrlsResponse(val caCertificateAccessUrl: String, val crlAccessUrls: List<String>)

URLs where a CertificateAuthority will publish content.

Link copied to clipboard
data class AllowedKeyTypeResponse(val ellipticCurve: EcKeyTypeResponse, val rsa: RsaKeyTypeResponse)

Describes a "type" of key that may be used in a Certificate issued from a CaPool. Note that a single AllowedKeyType may refer to either a fully-qualified key algorithm, such as RSA 4096, or a family of key algorithms, such as any RSA key.

Link copied to clipboard
data class AuditConfigResponse(val auditLogConfigs: List<AuditLogConfigResponse>, val service: String)

Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both allServices and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": "user:jose@example.com" }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": "user:aliya@example.com" } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.

Link copied to clipboard
data class AuditLogConfigResponse(val exemptedMembers: List<String>, val logType: String)

Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": "user:jose@example.com" }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.

Link copied to clipboard
data class BindingResponse(val condition: ExprResponse, val members: List<String>, val role: String)

Associates members, or principals, with a role.

Link copied to clipboard
data class CaOptionsResponse(val isCa: Boolean, val maxIssuerPathLength: Int)

Describes values that are relevant in a CA certificate.

Link copied to clipboard
data class CertificateConfigResponse(val publicKey: PublicKeyResponse, val subjectConfig: SubjectConfigResponse, val x509Config: X509ParametersResponse)

A CertificateConfig describes an X.509 certificate or CSR that is to be created, as an alternative to using ASN.1.

Link copied to clipboard
data class CertificateDescriptionResponse(val aiaIssuingCertificateUrls: List<String>, val authorityKeyId: KeyIdResponse, val certFingerprint: CertificateFingerprintResponse, val crlDistributionPoints: List<String>, val publicKey: PublicKeyResponse, val subjectDescription: SubjectDescriptionResponse, val subjectKeyId: KeyIdResponse, val x509Description: X509ParametersResponse)

A CertificateDescription describes an X.509 certificate or CSR that has been issued, as an alternative to using ASN.1 / X.509.

Link copied to clipboard
data class CertificateExtensionConstraintsResponse(val additionalExtensions: List<ObjectIdResponse>, val knownExtensions: List<String>)

Describes a set of X.509 extensions that may be part of some certificate issuance controls.

Link copied to clipboard
data class CertificateFingerprintResponse(val sha256Hash: String)

A group of fingerprints for the x509 certificate.

Link copied to clipboard
data class CertificateIdentityConstraintsResponse(val allowSubjectAltNamesPassthrough: Boolean, val allowSubjectPassthrough: Boolean, val celExpression: ExprResponse)

Describes constraints on a Certificate's Subject and SubjectAltNames.

Link copied to clipboard
data class EcKeyTypeResponse(val signatureAlgorithm: String)

Describes an Elliptic Curve key that may be used in a Certificate issued from a CaPool.

Link copied to clipboard
data class ExprResponse(val description: String, val expression: String, val location: String, val title: String)

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

Link copied to clipboard
data class ExtendedKeyUsageOptionsResponse(val clientAuth: Boolean, val codeSigning: Boolean, val emailProtection: Boolean, val ocspSigning: Boolean, val serverAuth: Boolean, val timeStamping: Boolean)

KeyUsage.ExtendedKeyUsageOptions has fields that correspond to certain common OIDs that could be specified as an extended key usage value.

Link copied to clipboard
data class GetCaPoolIamPolicyResult(val auditConfigs: List<AuditConfigResponse>, val bindings: List<BindingResponse>, val etag: String, val version: Int)
Link copied to clipboard
data class GetCaPoolResult(val issuancePolicy: IssuancePolicyResponse, val labels: Map<String, String>, val name: String, val publishingOptions: PublishingOptionsResponse, val tier: String)
Link copied to clipboard
data class GetCertificateAuthorityResult(val accessUrls: AccessUrlsResponse, val caCertificateDescriptions: List<CertificateDescriptionResponse>, val config: CertificateConfigResponse, val createTime: String, val deleteTime: String, val expireTime: String, val gcsBucket: String, val keySpec: KeyVersionSpecResponse, val labels: Map<String, String>, val lifetime: String, val name: String, val pemCaCertificates: List<String>, val state: String, val subordinateConfig: SubordinateConfigResponse, val tier: String, val type: String, val updateTime: String)
Link copied to clipboard
data class GetCertificateResult(val certificateDescription: CertificateDescriptionResponse, val certificateTemplate: String, val config: CertificateConfigResponse, val createTime: String, val issuerCertificateAuthority: String, val labels: Map<String, String>, val lifetime: String, val name: String, val pemCertificate: String, val pemCertificateChain: List<String>, val pemCsr: String, val revocationDetails: RevocationDetailsResponse, val subjectMode: String, val updateTime: String)
Link copied to clipboard
data class GetCertificateTemplateIamPolicyResult(val auditConfigs: List<AuditConfigResponse>, val bindings: List<BindingResponse>, val etag: String, val version: Int)
Link copied to clipboard
data class GetCertificateTemplateResult(val createTime: String, val description: String, val identityConstraints: CertificateIdentityConstraintsResponse, val labels: Map<String, String>, val name: String, val passthroughExtensions: CertificateExtensionConstraintsResponse, val predefinedValues: X509ParametersResponse, val updateTime: String)
Link copied to clipboard
data class IssuanceModesResponse(val allowConfigBasedIssuance: Boolean, val allowCsrBasedIssuance: Boolean)

IssuanceModes specifies the allowed ways in which Certificates may be requested from this CaPool.

Link copied to clipboard
data class IssuancePolicyResponse(val allowedIssuanceModes: IssuanceModesResponse, val allowedKeyTypes: List<AllowedKeyTypeResponse>, val baselineValues: X509ParametersResponse, val identityConstraints: CertificateIdentityConstraintsResponse, val maximumLifetime: String, val passthroughExtensions: CertificateExtensionConstraintsResponse)

Defines controls over all certificate issuance within a CaPool.

Link copied to clipboard
data class KeyIdResponse(val keyId: String)

A KeyId identifies a specific public key, usually by hashing the public key.

Link copied to clipboard
data class KeyUsageOptionsResponse(val certSign: Boolean, val contentCommitment: Boolean, val crlSign: Boolean, val dataEncipherment: Boolean, val decipherOnly: Boolean, val digitalSignature: Boolean, val encipherOnly: Boolean, val keyAgreement: Boolean, val keyEncipherment: Boolean)

KeyUsage.KeyUsageOptions corresponds to the key usage values described in https://tools.ietf.org/html/rfc5280#section-4.2.1.3.

Link copied to clipboard
data class KeyUsageResponse(val baseKeyUsage: KeyUsageOptionsResponse, val extendedKeyUsage: ExtendedKeyUsageOptionsResponse, val unknownExtendedKeyUsages: List<ObjectIdResponse>)

A KeyUsage describes key usage values that may appear in an X.509 certificate.

Link copied to clipboard
data class KeyVersionSpecResponse(val algorithm: String, val cloudKmsKeyVersion: String)

A Cloud KMS key configuration that a CertificateAuthority will use.

Link copied to clipboard
data class NameConstraintsResponse(val critical: Boolean, val excludedDnsNames: List<String>, val excludedEmailAddresses: List<String>, val excludedIpRanges: List<String>, val excludedUris: List<String>, val permittedDnsNames: List<String>, val permittedEmailAddresses: List<String>, val permittedIpRanges: List<String>, val permittedUris: List<String>)

Describes the X.509 name constraints extension, per https://tools.ietf.org/html/rfc5280#section-4.2.1.10

Link copied to clipboard
data class ObjectIdResponse(val objectIdPath: List<Int>)

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Link copied to clipboard
data class PublicKeyResponse(val format: String, val key: String)

A PublicKey describes a public key.

Link copied to clipboard
data class PublishingOptionsResponse(val encodingFormat: String, val publishCaCert: Boolean, val publishCrl: Boolean)

Options relating to the publication of each CertificateAuthority's CA certificate and CRLs and their inclusion as extensions in issued Certificates. The options set here apply to certificates issued by any CertificateAuthority in the CaPool.

Link copied to clipboard
data class RevocationDetailsResponse(val revocationState: String, val revocationTime: String)

Describes fields that are relavent to the revocation of a Certificate.

Link copied to clipboard
data class RsaKeyTypeResponse(val maxModulusSize: String, val minModulusSize: String)

Describes an RSA key that may be used in a Certificate issued from a CaPool.

Link copied to clipboard
data class SubjectAltNamesResponse(val customSans: List<X509ExtensionResponse>, val dnsNames: List<String>, val emailAddresses: List<String>, val ipAddresses: List<String>, val uris: List<String>)

SubjectAltNames corresponds to a more modern way of listing what the asserted identity is in a certificate (i.e., compared to the "common name" in the distinguished name).

Link copied to clipboard
data class SubjectConfigResponse(val subject: SubjectResponse, val subjectAltName: SubjectAltNamesResponse)

These values are used to create the distinguished name and subject alternative name fields in an X.509 certificate.

Link copied to clipboard
data class SubjectDescriptionResponse(val hexSerialNumber: String, val lifetime: String, val notAfterTime: String, val notBeforeTime: String, val subject: SubjectResponse, val subjectAltName: SubjectAltNamesResponse)

These values describe fields in an issued X.509 certificate such as the distinguished name, subject alternative names, serial number, and lifetime.

Link copied to clipboard
data class SubjectResponse(val commonName: String, val countryCode: String, val locality: String, val organization: String, val organizationalUnit: String, val postalCode: String, val province: String, val streetAddress: String)

Subject describes parts of a distinguished name that, in turn, describes the subject of the certificate.

Link copied to clipboard
data class SubordinateConfigChainResponse(val pemCertificates: List<String>)

This message describes a subordinate CA's issuer certificate chain. This wrapper exists for compatibility reasons.

Link copied to clipboard
data class SubordinateConfigResponse(val certificateAuthority: String, val pemIssuerChain: SubordinateConfigChainResponse)

Describes a subordinate CA's issuers. This is either a resource name to a known issuing CertificateAuthority, or a PEM issuer certificate chain.

Link copied to clipboard
data class X509ExtensionResponse(val critical: Boolean, val objectId: ObjectIdResponse, val value: String)

An X509Extension specifies an X.509 extension, which may be used in different parts of X.509 objects like certificates, CSRs, and CRLs.

Link copied to clipboard
data class X509ParametersResponse(val additionalExtensions: List<X509ExtensionResponse>, val aiaOcspServers: List<String>, val caOptions: CaOptionsResponse, val keyUsage: KeyUsageResponse, val nameConstraints: NameConstraintsResponse, val policyIds: List<ObjectIdResponse>)

An X509Parameters is used to describe certain fields of an X.509 certificate, such as the key usage fields, fields specific to CA certificates, certificate policy extensions and custom extensions.