AppCheckRecaptchaEnterpriseConfig

class AppCheckRecaptchaEnterpriseConfig : KotlinCustomResource

An app's reCAPTCHA Enterprise configuration object. To get more information about RecaptchaEnterpriseConfig, see:

Example Usage

Firebase App Check Recaptcha Enterprise Config Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
import * as time from "@pulumi/time";
// Enables the reCAPTCHA Enterprise API
const recaptchaEnterprise = new gcp.projects.Service("recaptcha_enterprise", {
project: "my-project-name",
service: "recaptchaenterprise.googleapis.com",
disableOnDestroy: false,
});
const _default = new gcp.firebase.WebApp("default", {
project: "my-project-name",
displayName: "Web App for reCAPTCHA Enterprise",
});
// It takes a while for App Check to recognize the new app
// If your app already exists, you don't have to wait 30 seconds.
const wait30s = new time.index.Sleep("wait_30s", {createDuration: "30s"}, {
dependsOn: [_default],
});
const defaultAppCheckRecaptchaEnterpriseConfig = new gcp.firebase.AppCheckRecaptchaEnterpriseConfig("default", {
project: "my-project-name",
appId: _default.appId,
siteKey: "6LdpMXIpAAAAANkwWQPgEdjEhal7ugkH9RK9ytuw",
tokenTtl: "7200s",
}, {
dependsOn: [wait30s],
});
import pulumi
import pulumi_gcp as gcp
import pulumi_time as time
# Enables the reCAPTCHA Enterprise API
recaptcha_enterprise = gcp.projects.Service("recaptcha_enterprise",
project="my-project-name",
service="recaptchaenterprise.googleapis.com",
disable_on_destroy=False)
default = gcp.firebase.WebApp("default",
project="my-project-name",
display_name="Web App for reCAPTCHA Enterprise")
# It takes a while for App Check to recognize the new app
# If your app already exists, you don't have to wait 30 seconds.
wait30s = time.index.Sleep("wait_30s", create_duration=30s,
opts = pulumi.ResourceOptions(depends_on=[default]))
default_app_check_recaptcha_enterprise_config = gcp.firebase.AppCheckRecaptchaEnterpriseConfig("default",
project="my-project-name",
app_id=default.app_id,
site_key="6LdpMXIpAAAAANkwWQPgEdjEhal7ugkH9RK9ytuw",
token_ttl="7200s",
opts = pulumi.ResourceOptions(depends_on=[wait30s]))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
using Time = Pulumi.Time;
return await Deployment.RunAsync(() =>
{
// Enables the reCAPTCHA Enterprise API
var recaptchaEnterprise = new Gcp.Projects.Service("recaptcha_enterprise", new()
{
Project = "my-project-name",
ServiceName = "recaptchaenterprise.googleapis.com",
DisableOnDestroy = false,
});
var @default = new Gcp.Firebase.WebApp("default", new()
{
Project = "my-project-name",
DisplayName = "Web App for reCAPTCHA Enterprise",
});
// It takes a while for App Check to recognize the new app
// If your app already exists, you don't have to wait 30 seconds.
var wait30s = new Time.Index.Sleep("wait_30s", new()
{
CreateDuration = "30s",
}, new CustomResourceOptions
{
DependsOn =
{
@default,
},
});
var defaultAppCheckRecaptchaEnterpriseConfig = new Gcp.Firebase.AppCheckRecaptchaEnterpriseConfig("default", new()
{
Project = "my-project-name",
AppId = @default.AppId,
SiteKey = "6LdpMXIpAAAAANkwWQPgEdjEhal7ugkH9RK9ytuw",
TokenTtl = "7200s",
}, new CustomResourceOptions
{
DependsOn =
{
wait30s,
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/firebase"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/projects"
"github.com/pulumi/pulumi-time/sdk/go/time"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Enables the reCAPTCHA Enterprise API
_, err := projects.NewService(ctx, "recaptcha_enterprise", &projects.ServiceArgs{
Project: pulumi.String("my-project-name"),
Service: pulumi.String("recaptchaenterprise.googleapis.com"),
DisableOnDestroy: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = firebase.NewWebApp(ctx, "default", &firebase.WebAppArgs{
Project: pulumi.String("my-project-name"),
DisplayName: pulumi.String("Web App for reCAPTCHA Enterprise"),
})
if err != nil {
return err
}
// It takes a while for App Check to recognize the new app
// If your app already exists, you don't have to wait 30 seconds.
wait30s, err := time.NewSleep(ctx, "wait_30s", &time.SleepArgs{
CreateDuration: "30s",
}, pulumi.DependsOn([]pulumi.Resource{
_default,
}))
if err != nil {
return err
}
_, err = firebase.NewAppCheckRecaptchaEnterpriseConfig(ctx, "default", &firebase.AppCheckRecaptchaEnterpriseConfigArgs{
Project: pulumi.String("my-project-name"),
AppId: _default.AppId,
SiteKey: pulumi.String("6LdpMXIpAAAAANkwWQPgEdjEhal7ugkH9RK9ytuw"),
TokenTtl: pulumi.String("7200s"),
}, pulumi.DependsOn([]pulumi.Resource{
wait30s,
}))
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.projects.Service;
import com.pulumi.gcp.projects.ServiceArgs;
import com.pulumi.gcp.firebase.WebApp;
import com.pulumi.gcp.firebase.WebAppArgs;
import com.pulumi.time.sleep;
import com.pulumi.time.SleepArgs;
import com.pulumi.gcp.firebase.AppCheckRecaptchaEnterpriseConfig;
import com.pulumi.gcp.firebase.AppCheckRecaptchaEnterpriseConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
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) {
// Enables the reCAPTCHA Enterprise API
var recaptchaEnterprise = new Service("recaptchaEnterprise", ServiceArgs.builder()
.project("my-project-name")
.service("recaptchaenterprise.googleapis.com")
.disableOnDestroy(false)
.build());
var default_ = new WebApp("default", WebAppArgs.builder()
.project("my-project-name")
.displayName("Web App for reCAPTCHA Enterprise")
.build());
// It takes a while for App Check to recognize the new app
// If your app already exists, you don't have to wait 30 seconds.
var wait30s = new Sleep("wait30s", SleepArgs.builder()
.createDuration("30s")
.build(), CustomResourceOptions.builder()
.dependsOn(default_)
.build());
var defaultAppCheckRecaptchaEnterpriseConfig = new AppCheckRecaptchaEnterpriseConfig("defaultAppCheckRecaptchaEnterpriseConfig", AppCheckRecaptchaEnterpriseConfigArgs.builder()
.project("my-project-name")
.appId(default_.appId())
.siteKey("6LdpMXIpAAAAANkwWQPgEdjEhal7ugkH9RK9ytuw")
.tokenTtl("7200s")
.build(), CustomResourceOptions.builder()
.dependsOn(wait30s)
.build());
}
}
resources:
# Enables the reCAPTCHA Enterprise API
recaptchaEnterprise:
type: gcp:projects:Service
name: recaptcha_enterprise
properties:
project: my-project-name
service: recaptchaenterprise.googleapis.com
disableOnDestroy: false
default:
type: gcp:firebase:WebApp
properties:
project: my-project-name
displayName: Web App for reCAPTCHA Enterprise
# It takes a while for App Check to recognize the new app
# If your app already exists, you don't have to wait 30 seconds.
wait30s:
type: time:sleep
name: wait_30s
properties:
createDuration: 30s
options:
dependson:
- ${default}
defaultAppCheckRecaptchaEnterpriseConfig:
type: gcp:firebase:AppCheckRecaptchaEnterpriseConfig
name: default
properties:
project: my-project-name
appId: ${default.appId}
siteKey: 6LdpMXIpAAAAANkwWQPgEdjEhal7ugkH9RK9ytuw
tokenTtl: 7200s
options:
dependson:
- ${wait30s}

Import

RecaptchaEnterpriseConfig can be imported using any of these accepted formats:

  • projects/{{project}}/apps/{{app_id}}/recaptchaEnterpriseConfig

  • {{project}}/{{app_id}}

  • {{app_id}} When using the pulumi import command, RecaptchaEnterpriseConfig can be imported using one of the formats above. For example:

$ pulumi import gcp:firebase/appCheckRecaptchaEnterpriseConfig:AppCheckRecaptchaEnterpriseConfig default projects/{{project}}/apps/{{app_id}}/recaptchaEnterpriseConfig
$ pulumi import gcp:firebase/appCheckRecaptchaEnterpriseConfig:AppCheckRecaptchaEnterpriseConfig default {{project}}/{{app_id}}
$ pulumi import gcp:firebase/appCheckRecaptchaEnterpriseConfig:AppCheckRecaptchaEnterpriseConfig default {{app_id}}

Properties

Link copied to clipboard
val appId: Output<String>

The ID of an Web App.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

The relative resource name of the reCAPTCHA Enterprise configuration object

Link copied to clipboard
val project: Output<String>

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val siteKey: Output<String>

The score-based site key created in reCAPTCHA Enterprise used to invoke reCAPTCHA and generate the reCAPTCHA tokens for your application. Important: This is not the siteSecret (as it is in reCAPTCHA v3), but rather your score-based reCAPTCHA Enterprise site key.

Link copied to clipboard
val tokenTtl: Output<String>

Specifies the duration for which App Check tokens exchanged from reCAPTCHA Enterprise artifacts will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

Link copied to clipboard
val urn: Output<String>