Release |
For more information, see:
* [Get started with Firebase Security Rules](https://firebase.google.com/docs/rules/get-started)
## Example Usage
### Firestore_release
Creates a Firebase Rules Release to Cloud Firestore
```java
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
```java
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:
```sh
$ pulumi import gcp:firebaserules/release:Release default projects/{{project}}/releases/{{name}}
```
|
Ruleset |
For more information, see:
* [Get started with Firebase Security Rules](https://firebase.google.com/docs/rules/get-started)
## Example Usage
### Basic_ruleset
Creates a basic Firestore ruleset
```java
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 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 primary = new Ruleset("primary", RulesetArgs.builder()
.project("my-project-name")
.source(RulesetSourceArgs.builder()
.files(RulesetSourceFileArgs.builder()
.content("service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }")
.fingerprint("")
.name("firestore.rules")
.build())
.language("")
.build())
.build());
}
}
```
### Minimal_ruleset
Creates a minimal Firestore ruleset
```java
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 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 primary = new Ruleset("primary", RulesetArgs.builder()
.project("my-project-name")
.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())
.build());
}
}
```
## Import
Ruleset can be imported using any of these accepted formats
```sh
$ pulumi import gcp:firebaserules/ruleset:Ruleset default projects/{{project}}/rulesets/{{name}}
```
```sh
$ pulumi import gcp:firebaserules/ruleset:Ruleset default {{project}}/{{name}}
```
```sh
$ pulumi import gcp:firebaserules/ruleset:Ruleset default {{name}}
```
|