Skip to content

googleComputeRegionSslCertificate

A RegionSslCertificate resource, used for HTTPS load balancing. This resource provides a mechanism to upload an SSL key and certificate to the load balancer to serve secure connections from the user.

To get more information about RegionSslCertificate, see:

\~> Warning: All arguments including certificate and privateKey will be stored in the raw state as plain-text. Read more about sensitive data in state.

Example Usage - Region Ssl Certificate Basic

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as google from "./.gen/providers/google";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: google.
For a more precise conversion please use the --provider flag in convert.*/
const googleComputeRegionSslCertificateDefault =
  new google.computeRegionSslCertificate.ComputeRegionSslCertificate(
    this,
    "default",
    {
      certificate: '${file("path/to/certificate.crt")}',
      description: "a description",
      name_prefix: "my-certificate-",
      private_key: '${file("path/to/private.key")}',
      region: "us-central1",
    }
  );
googleComputeRegionSslCertificateDefault.addOverride("lifecycle", [
  {
    create_before_destroy: true,
  },
]);

Example Usage - Region Ssl Certificate Random Provider

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as google from "./.gen/providers/google";
import * as random from "./.gen/providers/random";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: google, random.
For a more precise conversion please use the --provider flag in convert.*/
const randomIdCertificate = new random.id.Id(this, "certificate", {
  byte_length: 4,
  keepers: [
    {
      certificate: '${filebase64sha256("path/to/certificate.crt")}',
      private_key: '${filebase64sha256("path/to/private.key")}',
    },
  ],
  prefix: "my-certificate-",
});
const googleComputeRegionSslCertificateDefault =
  new google.computeRegionSslCertificate.ComputeRegionSslCertificate(
    this,
    "default",
    {
      certificate: '${file("path/to/certificate.crt")}',
      name: randomIdCertificate.hex,
      private_key: '${file("path/to/private.key")}',
      region: "us-central1",
    }
  );
googleComputeRegionSslCertificateDefault.addOverride("lifecycle", [
  {
    create_before_destroy: true,
  },
]);

Example Usage - Region Ssl Certificate Target Https Proxies

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as google from "./.gen/providers/google";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: google.
For a more precise conversion please use the --provider flag in convert.*/
const googleComputeRegionHealthCheckDefault =
  new google.computeRegionHealthCheck.ComputeRegionHealthCheck(
    this,
    "default",
    {
      http_health_check: [
        {
          port: 80,
        },
      ],
      name: "http-health-check",
      region: "us-central1",
    }
  );
const googleComputeRegionSslCertificateDefault =
  new google.computeRegionSslCertificate.ComputeRegionSslCertificate(
    this,
    "default_1",
    {
      certificate: '${file("path/to/certificate.crt")}',
      name_prefix: "my-certificate-",
      private_key: '${file("path/to/private.key")}',
      region: "us-central1",
    }
  );
googleComputeRegionSslCertificateDefault.addOverride("lifecycle", [
  {
    create_before_destroy: true,
  },
]);
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
googleComputeRegionSslCertificateDefault.overrideLogicalId("default");
const googleComputeRegionBackendServiceDefault =
  new google.computeRegionBackendService.ComputeRegionBackendService(
    this,
    "default_2",
    {
      health_checks: [googleComputeRegionHealthCheckDefault.id],
      load_balancing_scheme: "INTERNAL_MANAGED",
      name: "backend-service",
      protocol: "HTTP",
      region: "us-central1",
      timeout_sec: 10,
    }
  );
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
googleComputeRegionBackendServiceDefault.overrideLogicalId("default");
const googleComputeRegionUrlMapDefault =
  new google.computeRegionUrlMap.ComputeRegionUrlMap(this, "default_3", {
    default_service: googleComputeRegionBackendServiceDefault.id,
    description: "a description",
    host_rule: [
      {
        hosts: ["mysite.com"],
        path_matcher: "allpaths",
      },
    ],
    name: "url-map",
    path_matcher: [
      {
        default_service: googleComputeRegionBackendServiceDefault.id,
        name: "allpaths",
        path_rule: [
          {
            paths: ["/*"],
            service: googleComputeRegionBackendServiceDefault.id,
          },
        ],
      },
    ],
    region: "us-central1",
  });
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
googleComputeRegionUrlMapDefault.overrideLogicalId("default");
const googleComputeRegionTargetHttpsProxyDefault =
  new google.computeRegionTargetHttpsProxy.ComputeRegionTargetHttpsProxy(
    this,
    "default_4",
    {
      name: "test-proxy",
      region: "us-central1",
      ssl_certificates: [googleComputeRegionSslCertificateDefault.id],
      url_map: googleComputeRegionUrlMapDefault.id,
    }
  );
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
googleComputeRegionTargetHttpsProxyDefault.overrideLogicalId("default");

Argument Reference

The following arguments are supported:

  • certificate - (Required) The certificate in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert. Note: This property is sensitive and will not be displayed in the plan.

  • privateKey - (Required) The write-only private key in PEM format. Note: This property is sensitive and will not be displayed in the plan.


  • description - (Optional) An optional description of this resource.

  • name - (Optional) 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 [aZ]([AZ09]*[aZ09])? 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.

    These are in the same namespace as the managed SSL certificates.

  • region - (Optional) The Region in which the created regional ssl certificate should reside. If it is not provided, the provider region is used.

  • project - (Optional) The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • namePrefix - (Optional) Creates a unique name beginning with the specified prefix. Conflicts with name.

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

  • id - an identifier for the resource with format projects/{{project}}/regions/{{region}}/sslCertificates/{{name}}

  • creationTimestamp - Creation timestamp in RFC3339 text format.

  • expireTime - Expire time of the certificate in RFC3339 text format.

  • certificateId - The unique identifier for the resource.

  • selfLink - The URI of the created resource.

Timeouts

This resource provides the following Timeouts configuration options:

  • create - Default is 20 minutes.
  • delete - Default is 20 minutes.

Import

RegionSslCertificate can be imported using any of these accepted formats:

$ terraform import google_compute_region_ssl_certificate.default projects/{{project}}/regions/{{region}}/sslCertificates/{{name}}
$ terraform import google_compute_region_ssl_certificate.default {{project}}/{{region}}/{{name}}
$ terraform import google_compute_region_ssl_certificate.default {{region}}/{{name}}
$ terraform import google_compute_region_ssl_certificate.default {{name}}

User Project Overrides

This resource supports User Project Overrides.