FieldArgs

data class FieldArgs(val collection: Output<String>? = null, val database: Output<String>? = null, val field: Output<String>? = null, val indexConfig: Output<FieldIndexConfigArgs>? = null, val project: Output<String>? = null, val ttlConfig: Output<FieldTtlConfigArgs>? = null) : ConvertibleToJava<FieldArgs>

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

Constructors

Link copied to clipboard
constructor(collection: Output<String>? = null, database: Output<String>? = null, field: Output<String>? = null, indexConfig: Output<FieldIndexConfigArgs>? = null, project: Output<String>? = null, ttlConfig: Output<FieldTtlConfigArgs>? = null)

Properties

Link copied to clipboard
val collection: Output<String>? = null

The id of the collection group to configure.

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

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

Link copied to clipboard
val field: Output<String>? = null

The id of the field to configure.

Link copied to clipboard
val indexConfig: Output<FieldIndexConfigArgs>? = null

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 project: Output<String>? = null

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 ttlConfig: Output<FieldTtlConfigArgs>? = null

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

Functions

Link copied to clipboard
open override fun toJava(): FieldArgs