Field

class Field : KotlinCustomResource

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:

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 with location_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}}

Properties

Link copied to clipboard
val collection: Output<String>

The id of the collection group to configure.

Link copied to clipboard
val database: Output<String>?

The Firestore database id. Defaults to "(default)".

Link copied to clipboard
val field: Output<String>

The id of the field to configure.

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

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.

Link copied to clipboard
val name: Output<String>

The name of this field. Format: projects/{{project}}/databases/{{database}}/collectionGroups/{{collection}}/fields/{{field}}

Link copied to clipboard
val project: Output<String>

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 pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

If set, this field is configured for TTL deletion. Structure is documented below.

Link copied to clipboard
val urn: Output<String>