SslCertificate

Represents an SSL certificate resource.

Cloud de Confiance Compute Engine has two SSL certificate resources:

The global SSL certificates (

sslCertificates

) are used by:

  • Global external Application Load Balancers
  • Classic Application Load Balancers
  • Proxy Network Load Balancers (with target SSL proxies)

The regional SSL certificates (

regionSslCertificates

) are used by:

  • Regional external Application Load Balancers
  • Regional internal Application Load Balancers

Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates.

JSON representation
{
  "kind": string,
  "id": string,
  "creationTimestamp": string,
  "name": string,
  "description": string,
  "selfLink": string,
  "certificate": string,
  "privateKey": string,
  "managed": {
    object (ManagedSslCertificate)
  },
  "selfManaged": {
    object (SelfManagedSslCertificate)
  },
  "type": enum (Type),
  "subjectAlternativeNames": [
    string
  ],
  "expireTime": string,
  "region": string
}
Fields
kind

string

Output only. Type of the resource. Always

compute#sslCertificate

for SSL certificates.

id

string (uint64 format)

Output only. The unique identifier for the resource. This identifier is defined by the server.

creationTimestamp

string

Output only. Creation timestamp in RFC3339 text format.

name

string

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

description

string

An optional description of this resource. Provide this property when you create the resource.

certificate

string

A value read into memory from a certificate file. The certificate file must be in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.

privateKey

string

A value read into memory from a write-only private key file. The private key file must be in PEM format. For security, only

insert

requests include this field.

managed

object (ManagedSslCertificate)

Configuration and status of a managed SSL certificate.

selfManaged

object (SelfManagedSslCertificate)

Configuration and status of a self-managed SSL certificate.

type

enum (Type)

(Optional) Specifies the type of SSL certificate, either "SELF_MANAGED" or "MANAGED". If not specified, the certificate is self-managed and the fields

certificate

and

privateKey

are used.

subjectAlternativeNames[]

string

Output only. Domains associated with the certificate via Subject Alternative Name.

expireTime

string

Output only. Expire time of the certificate. RFC3339

region

string

Output only. URL of the region where the regional SSL Certificate resides. This field is not applicable to global SSL Certificate.

ManagedSslCertificate

Configuration and status of a managed SSL certificate.

JSON representation
{
  "domains": [
    string
  ],
  "status": enum (ManagedCertificateStatus),
  "domainStatus": {
    string: enum (DomainStatus),
    ...
  }
}
Fields
domains[]

string

The domains for which a managed SSL certificate will be generated. Each Google Cloud-powered SSL certificate supports up to the maximum number of domains per Google Cloud-powered SSL certificate.

status

enum (ManagedCertificateStatus)

Output only. Status of the managed certificate resource.

domainStatus

map (key: string, value: enum (DomainStatus))

Output only. Detailed statuses of the domains specified for managed certificate resource.

ManagedCertificateStatus

Managed certificate status

Enums
MANAGED_CERTIFICATE_STATUS_UNSPECIFIED
ACTIVE The certificate management is working, and a certificate has been provisioned.
PROVISIONING The certificate management is working. GCP will attempt to provision the first certificate.
PROVISIONING_FAILED Certificate provisioning failed due to an issue with the DNS or load balancing configuration. For details of which domain failed, consult domainStatus field.
PROVISIONING_FAILED_PERMANENTLY Certificate provisioning failed due to an issue with the DNS or load balancing configuration. It won't be retried. To try again delete and create a new managed SslCertificate resource. For details of which domain failed, consult domainStatus field.
RENEWAL_FAILED Renewal of the certificate has failed due to an issue with the DNS or load balancing configuration. The existing cert is still serving; however, it will expire shortly. To provision a renewed certificate, delete and create a new managed SslCertificate resource. For details on which domain failed, consult domainStatus field.

DomainStatus

Enums
DOMAIN_STATUS_UNSPECIFIED
PROVISIONING Certificate provisioning for this domain is under way. GCP will attempt to provision the first certificate.
FAILED_NOT_VISIBLE There seems to be problem with the user's DNS or load balancer configuration for this domain.
FAILED_CAA_FORBIDDEN Certificate issuance forbidden by an explicit CAA record for the domain.
FAILED_RATE_LIMITED Reached rate-limit for certificates per top-level private domain.
ACTIVE A managed certificate can be provisioned, no issues for this domain.
FAILED_CAA_CHECKING Failed to check CAA records for the domain.

SelfManagedSslCertificate

Configuration and status of a self-managed SSL certificate.

JSON representation
{
  "certificate": string,
  "privateKey": string
}
Fields
certificate

string

A local certificate file. The certificate must be in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert.

privateKey

string

A write-only private key in PEM format. Only

insert

requests will include this field.

Type

Type of the SslCertificate.

Enums
TYPE_UNSPECIFIED
MANAGED Google Cloud-powered SSLCertificate.
SELF_MANAGED Certificate uploaded by user.