AppCheckPlayIntegrityConfigArgs

data class AppCheckPlayIntegrityConfigArgs(val appId: Output<String>? = null, val project: Output<String>? = null, val tokenTtl: Output<String>? = null) : ConvertibleToJava<AppCheckPlayIntegrityConfigArgs>

An app's Play Integrity configuration object. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by the Play Integrity API. Make sure your gcp.firebase.AndroidApp has at least one sha256_hashes present. To get more information about PlayIntegrityConfig, see:

Example Usage

Firebase App Check Play Integrity Config Minimal

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
import * as time from "@pulumi/time";
// Enables the Play Integrity API
const playIntegrity = new gcp.projects.Service("play_integrity", {
project: "my-project-name",
service: "playintegrity.googleapis.com",
disableOnDestroy: false,
});
const _default = new gcp.firebase.AndroidApp("default", {
project: "my-project-name",
displayName: "Play Integrity app",
packageName: "package.name.playintegrity",
sha1Hashes: ["2145bdf698b8715039bd0e83f2069bed435ac21c"],
sha256Hashes: ["2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc"],
});
// 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 defaultAppCheckPlayIntegrityConfig = new gcp.firebase.AppCheckPlayIntegrityConfig("default", {
project: "my-project-name",
appId: _default.appId,
}, {
dependsOn: [wait30s],
});
import pulumi
import pulumi_gcp as gcp
import pulumi_time as time
# Enables the Play Integrity API
play_integrity = gcp.projects.Service("play_integrity",
project="my-project-name",
service="playintegrity.googleapis.com",
disable_on_destroy=False)
default = gcp.firebase.AndroidApp("default",
project="my-project-name",
display_name="Play Integrity app",
package_name="package.name.playintegrity",
sha1_hashes=["2145bdf698b8715039bd0e83f2069bed435ac21c"],
sha256_hashes=["2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc"])
# 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_play_integrity_config = gcp.firebase.AppCheckPlayIntegrityConfig("default",
project="my-project-name",
app_id=default.app_id,
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 Play Integrity API
var playIntegrity = new Gcp.Projects.Service("play_integrity", new()
{
Project = "my-project-name",
ServiceName = "playintegrity.googleapis.com",
DisableOnDestroy = false,
});
var @default = new Gcp.Firebase.AndroidApp("default", new()
{
Project = "my-project-name",
DisplayName = "Play Integrity app",
PackageName = "package.name.playintegrity",
Sha1Hashes = new[]
{
"2145bdf698b8715039bd0e83f2069bed435ac21c",
},
Sha256Hashes = new[]
{
"2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc",
},
});
// 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 defaultAppCheckPlayIntegrityConfig = new Gcp.Firebase.AppCheckPlayIntegrityConfig("default", new()
{
Project = "my-project-name",
AppId = @default.AppId,
}, 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 Play Integrity API
_, err := projects.NewService(ctx, "play_integrity", &projects.ServiceArgs{
Project: pulumi.String("my-project-name"),
Service: pulumi.String("playintegrity.googleapis.com"),
DisableOnDestroy: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = firebase.NewAndroidApp(ctx, "default", &firebase.AndroidAppArgs{
Project: pulumi.String("my-project-name"),
DisplayName: pulumi.String("Play Integrity app"),
PackageName: pulumi.String("package.name.playintegrity"),
Sha1Hashes: pulumi.StringArray{
pulumi.String("2145bdf698b8715039bd0e83f2069bed435ac21c"),
},
Sha256Hashes: pulumi.StringArray{
pulumi.String("2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc"),
},
})
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.NewAppCheckPlayIntegrityConfig(ctx, "default", &firebase.AppCheckPlayIntegrityConfigArgs{
Project: pulumi.String("my-project-name"),
AppId: _default.AppId,
}, 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.AndroidApp;
import com.pulumi.gcp.firebase.AndroidAppArgs;
import com.pulumi.time.sleep;
import com.pulumi.time.SleepArgs;
import com.pulumi.gcp.firebase.AppCheckPlayIntegrityConfig;
import com.pulumi.gcp.firebase.AppCheckPlayIntegrityConfigArgs;
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 Play Integrity API
var playIntegrity = new Service("playIntegrity", ServiceArgs.builder()
.project("my-project-name")
.service("playintegrity.googleapis.com")
.disableOnDestroy(false)
.build());
var default_ = new AndroidApp("default", AndroidAppArgs.builder()
.project("my-project-name")
.displayName("Play Integrity app")
.packageName("package.name.playintegrity")
.sha1Hashes("2145bdf698b8715039bd0e83f2069bed435ac21c")
.sha256Hashes("2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc")
.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 defaultAppCheckPlayIntegrityConfig = new AppCheckPlayIntegrityConfig("defaultAppCheckPlayIntegrityConfig", AppCheckPlayIntegrityConfigArgs.builder()
.project("my-project-name")
.appId(default_.appId())
.build(), CustomResourceOptions.builder()
.dependsOn(wait30s)
.build());
}
}
resources:
# Enables the Play Integrity API
playIntegrity:
type: gcp:projects:Service
name: play_integrity
properties:
project: my-project-name
service: playintegrity.googleapis.com
disableOnDestroy: false
default:
type: gcp:firebase:AndroidApp
properties:
project: my-project-name
displayName: Play Integrity app
packageName: package.name.playintegrity
sha1Hashes:
- 2145bdf698b8715039bd0e83f2069bed435ac21c
sha256Hashes:
- 2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc
# 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}
defaultAppCheckPlayIntegrityConfig:
type: gcp:firebase:AppCheckPlayIntegrityConfig
name: default
properties:
project: my-project-name
appId: ${default.appId}
options:
dependson:
- ${wait30s}

Firebase App Check Play Integrity Config Full

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
import * as time from "@pulumi/time";
// Enables the Play Integrity API
const playIntegrity = new gcp.projects.Service("play_integrity", {
project: "my-project-name",
service: "playintegrity.googleapis.com",
disableOnDestroy: false,
});
const _default = new gcp.firebase.AndroidApp("default", {
project: "my-project-name",
displayName: "Play Integrity app",
packageName: "package.name.playintegrity",
sha1Hashes: ["2145bdf698b8715039bd0e83f2069bed435ac21c"],
sha256Hashes: ["2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc"],
});
// 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 defaultAppCheckPlayIntegrityConfig = new gcp.firebase.AppCheckPlayIntegrityConfig("default", {
project: "my-project-name",
appId: _default.appId,
tokenTtl: "7200s",
}, {
dependsOn: [wait30s],
});
import pulumi
import pulumi_gcp as gcp
import pulumi_time as time
# Enables the Play Integrity API
play_integrity = gcp.projects.Service("play_integrity",
project="my-project-name",
service="playintegrity.googleapis.com",
disable_on_destroy=False)
default = gcp.firebase.AndroidApp("default",
project="my-project-name",
display_name="Play Integrity app",
package_name="package.name.playintegrity",
sha1_hashes=["2145bdf698b8715039bd0e83f2069bed435ac21c"],
sha256_hashes=["2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc"])
# 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_play_integrity_config = gcp.firebase.AppCheckPlayIntegrityConfig("default",
project="my-project-name",
app_id=default.app_id,
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 Play Integrity API
var playIntegrity = new Gcp.Projects.Service("play_integrity", new()
{
Project = "my-project-name",
ServiceName = "playintegrity.googleapis.com",
DisableOnDestroy = false,
});
var @default = new Gcp.Firebase.AndroidApp("default", new()
{
Project = "my-project-name",
DisplayName = "Play Integrity app",
PackageName = "package.name.playintegrity",
Sha1Hashes = new[]
{
"2145bdf698b8715039bd0e83f2069bed435ac21c",
},
Sha256Hashes = new[]
{
"2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc",
},
});
// 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 defaultAppCheckPlayIntegrityConfig = new Gcp.Firebase.AppCheckPlayIntegrityConfig("default", new()
{
Project = "my-project-name",
AppId = @default.AppId,
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 Play Integrity API
_, err := projects.NewService(ctx, "play_integrity", &projects.ServiceArgs{
Project: pulumi.String("my-project-name"),
Service: pulumi.String("playintegrity.googleapis.com"),
DisableOnDestroy: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = firebase.NewAndroidApp(ctx, "default", &firebase.AndroidAppArgs{
Project: pulumi.String("my-project-name"),
DisplayName: pulumi.String("Play Integrity app"),
PackageName: pulumi.String("package.name.playintegrity"),
Sha1Hashes: pulumi.StringArray{
pulumi.String("2145bdf698b8715039bd0e83f2069bed435ac21c"),
},
Sha256Hashes: pulumi.StringArray{
pulumi.String("2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc"),
},
})
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.NewAppCheckPlayIntegrityConfig(ctx, "default", &firebase.AppCheckPlayIntegrityConfigArgs{
Project: pulumi.String("my-project-name"),
AppId: _default.AppId,
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.AndroidApp;
import com.pulumi.gcp.firebase.AndroidAppArgs;
import com.pulumi.time.sleep;
import com.pulumi.time.SleepArgs;
import com.pulumi.gcp.firebase.AppCheckPlayIntegrityConfig;
import com.pulumi.gcp.firebase.AppCheckPlayIntegrityConfigArgs;
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 Play Integrity API
var playIntegrity = new Service("playIntegrity", ServiceArgs.builder()
.project("my-project-name")
.service("playintegrity.googleapis.com")
.disableOnDestroy(false)
.build());
var default_ = new AndroidApp("default", AndroidAppArgs.builder()
.project("my-project-name")
.displayName("Play Integrity app")
.packageName("package.name.playintegrity")
.sha1Hashes("2145bdf698b8715039bd0e83f2069bed435ac21c")
.sha256Hashes("2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc")
.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 defaultAppCheckPlayIntegrityConfig = new AppCheckPlayIntegrityConfig("defaultAppCheckPlayIntegrityConfig", AppCheckPlayIntegrityConfigArgs.builder()
.project("my-project-name")
.appId(default_.appId())
.tokenTtl("7200s")
.build(), CustomResourceOptions.builder()
.dependsOn(wait30s)
.build());
}
}
resources:
# Enables the Play Integrity API
playIntegrity:
type: gcp:projects:Service
name: play_integrity
properties:
project: my-project-name
service: playintegrity.googleapis.com
disableOnDestroy: false
default:
type: gcp:firebase:AndroidApp
properties:
project: my-project-name
displayName: Play Integrity app
packageName: package.name.playintegrity
sha1Hashes:
- 2145bdf698b8715039bd0e83f2069bed435ac21c
sha256Hashes:
- 2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc
# 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}
defaultAppCheckPlayIntegrityConfig:
type: gcp:firebase:AppCheckPlayIntegrityConfig
name: default
properties:
project: my-project-name
appId: ${default.appId}
tokenTtl: 7200s
options:
dependson:
- ${wait30s}

Import

PlayIntegrityConfig can be imported using any of these accepted formats:

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

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

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

$ pulumi import gcp:firebase/appCheckPlayIntegrityConfig:AppCheckPlayIntegrityConfig default projects/{{project}}/apps/{{app_id}}/playIntegrityConfig
$ pulumi import gcp:firebase/appCheckPlayIntegrityConfig:AppCheckPlayIntegrityConfig default {{project}}/{{app_id}}
$ pulumi import gcp:firebase/appCheckPlayIntegrityConfig:AppCheckPlayIntegrityConfig default {{app_id}}

Constructors

Link copied to clipboard
constructor(appId: Output<String>? = null, project: Output<String>? = null, tokenTtl: Output<String>? = null)

Properties

Link copied to clipboard
val appId: Output<String>? = null

The ID of an Android App.

Link copied to clipboard
val project: Output<String>? = null

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 tokenTtl: Output<String>? = null

Specifies the duration for which App Check tokens exchanged from Play Integrity 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".

Functions

Link copied to clipboard
open override fun toJava(): AppCheckPlayIntegrityConfigArgs