Release Args
data class ReleaseArgs(val name: Output<String>? = null, val project: Output<String>? = null, val rulesetName: Output<String>? = null) : ConvertibleToJava<ReleaseArgs>
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());
}
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
Import
Release can be imported using any of these accepted formats:
$ pulumi import gcp:firebaserules/release:Release default projects/{{project}}/releases/{{name}}
Content copied to clipboard