RegionSslPolicy class

Represents a Regional SSL policy. SSL policies give you the ability to control the features of SSL that your SSL proxy or HTTPS load balancer negotiates.

To get more information about RegionSslPolicy, see:

Example Usage

Region Ssl Policy Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const region_ssl_policy = new gcp.compute.RegionSslPolicy("region-ssl-policy", {
    name: "region-ssl-policy",
    region: "us-central1",
    profile: "MODERN",
});
import pulumi
import pulumi_gcp as gcp

region_ssl_policy = gcp.compute.RegionSslPolicy("region-ssl-policy",
    name="region-ssl-policy",
    region="us-central1",
    profile="MODERN")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() =>
{
    var region_ssl_policy = new Gcp.Compute.RegionSslPolicy("region-ssl-policy", new()
    {
        Name = "region-ssl-policy",
        Region = "us-central1",
        Profile = "MODERN",
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewRegionSslPolicy(ctx, "region-ssl-policy", &compute.RegionSslPolicyArgs{
			Name:    pulumi.String("region-ssl-policy"),
			Region:  pulumi.String("us-central1"),
			Profile: pulumi.String("MODERN"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    gcp = {
      source = "pulumi/gcp"
    }
  }
}

resource "gcp_compute_regionsslpolicy" "region-ssl-policy" {
  name    = "region-ssl-policy"
  region  = "us-central1"
  profile = "MODERN"
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.RegionSslPolicy;
import com.pulumi.gcp.compute.RegionSslPolicyArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var region_ssl_policy = new RegionSslPolicy("region-ssl-policy", RegionSslPolicyArgs.builder()
            .name("region-ssl-policy")
            .region("us-central1")
            .profile("MODERN")
            .build());

    }
}
resources:
  region-ssl-policy:
    type: gcp:compute:RegionSslPolicy
    properties:
      name: region-ssl-policy
      region: us-central1
      profile: MODERN

Region Ssl Policy Post Quantum

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const post_quantum_region_ssl_policy = new gcp.compute.RegionSslPolicy("post-quantum-region-ssl-policy", {
    name: "post-quantum-region-ssl-policy",
    region: "us-central1",
    profile: "MODERN",
    minTlsVersion: "TLS_1_2",
    postQuantumKeyExchange: "ENABLED",
});
import pulumi
import pulumi_gcp as gcp

post_quantum_region_ssl_policy = gcp.compute.RegionSslPolicy("post-quantum-region-ssl-policy",
    name="post-quantum-region-ssl-policy",
    region="us-central1",
    profile="MODERN",
    min_tls_version="TLS_1_2",
    post_quantum_key_exchange="ENABLED")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() =>
{
    var post_quantum_region_ssl_policy = new Gcp.Compute.RegionSslPolicy("post-quantum-region-ssl-policy", new()
    {
        Name = "post-quantum-region-ssl-policy",
        Region = "us-central1",
        Profile = "MODERN",
        MinTlsVersion = "TLS_1_2",
        PostQuantumKeyExchange = "ENABLED",
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewRegionSslPolicy(ctx, "post-quantum-region-ssl-policy", &compute.RegionSslPolicyArgs{
			Name:                   pulumi.String("post-quantum-region-ssl-policy"),
			Region:                 pulumi.String("us-central1"),
			Profile:                pulumi.String("MODERN"),
			MinTlsVersion:          pulumi.String("TLS_1_2"),
			PostQuantumKeyExchange: pulumi.String("ENABLED"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    gcp = {
      source = "pulumi/gcp"
    }
  }
}

resource "gcp_compute_regionsslpolicy" "post-quantum-region-ssl-policy" {
  name                      = "post-quantum-region-ssl-policy"
  region                    = "us-central1"
  profile                   = "MODERN"
  min_tls_version           = "TLS_1_2"
  post_quantum_key_exchange = "ENABLED"
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.RegionSslPolicy;
import com.pulumi.gcp.compute.RegionSslPolicyArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var post_quantum_region_ssl_policy = new RegionSslPolicy("post-quantum-region-ssl-policy", RegionSslPolicyArgs.builder()
            .name("post-quantum-region-ssl-policy")
            .region("us-central1")
            .profile("MODERN")
            .minTlsVersion("TLS_1_2")
            .postQuantumKeyExchange("ENABLED")
            .build());

    }
}
resources:
  post-quantum-region-ssl-policy:
    type: gcp:compute:RegionSslPolicy
    properties:
      name: post-quantum-region-ssl-policy
      region: us-central1
      profile: MODERN
      minTlsVersion: TLS_1_2
      postQuantumKeyExchange: ENABLED

Import

RegionSslPolicy can be imported using any of these accepted formats:

  • projects/{{project}}/regions/{{region}}/sslPolicies/{{name}}
  • {{project}}/{{region}}/{{name}}
  • {{region}}/{{name}}
  • {{name}}

When using the pulumi import command, RegionSslPolicy can be imported using one of the formats above. For example:

$ pulumi import gcp:compute/regionSslPolicy:RegionSslPolicy default projects/{{project}}/regions/{{region}}/sslPolicies/{{name}}
$ pulumi import gcp:compute/regionSslPolicy:RegionSslPolicy default {{project}}/{{region}}/{{name}}
$ pulumi import gcp:compute/regionSslPolicy:RegionSslPolicy default {{region}}/{{name}}
$ pulumi import gcp:compute/regionSslPolicy:RegionSslPolicy default {{name}}

Constructors

RegionSslPolicy(String name, {RegionSslPolicyArgs? args, CustomResourceOptions? options})
Creates a new RegionSslPolicy. name The Pulumi resource name. args Arguments used to configure this RegionSslPolicy. The set of arguments for RegionSslPolicy. options Resource options controlling this resource's behavior.
RegionSslPolicy.reference(String urn)
Creates a typed reference to an existing RegionSslPolicy resource.

Properties

childResources → Set<Resource>
finalinherited
completionSources ↔ Map<String, IOutputCompletionSource>
latefinalinherited
creationTimestamp ↔ Output<String>
Creation timestamp in RFC3339 text format.
latefinal
customFeatures ↔ Output<List<String>?>
A list of features enabled when the selected profile is CUSTOM. The method returns the set of features that can be specified in this list. This field must be empty if the profile is not CUSTOM. See the official documentation for which ciphers are available to use. Note: this argument must be present when using the CUSTOM profile. This argument must not be present when using any other profile.
latefinal
deletionPolicy ↔ Output<String>
Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
latefinal
description ↔ Output<String?>
An optional description of this resource.
latefinal
enabledFeatures ↔ Output<List<String>>
The list of features enabled in the SSL policy.
latefinal
fingerprint ↔ Output<String>
Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking.
latefinal
hashCode → int
The hash code for this object.
no setterinherited
id ↔ Output<String>
getter/setter pairinherited
isCustom → bool
Returns whether this resource is provider-managed.
no setterinherited
isProtected → bool
Returns whether this resource is protected from deletion.
no setterinherited
isRemote → bool
Whether this resource is registered as remote.
no setterinherited
isResourceReference → bool
Whether this instance represents a resource value returned over RPC.
finalinherited
minTlsVersion ↔ Output<String?>
The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. When set to TLS_1_3, the profile field must be set to RESTRICTED. Default value is TLS_1_0. Possible values are: TLS_1_0, TLS_1_1, TLS_1_2, TLS_1_3.
latefinal
name ↔ Output<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? 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.
latefinal
postQuantumKeyExchange ↔ Output<String?>
One of DEFAULT, ENABLED, or DEFERRED. Controls whether the load balancer negotiates X25519MLKEM768 key exchange when clients advertise support for it. When set to DEFAULT, or if no SSL Policy is attached to the target proxy, the load balancer disallows X25519MLKEM768 key exchange before October 2026, and allows it afterward. When set to ENABLED, the load balancer allows X25519MLKEM768 key exchange. When set to DEFERRED, the load balancer disallows X25519MLKEM768 key exchange until October 2027, and allows it afterward. Possible values are: DEFAULT, ENABLED, DEFERRED.
latefinal
profile ↔ Output<String?>
Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. If using CUSTOM, the set of SSL features to enable must be specified in the customFeatures field. See the official documentation for information on what cipher suites each profile provides. If CUSTOM is used, the customFeatures attribute must be set. If set to FIPS_202205, minTlsVersion must also be set to TLS_1_2. Default value is COMPATIBLE. Possible values are: COMPATIBLE, MODERN, RESTRICTED, CUSTOM, FIPS_202205.
latefinal
project ↔ Output<String>
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
latefinal
region ↔ Output<String>
The region where the regional SSL policy resides.
latefinal
resourceTransforms → List<ResourceTransform>
Inherited/explicit async transforms.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
The URI of the created resource.
latefinal
transformations → List<ResourceTransformation>
Inherited/explicit legacy transformations.
no setterinherited
urn ↔ Output<String>
latefinalinherited

Methods

failId(Object error) → void
Completes this resource ID with an error when registration fails.
inherited
failOutputs(Object error) → void
Completes all output properties with error.
inherited
failUrn(Object error) → void
Completes this resource URN with an error when registration fails.
inherited
getProvider(String moduleMember) → ProviderResource?
Returns provider for moduleMember's package, if configured.
inherited
getResourceName() → String
Returns this resource's logical name.
inherited
getResourceType() → String
Returns this resource's Pulumi type token.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerOutput<T>(String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output<T>
Registers a dynamic output property for this resource.
inherited
resolveId(String? value, {required bool isKnown}) → void
Resolves the provider-assigned ID for this resource.
inherited
resolveOutputs(Struct outputs) → void
Resolves all output properties from a monitor response payload.
inherited
resolveUrn(String value) → void
Resolves this resource's URN once assigned by the engine.
inherited
serializeProperties(Map<String, dynamic> properties) → Future<Struct>
Serializes resource properties for RPC transmission.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

get(String name, Input<String> id, {RegionSslPolicyState? state, CustomResourceOptions? options}) → RegionSslPolicy
Gets an existing RegionSslPolicy resource's state with the given name and id.