Field Args
Represents a single field in the database. Fields are grouped by their "Collection Group", which represent all collections in the database with the same id. To get more information about Field, see:
How-to Guides
Warning: This resource creates a Firestore Single Field override on a project that already has a Firestore database. If you haven't already created it, you may create a
gcp.firestore.Database
resource withlocation_id
set to your chosen location.
Example Usage
Firestore Field Basic
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firestore.Field;
import com.pulumi.gcp.firestore.FieldArgs;
import com.pulumi.gcp.firestore.inputs.FieldIndexConfigArgs;
import com.pulumi.gcp.firestore.inputs.FieldTtlConfigArgs;
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 basic = new Field("basic", FieldArgs.builder()
.collection("chatrooms_%{random_suffix}")
.database("(default)")
.field("basic")
.indexConfig(FieldIndexConfigArgs.builder()
.indexes(
FieldIndexConfigIndexArgs.builder()
.order("ASCENDING")
.queryScope("COLLECTION_GROUP")
.build(),
FieldIndexConfigIndexArgs.builder()
.arrayConfig("CONTAINS")
.build())
.build())
.project("my-project-name")
.ttlConfig()
.build());
}
}
Firestore Field Timestamp
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firestore.Field;
import com.pulumi.gcp.firestore.FieldArgs;
import com.pulumi.gcp.firestore.inputs.FieldIndexConfigArgs;
import com.pulumi.gcp.firestore.inputs.FieldTtlConfigArgs;
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 timestamp = new Field("timestamp", FieldArgs.builder()
.collection("chatrooms_%{random_suffix}")
.field("timestamp")
.indexConfig()
.project("my-project-name")
.ttlConfig()
.build());
}
}
Firestore Field Match Override
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firestore.Field;
import com.pulumi.gcp.firestore.FieldArgs;
import com.pulumi.gcp.firestore.inputs.FieldIndexConfigArgs;
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 matchOverride = new Field("matchOverride", FieldArgs.builder()
.collection("chatrooms_%{random_suffix}")
.field("field_with_same_configuration_as_ancestor")
.indexConfig(FieldIndexConfigArgs.builder()
.indexes(
FieldIndexConfigIndexArgs.builder()
.order("ASCENDING")
.build(),
FieldIndexConfigIndexArgs.builder()
.order("DESCENDING")
.build(),
FieldIndexConfigIndexArgs.builder()
.arrayConfig("CONTAINS")
.build())
.build())
.project("my-project-name")
.build());
}
}
Import
Field can be imported using any of these accepted formats:
$ pulumi import gcp:firestore/field:Field default {{name}}
Constructors
Properties
The id of the collection group to configure.
The single field index configuration for this field. Creating an index configuration for this field will override any inherited configuration with the indexes specified. Configuring the index configuration with an empty block disables all indexes on the field. Structure is documented below.
If set, this field is configured for TTL deletion. Structure is documented below.