Release

class Release : KotlinCustomResource

For more information, see:

Example Usage

Firestore_release

Creates a Firebase Rules Release to Cloud Firestore

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebaserules.Ruleset;
import com.pulumi.gcp.firebaserules.RulesetArgs;
import com.pulumi.gcp.firebaserules.inputs.RulesetSourceArgs;
import com.pulumi.gcp.firebaserules.Release;
import com.pulumi.gcp.firebaserules.ReleaseArgs;
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) {
var firestore = new Ruleset("firestore", RulesetArgs.builder()
.source(RulesetSourceArgs.builder()
.files(RulesetSourceFileArgs.builder()
.content("service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }")
.name("firestore.rules")
.build())
.build())
.project("my-project-name")
.build());
var primary = new Release("primary", ReleaseArgs.builder()
.rulesetName(firestore.name().applyValue(name -> String.format("projects/my-project-name/rulesets/%s", name)))
.project("my-project-name")
.build());
}
}

Storage_release

Creates a Firebase Rules Release for a Storage bucket

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.firebase.StorageBucket;
import com.pulumi.gcp.firebase.StorageBucketArgs;
import com.pulumi.gcp.firebaserules.Ruleset;
import com.pulumi.gcp.firebaserules.RulesetArgs;
import com.pulumi.gcp.firebaserules.inputs.RulesetSourceArgs;
import com.pulumi.gcp.firebaserules.Release;
import com.pulumi.gcp.firebaserules.ReleaseArgs;
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) {
var bucketBucket = new Bucket("bucketBucket", BucketArgs.builder()
.project("my-project-name")
.location("us-west1")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var bucketStorageBucket = new StorageBucket("bucketStorageBucket", StorageBucketArgs.builder()
.project("my-project-name")
.bucketId(bucketBucket.name())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var storage = new Ruleset("storage", RulesetArgs.builder()
.project("my-project-name")
.source(RulesetSourceArgs.builder()
.files(RulesetSourceFileArgs.builder()
.name("storage.rules")
.content("service firebase.storage {match /b/{bucket}/o {match /{allPaths=**} {allow read, write: if request.auth != null;}}}")
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.dependsOn(bucketStorageBucket)
.build());
var primary = new Release("primary", ReleaseArgs.builder()
.rulesetName(storage.name().applyValue(name -> String.format("projects/my-project-name/rulesets/%s", name)))
.project("my-project-name")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Import

Release can be imported using any of these accepted formats:

$ pulumi import gcp:firebaserules/release:Release default projects/{{project}}/releases/{{name}}

Properties

Link copied to clipboard
val createTime: Output<String>

Output only. Time the release was created.

Link copied to clipboard
val disabled: Output<Boolean>

Disable the release to keep it from being served. The response code of NOT_FOUND will be given for executables generated from this Release.

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

Format: projects/{project_id}/releases/{release_id}\Firestore Rules Releases will always have the name 'cloud.firestore'

Link copied to clipboard
val project: Output<String>

The project for the resource

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

Name of the Ruleset referred to by this Release. The Ruleset must exist for the Release to be created.

Link copied to clipboard
val updateTime: Output<String>

Output only. Time the release was updated.

Link copied to clipboard
val urn: Output<String>