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:
- API documentation
- How-to Guides
- Using SSL Policies
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.
nameThe Pulumi resource name.argsArguments used to configure this RegionSslPolicy. The set of arguments for RegionSslPolicy.optionsResource 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
CUSTOMprofile. 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 toRESTRICTED. Default value isTLS_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, orDEFERRED. Controls whether the load balancer negotiates X25519MLKEM768 key exchange when clients advertise support for it. When set toDEFAULT, 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 toENABLED, the load balancer allows X25519MLKEM768 key exchange. When set toDEFERRED, 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 thecustomFeaturesfield. See the official documentation for information on what cipher suites each profile provides. IfCUSTOMis used, thecustomFeaturesattribute must be set. If set toFIPS_202205,minTlsVersionmust also be set toTLS_1_2. Default value isCOMPATIBLE. 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
-
selfLink
↔ Output<
String> -
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
nameandid.