firestore

package
v6.67.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 4, 2023 License: Apache-2.0 Imports: 8 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database added in v6.50.0

type Database struct {
	pulumi.CustomResourceState

	// The App Engine integration mode to use for this database.
	// Possible values are: `ENABLED`, `DISABLED`.
	AppEngineIntegrationMode pulumi.StringOutput `pulumi:"appEngineIntegrationMode"`
	// The concurrency control mode to use for this database.
	// Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
	ConcurrencyMode pulumi.StringOutput `pulumi:"concurrencyMode"`
	// Output only. The timestamp at which this database was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// State of delete protection for the database.
	// Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
	DeleteProtectionState pulumi.StringOutput `pulumi:"deleteProtectionState"`
	// Output only. The earliest timestamp at which older versions of the data can be read from the database. See versionRetentionPeriod above; this field is populated with now - versionRetentionPeriod.
	// This value is continuously updated, and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.
	// A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	EarliestVersionTime pulumi.StringOutput `pulumi:"earliestVersionTime"`
	// Output only. This checksum is computed by the server based on the value of other fields,
	// and may be sent on update and delete requests to ensure the client has an
	// up-to-date value before proceeding.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Output only. The keyPrefix for this database.
	// This keyPrefix is used, in combination with the project id ("~") to construct the application id
	// that is returned from the Cloud Datastore APIs in Google App Engine first generation runtimes.
	// This value may be empty in which case the appid to use for URL-encoded keys is the projectId (eg: foo instead of v~foo).
	KeyPrefix pulumi.StringOutput `pulumi:"keyPrefix"`
	// The location of the database. Available locations are listed at
	// https://cloud.google.com/firestore/docs/locations.
	LocationId pulumi.StringOutput `pulumi:"locationId"`
	// The ID to use for the database, which will become the final
	// component of the database's resource name. This value should be 4-63
	// characters. Valid characters are /[a-z][0-9]-/ with first character
	// a letter and the last a letter or a number. Must not be
	// UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.
	// "(default)" database id is also valid.
	Name pulumi.StringOutput `pulumi:"name"`
	// Whether to enable the PITR feature on this database.
	// If `POINT_IN_TIME_RECOVERY_ENABLED` is selected, reads are supported on selected versions of the data from within the past 7 days.
	// versionRetentionPeriod and earliestVersionTime can be used to determine the supported versions. These include reads against any timestamp within the past hour
	// and reads against 1-minute snapshots beyond 1 hour and within 7 days.
	// If `POINT_IN_TIME_RECOVERY_DISABLED` is selected, reads are supported on any version of the data from within the past 1 hour.
	// Default value is `POINT_IN_TIME_RECOVERY_DISABLED`.
	// Possible values are: `POINT_IN_TIME_RECOVERY_ENABLED`, `POINT_IN_TIME_RECOVERY_DISABLED`.
	PointInTimeRecoveryEnablement pulumi.StringPtrOutput `pulumi:"pointInTimeRecoveryEnablement"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The type of the database.
	// See https://cloud.google.com/datastore/docs/firestore-or-datastore
	// for information about how to choose.
	// Possible values are: `FIRESTORE_NATIVE`, `DATASTORE_MODE`.
	//
	// ***
	Type pulumi.StringOutput `pulumi:"type"`
	// Output only. The system-generated UUID4 for this Database.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// Output only. The timestamp at which this database was most recently updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
	// Output only. The period during which past versions of data are retained in the database.
	// Any read or query can specify a readTime within this window, and will read the state of the database at that time.
	// If the PITR feature is enabled, the retention period is 7 days. Otherwise, the retention period is 1 hour.
	// A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
	VersionRetentionPeriod pulumi.StringOutput `pulumi:"versionRetentionPeriod"`
}

A Cloud Firestore Database.

If you wish to use Firestore with App Engine, use the `appengine.Application` resource instead.

To get more information about Database, see:

* [API documentation](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases) * How-to Guides

## Example Usage ### Firestore Database With Delete Protection

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/firestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := firestore.NewDatabase(ctx, "database", &firestore.DatabaseArgs{
			Project:               pulumi.Any(google_project.Project.Project_id),
			LocationId:            pulumi.String("nam5"),
			Type:                  pulumi.String("FIRESTORE_NATIVE"),
			DeleteProtectionState: pulumi.String("DELETE_PROTECTION_ENABLED"),
		}, pulumi.DependsOn([]pulumi.Resource{
			google_project_service.Firestore,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Database can be imported using any of these accepted formats

```sh

$ pulumi import gcp:firestore/database:Database default projects/{{project}}/databases/{{name}}

```

```sh

$ pulumi import gcp:firestore/database:Database default {{project}}/{{name}}

```

```sh

$ pulumi import gcp:firestore/database:Database default {{name}}

```

func GetDatabase added in v6.50.0

func GetDatabase(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabaseState, opts ...pulumi.ResourceOption) (*Database, error)

GetDatabase gets an existing Database resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatabase added in v6.50.0

func NewDatabase(ctx *pulumi.Context,
	name string, args *DatabaseArgs, opts ...pulumi.ResourceOption) (*Database, error)

NewDatabase registers a new resource with the given unique name, arguments, and options.

func (*Database) ElementType added in v6.50.0

func (*Database) ElementType() reflect.Type

func (*Database) ToDatabaseOutput added in v6.50.0

func (i *Database) ToDatabaseOutput() DatabaseOutput

func (*Database) ToDatabaseOutputWithContext added in v6.50.0

func (i *Database) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

func (*Database) ToOutput added in v6.65.1

func (i *Database) ToOutput(ctx context.Context) pulumix.Output[*Database]

type DatabaseArgs added in v6.50.0

type DatabaseArgs struct {
	// The App Engine integration mode to use for this database.
	// Possible values are: `ENABLED`, `DISABLED`.
	AppEngineIntegrationMode pulumi.StringPtrInput
	// The concurrency control mode to use for this database.
	// Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
	ConcurrencyMode pulumi.StringPtrInput
	// State of delete protection for the database.
	// Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
	DeleteProtectionState pulumi.StringPtrInput
	// The location of the database. Available locations are listed at
	// https://cloud.google.com/firestore/docs/locations.
	LocationId pulumi.StringInput
	// The ID to use for the database, which will become the final
	// component of the database's resource name. This value should be 4-63
	// characters. Valid characters are /[a-z][0-9]-/ with first character
	// a letter and the last a letter or a number. Must not be
	// UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.
	// "(default)" database id is also valid.
	Name pulumi.StringPtrInput
	// Whether to enable the PITR feature on this database.
	// If `POINT_IN_TIME_RECOVERY_ENABLED` is selected, reads are supported on selected versions of the data from within the past 7 days.
	// versionRetentionPeriod and earliestVersionTime can be used to determine the supported versions. These include reads against any timestamp within the past hour
	// and reads against 1-minute snapshots beyond 1 hour and within 7 days.
	// If `POINT_IN_TIME_RECOVERY_DISABLED` is selected, reads are supported on any version of the data from within the past 1 hour.
	// Default value is `POINT_IN_TIME_RECOVERY_DISABLED`.
	// Possible values are: `POINT_IN_TIME_RECOVERY_ENABLED`, `POINT_IN_TIME_RECOVERY_DISABLED`.
	PointInTimeRecoveryEnablement pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The type of the database.
	// See https://cloud.google.com/datastore/docs/firestore-or-datastore
	// for information about how to choose.
	// Possible values are: `FIRESTORE_NATIVE`, `DATASTORE_MODE`.
	//
	// ***
	Type pulumi.StringInput
}

The set of arguments for constructing a Database resource.

func (DatabaseArgs) ElementType added in v6.50.0

func (DatabaseArgs) ElementType() reflect.Type

type DatabaseArray added in v6.50.0

type DatabaseArray []DatabaseInput

func (DatabaseArray) ElementType added in v6.50.0

func (DatabaseArray) ElementType() reflect.Type

func (DatabaseArray) ToDatabaseArrayOutput added in v6.50.0

func (i DatabaseArray) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArray) ToDatabaseArrayOutputWithContext added in v6.50.0

func (i DatabaseArray) ToDatabaseArrayOutputWithContext(ctx context.Context) DatabaseArrayOutput

func (DatabaseArray) ToOutput added in v6.65.1

func (i DatabaseArray) ToOutput(ctx context.Context) pulumix.Output[[]*Database]

type DatabaseArrayInput added in v6.50.0

type DatabaseArrayInput interface {
	pulumi.Input

	ToDatabaseArrayOutput() DatabaseArrayOutput
	ToDatabaseArrayOutputWithContext(context.Context) DatabaseArrayOutput
}

DatabaseArrayInput is an input type that accepts DatabaseArray and DatabaseArrayOutput values. You can construct a concrete instance of `DatabaseArrayInput` via:

DatabaseArray{ DatabaseArgs{...} }

type DatabaseArrayOutput added in v6.50.0

type DatabaseArrayOutput struct{ *pulumi.OutputState }

func (DatabaseArrayOutput) ElementType added in v6.50.0

func (DatabaseArrayOutput) ElementType() reflect.Type

func (DatabaseArrayOutput) Index added in v6.50.0

func (DatabaseArrayOutput) ToDatabaseArrayOutput added in v6.50.0

func (o DatabaseArrayOutput) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArrayOutput) ToDatabaseArrayOutputWithContext added in v6.50.0

func (o DatabaseArrayOutput) ToDatabaseArrayOutputWithContext(ctx context.Context) DatabaseArrayOutput

func (DatabaseArrayOutput) ToOutput added in v6.65.1

type DatabaseInput added in v6.50.0

type DatabaseInput interface {
	pulumi.Input

	ToDatabaseOutput() DatabaseOutput
	ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput
}

type DatabaseMap added in v6.50.0

type DatabaseMap map[string]DatabaseInput

func (DatabaseMap) ElementType added in v6.50.0

func (DatabaseMap) ElementType() reflect.Type

func (DatabaseMap) ToDatabaseMapOutput added in v6.50.0

func (i DatabaseMap) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMap) ToDatabaseMapOutputWithContext added in v6.50.0

func (i DatabaseMap) ToDatabaseMapOutputWithContext(ctx context.Context) DatabaseMapOutput

func (DatabaseMap) ToOutput added in v6.65.1

func (i DatabaseMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Database]

type DatabaseMapInput added in v6.50.0

type DatabaseMapInput interface {
	pulumi.Input

	ToDatabaseMapOutput() DatabaseMapOutput
	ToDatabaseMapOutputWithContext(context.Context) DatabaseMapOutput
}

DatabaseMapInput is an input type that accepts DatabaseMap and DatabaseMapOutput values. You can construct a concrete instance of `DatabaseMapInput` via:

DatabaseMap{ "key": DatabaseArgs{...} }

type DatabaseMapOutput added in v6.50.0

type DatabaseMapOutput struct{ *pulumi.OutputState }

func (DatabaseMapOutput) ElementType added in v6.50.0

func (DatabaseMapOutput) ElementType() reflect.Type

func (DatabaseMapOutput) MapIndex added in v6.50.0

func (DatabaseMapOutput) ToDatabaseMapOutput added in v6.50.0

func (o DatabaseMapOutput) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMapOutput) ToDatabaseMapOutputWithContext added in v6.50.0

func (o DatabaseMapOutput) ToDatabaseMapOutputWithContext(ctx context.Context) DatabaseMapOutput

func (DatabaseMapOutput) ToOutput added in v6.65.1

type DatabaseOutput added in v6.50.0

type DatabaseOutput struct{ *pulumi.OutputState }

func (DatabaseOutput) AppEngineIntegrationMode added in v6.50.0

func (o DatabaseOutput) AppEngineIntegrationMode() pulumi.StringOutput

The App Engine integration mode to use for this database. Possible values are: `ENABLED`, `DISABLED`.

func (DatabaseOutput) ConcurrencyMode added in v6.50.0

func (o DatabaseOutput) ConcurrencyMode() pulumi.StringOutput

The concurrency control mode to use for this database. Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.

func (DatabaseOutput) CreateTime added in v6.50.0

func (o DatabaseOutput) CreateTime() pulumi.StringOutput

Output only. The timestamp at which this database was created.

func (DatabaseOutput) DeleteProtectionState added in v6.67.0

func (o DatabaseOutput) DeleteProtectionState() pulumi.StringOutput

State of delete protection for the database. Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.

func (DatabaseOutput) EarliestVersionTime added in v6.67.0

func (o DatabaseOutput) EarliestVersionTime() pulumi.StringOutput

Output only. The earliest timestamp at which older versions of the data can be read from the database. See versionRetentionPeriod above; this field is populated with now - versionRetentionPeriod. This value is continuously updated, and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

func (DatabaseOutput) ElementType added in v6.50.0

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) Etag added in v6.50.0

Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.

func (DatabaseOutput) KeyPrefix added in v6.50.0

func (o DatabaseOutput) KeyPrefix() pulumi.StringOutput

Output only. The keyPrefix for this database. This keyPrefix is used, in combination with the project id ("~") to construct the application id that is returned from the Cloud Datastore APIs in Google App Engine first generation runtimes. This value may be empty in which case the appid to use for URL-encoded keys is the projectId (eg: foo instead of v~foo).

func (DatabaseOutput) LocationId added in v6.50.0

func (o DatabaseOutput) LocationId() pulumi.StringOutput

The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations.

func (DatabaseOutput) Name added in v6.50.0

The ID to use for the database, which will become the final component of the database's resource name. This value should be 4-63 characters. Valid characters are /[a-z][0-9]-/ with first character a letter and the last a letter or a number. Must not be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. "(default)" database id is also valid.

func (DatabaseOutput) PointInTimeRecoveryEnablement added in v6.67.0

func (o DatabaseOutput) PointInTimeRecoveryEnablement() pulumi.StringPtrOutput

Whether to enable the PITR feature on this database. If `POINT_IN_TIME_RECOVERY_ENABLED` is selected, reads are supported on selected versions of the data from within the past 7 days. versionRetentionPeriod and earliestVersionTime can be used to determine the supported versions. These include reads against any timestamp within the past hour and reads against 1-minute snapshots beyond 1 hour and within 7 days. If `POINT_IN_TIME_RECOVERY_DISABLED` is selected, reads are supported on any version of the data from within the past 1 hour. Default value is `POINT_IN_TIME_RECOVERY_DISABLED`. Possible values are: `POINT_IN_TIME_RECOVERY_ENABLED`, `POINT_IN_TIME_RECOVERY_DISABLED`.

func (DatabaseOutput) Project added in v6.50.0

func (o DatabaseOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (DatabaseOutput) ToDatabaseOutput added in v6.50.0

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext added in v6.50.0

func (o DatabaseOutput) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

func (DatabaseOutput) ToOutput added in v6.65.1

func (DatabaseOutput) Type added in v6.50.0

The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose. Possible values are: `FIRESTORE_NATIVE`, `DATASTORE_MODE`.

***

func (DatabaseOutput) Uid added in v6.67.0

Output only. The system-generated UUID4 for this Database.

func (DatabaseOutput) UpdateTime added in v6.67.0

func (o DatabaseOutput) UpdateTime() pulumi.StringOutput

Output only. The timestamp at which this database was most recently updated.

func (DatabaseOutput) VersionRetentionPeriod added in v6.67.0

func (o DatabaseOutput) VersionRetentionPeriod() pulumi.StringOutput

Output only. The period during which past versions of data are retained in the database. Any read or query can specify a readTime within this window, and will read the state of the database at that time. If the PITR feature is enabled, the retention period is 7 days. Otherwise, the retention period is 1 hour. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

type DatabaseState added in v6.50.0

type DatabaseState struct {
	// The App Engine integration mode to use for this database.
	// Possible values are: `ENABLED`, `DISABLED`.
	AppEngineIntegrationMode pulumi.StringPtrInput
	// The concurrency control mode to use for this database.
	// Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
	ConcurrencyMode pulumi.StringPtrInput
	// Output only. The timestamp at which this database was created.
	CreateTime pulumi.StringPtrInput
	// State of delete protection for the database.
	// Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
	DeleteProtectionState pulumi.StringPtrInput
	// Output only. The earliest timestamp at which older versions of the data can be read from the database. See versionRetentionPeriod above; this field is populated with now - versionRetentionPeriod.
	// This value is continuously updated, and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.
	// A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	EarliestVersionTime pulumi.StringPtrInput
	// Output only. This checksum is computed by the server based on the value of other fields,
	// and may be sent on update and delete requests to ensure the client has an
	// up-to-date value before proceeding.
	Etag pulumi.StringPtrInput
	// Output only. The keyPrefix for this database.
	// This keyPrefix is used, in combination with the project id ("~") to construct the application id
	// that is returned from the Cloud Datastore APIs in Google App Engine first generation runtimes.
	// This value may be empty in which case the appid to use for URL-encoded keys is the projectId (eg: foo instead of v~foo).
	KeyPrefix pulumi.StringPtrInput
	// The location of the database. Available locations are listed at
	// https://cloud.google.com/firestore/docs/locations.
	LocationId pulumi.StringPtrInput
	// The ID to use for the database, which will become the final
	// component of the database's resource name. This value should be 4-63
	// characters. Valid characters are /[a-z][0-9]-/ with first character
	// a letter and the last a letter or a number. Must not be
	// UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.
	// "(default)" database id is also valid.
	Name pulumi.StringPtrInput
	// Whether to enable the PITR feature on this database.
	// If `POINT_IN_TIME_RECOVERY_ENABLED` is selected, reads are supported on selected versions of the data from within the past 7 days.
	// versionRetentionPeriod and earliestVersionTime can be used to determine the supported versions. These include reads against any timestamp within the past hour
	// and reads against 1-minute snapshots beyond 1 hour and within 7 days.
	// If `POINT_IN_TIME_RECOVERY_DISABLED` is selected, reads are supported on any version of the data from within the past 1 hour.
	// Default value is `POINT_IN_TIME_RECOVERY_DISABLED`.
	// Possible values are: `POINT_IN_TIME_RECOVERY_ENABLED`, `POINT_IN_TIME_RECOVERY_DISABLED`.
	PointInTimeRecoveryEnablement pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The type of the database.
	// See https://cloud.google.com/datastore/docs/firestore-or-datastore
	// for information about how to choose.
	// Possible values are: `FIRESTORE_NATIVE`, `DATASTORE_MODE`.
	//
	// ***
	Type pulumi.StringPtrInput
	// Output only. The system-generated UUID4 for this Database.
	Uid pulumi.StringPtrInput
	// Output only. The timestamp at which this database was most recently updated.
	UpdateTime pulumi.StringPtrInput
	// Output only. The period during which past versions of data are retained in the database.
	// Any read or query can specify a readTime within this window, and will read the state of the database at that time.
	// If the PITR feature is enabled, the retention period is 7 days. Otherwise, the retention period is 1 hour.
	// A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
	VersionRetentionPeriod pulumi.StringPtrInput
}

func (DatabaseState) ElementType added in v6.50.0

func (DatabaseState) ElementType() reflect.Type

type Document

type Document struct {
	pulumi.CustomResourceState

	// The collection ID, relative to database. For example: chatrooms or chatrooms/my-document/private-messages.
	Collection pulumi.StringOutput `pulumi:"collection"`
	// Creation timestamp in RFC3339 format.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The Firestore database id. Defaults to `"(default)"`.
	Database pulumi.StringPtrOutput `pulumi:"database"`
	// The client-assigned document ID to use for this document during creation.
	//
	// ***
	DocumentId pulumi.StringOutput `pulumi:"documentId"`
	// The document's [fields](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents) formated as a json string.
	Fields pulumi.StringOutput `pulumi:"fields"`
	// A server defined name for this index. Format:
	// `projects/{{project_id}}/databases/{{database_id}}/documents/{{path}}/{{document_id}}`
	Name pulumi.StringOutput `pulumi:"name"`
	// A relative path to the collection this document exists within
	Path pulumi.StringOutput `pulumi:"path"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// Last update timestamp in RFC3339 format.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

In Cloud Firestore, the unit of storage is the document. A document is a lightweight record that contains fields, which map to values. Each document is identified by a name.

To get more information about Document, see:

* [API documentation](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents) * How-to Guides

> **Warning:** This resource creates a Firestore Document on a project that already has a Firestore database. If you haven't already created it, you may create a `firestore.Database` resource with `type` set to `"FIRESTORE_NATIVE"` and `locationId` set to your chosen location. If you wish to use App Engine, you may instead create a `appengine.Application` resource with `databaseType` set to `"CLOUD_FIRESTORE"`. Your Firestore location will be the same as the App Engine location specified.

## Example Usage ### Firestore Document Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/firestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := firestore.NewDocument(ctx, "mydoc", &firestore.DocumentArgs{
			Collection: pulumi.String("somenewcollection"),
			DocumentId: pulumi.String("my-doc-id"),
			Fields:     pulumi.String("{\"something\":{\"mapValue\":{\"fields\":{\"akey\":{\"stringValue\":\"avalue\"}}}}}"),
			Project:    pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Firestore Document Nested Document

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/firestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mydoc, err := firestore.NewDocument(ctx, "mydoc", &firestore.DocumentArgs{
			Collection: pulumi.String("somenewcollection"),
			DocumentId: pulumi.String("my-doc-id"),
			Fields:     pulumi.String("{\"something\":{\"mapValue\":{\"fields\":{\"akey\":{\"stringValue\":\"avalue\"}}}}}"),
			Project:    pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		subDocument, err := firestore.NewDocument(ctx, "subDocument", &firestore.DocumentArgs{
			Collection: mydoc.Path.ApplyT(func(path string) (string, error) {
				return fmt.Sprintf("%v/subdocs", path), nil
			}).(pulumi.StringOutput),
			DocumentId: pulumi.String("bitcoinkey"),
			Fields:     pulumi.String("{\"something\":{\"mapValue\":{\"fields\":{\"ayo\":{\"stringValue\":\"val2\"}}}}}"),
			Project:    pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		_, err = firestore.NewDocument(ctx, "subSubDocument", &firestore.DocumentArgs{
			Collection: subDocument.Path.ApplyT(func(path string) (string, error) {
				return fmt.Sprintf("%v/subsubdocs", path), nil
			}).(pulumi.StringOutput),
			DocumentId: pulumi.String("asecret"),
			Fields:     pulumi.String("{\"something\":{\"mapValue\":{\"fields\":{\"secret\":{\"stringValue\":\"hithere\"}}}}}"),
			Project:    pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Document can be imported using any of these accepted formats:

```sh

$ pulumi import gcp:firestore/document:Document default {{name}}

```

func GetDocument

func GetDocument(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DocumentState, opts ...pulumi.ResourceOption) (*Document, error)

GetDocument gets an existing Document resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDocument

func NewDocument(ctx *pulumi.Context,
	name string, args *DocumentArgs, opts ...pulumi.ResourceOption) (*Document, error)

NewDocument registers a new resource with the given unique name, arguments, and options.

func (*Document) ElementType

func (*Document) ElementType() reflect.Type

func (*Document) ToDocumentOutput

func (i *Document) ToDocumentOutput() DocumentOutput

func (*Document) ToDocumentOutputWithContext

func (i *Document) ToDocumentOutputWithContext(ctx context.Context) DocumentOutput

func (*Document) ToOutput added in v6.65.1

func (i *Document) ToOutput(ctx context.Context) pulumix.Output[*Document]

type DocumentArgs

type DocumentArgs struct {
	// The collection ID, relative to database. For example: chatrooms or chatrooms/my-document/private-messages.
	Collection pulumi.StringInput
	// The Firestore database id. Defaults to `"(default)"`.
	Database pulumi.StringPtrInput
	// The client-assigned document ID to use for this document during creation.
	//
	// ***
	DocumentId pulumi.StringInput
	// The document's [fields](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents) formated as a json string.
	Fields pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a Document resource.

func (DocumentArgs) ElementType

func (DocumentArgs) ElementType() reflect.Type

type DocumentArray

type DocumentArray []DocumentInput

func (DocumentArray) ElementType

func (DocumentArray) ElementType() reflect.Type

func (DocumentArray) ToDocumentArrayOutput

func (i DocumentArray) ToDocumentArrayOutput() DocumentArrayOutput

func (DocumentArray) ToDocumentArrayOutputWithContext

func (i DocumentArray) ToDocumentArrayOutputWithContext(ctx context.Context) DocumentArrayOutput

func (DocumentArray) ToOutput added in v6.65.1

func (i DocumentArray) ToOutput(ctx context.Context) pulumix.Output[[]*Document]

type DocumentArrayInput

type DocumentArrayInput interface {
	pulumi.Input

	ToDocumentArrayOutput() DocumentArrayOutput
	ToDocumentArrayOutputWithContext(context.Context) DocumentArrayOutput
}

DocumentArrayInput is an input type that accepts DocumentArray and DocumentArrayOutput values. You can construct a concrete instance of `DocumentArrayInput` via:

DocumentArray{ DocumentArgs{...} }

type DocumentArrayOutput

type DocumentArrayOutput struct{ *pulumi.OutputState }

func (DocumentArrayOutput) ElementType

func (DocumentArrayOutput) ElementType() reflect.Type

func (DocumentArrayOutput) Index

func (DocumentArrayOutput) ToDocumentArrayOutput

func (o DocumentArrayOutput) ToDocumentArrayOutput() DocumentArrayOutput

func (DocumentArrayOutput) ToDocumentArrayOutputWithContext

func (o DocumentArrayOutput) ToDocumentArrayOutputWithContext(ctx context.Context) DocumentArrayOutput

func (DocumentArrayOutput) ToOutput added in v6.65.1

type DocumentInput

type DocumentInput interface {
	pulumi.Input

	ToDocumentOutput() DocumentOutput
	ToDocumentOutputWithContext(ctx context.Context) DocumentOutput
}

type DocumentMap

type DocumentMap map[string]DocumentInput

func (DocumentMap) ElementType

func (DocumentMap) ElementType() reflect.Type

func (DocumentMap) ToDocumentMapOutput

func (i DocumentMap) ToDocumentMapOutput() DocumentMapOutput

func (DocumentMap) ToDocumentMapOutputWithContext

func (i DocumentMap) ToDocumentMapOutputWithContext(ctx context.Context) DocumentMapOutput

func (DocumentMap) ToOutput added in v6.65.1

func (i DocumentMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Document]

type DocumentMapInput

type DocumentMapInput interface {
	pulumi.Input

	ToDocumentMapOutput() DocumentMapOutput
	ToDocumentMapOutputWithContext(context.Context) DocumentMapOutput
}

DocumentMapInput is an input type that accepts DocumentMap and DocumentMapOutput values. You can construct a concrete instance of `DocumentMapInput` via:

DocumentMap{ "key": DocumentArgs{...} }

type DocumentMapOutput

type DocumentMapOutput struct{ *pulumi.OutputState }

func (DocumentMapOutput) ElementType

func (DocumentMapOutput) ElementType() reflect.Type

func (DocumentMapOutput) MapIndex

func (DocumentMapOutput) ToDocumentMapOutput

func (o DocumentMapOutput) ToDocumentMapOutput() DocumentMapOutput

func (DocumentMapOutput) ToDocumentMapOutputWithContext

func (o DocumentMapOutput) ToDocumentMapOutputWithContext(ctx context.Context) DocumentMapOutput

func (DocumentMapOutput) ToOutput added in v6.65.1

type DocumentOutput

type DocumentOutput struct{ *pulumi.OutputState }

func (DocumentOutput) Collection added in v6.23.0

func (o DocumentOutput) Collection() pulumi.StringOutput

The collection ID, relative to database. For example: chatrooms or chatrooms/my-document/private-messages.

func (DocumentOutput) CreateTime added in v6.23.0

func (o DocumentOutput) CreateTime() pulumi.StringOutput

Creation timestamp in RFC3339 format.

func (DocumentOutput) Database added in v6.23.0

func (o DocumentOutput) Database() pulumi.StringPtrOutput

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

func (DocumentOutput) DocumentId added in v6.23.0

func (o DocumentOutput) DocumentId() pulumi.StringOutput

The client-assigned document ID to use for this document during creation.

***

func (DocumentOutput) ElementType

func (DocumentOutput) ElementType() reflect.Type

func (DocumentOutput) Fields added in v6.23.0

func (o DocumentOutput) Fields() pulumi.StringOutput

The document's [fields](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents) formated as a json string.

func (DocumentOutput) Name added in v6.23.0

A server defined name for this index. Format: `projects/{{project_id}}/databases/{{database_id}}/documents/{{path}}/{{document_id}}`

func (DocumentOutput) Path added in v6.23.0

A relative path to the collection this document exists within

func (DocumentOutput) Project added in v6.23.0

func (o DocumentOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (DocumentOutput) ToDocumentOutput

func (o DocumentOutput) ToDocumentOutput() DocumentOutput

func (DocumentOutput) ToDocumentOutputWithContext

func (o DocumentOutput) ToDocumentOutputWithContext(ctx context.Context) DocumentOutput

func (DocumentOutput) ToOutput added in v6.65.1

func (DocumentOutput) UpdateTime added in v6.23.0

func (o DocumentOutput) UpdateTime() pulumi.StringOutput

Last update timestamp in RFC3339 format.

type DocumentState

type DocumentState struct {
	// The collection ID, relative to database. For example: chatrooms or chatrooms/my-document/private-messages.
	Collection pulumi.StringPtrInput
	// Creation timestamp in RFC3339 format.
	CreateTime pulumi.StringPtrInput
	// The Firestore database id. Defaults to `"(default)"`.
	Database pulumi.StringPtrInput
	// The client-assigned document ID to use for this document during creation.
	//
	// ***
	DocumentId pulumi.StringPtrInput
	// The document's [fields](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents) formated as a json string.
	Fields pulumi.StringPtrInput
	// A server defined name for this index. Format:
	// `projects/{{project_id}}/databases/{{database_id}}/documents/{{path}}/{{document_id}}`
	Name pulumi.StringPtrInput
	// A relative path to the collection this document exists within
	Path pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Last update timestamp in RFC3339 format.
	UpdateTime pulumi.StringPtrInput
}

func (DocumentState) ElementType

func (DocumentState) ElementType() reflect.Type

type Field added in v6.56.0

type Field struct {
	pulumi.CustomResourceState

	// The id of the collection group to configure.
	Collection pulumi.StringOutput `pulumi:"collection"`
	// The Firestore database id. Defaults to `"(default)"`.
	Database pulumi.StringPtrOutput `pulumi:"database"`
	// The id of the field to configure.
	//
	// ***
	Field pulumi.StringOutput `pulumi:"field"`
	// 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.
	IndexConfig FieldIndexConfigPtrOutput `pulumi:"indexConfig"`
	// The name of this field. Format:
	// `projects/{{project}}/databases/{{database}}/collectionGroups/{{collection}}/fields/{{field}}`
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// If set, this field is configured for TTL deletion.
	// Structure is documented below.
	TtlConfig FieldTtlConfigPtrOutput `pulumi:"ttlConfig"`
}

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:

* [API documentation](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.collectionGroups.fields) * 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 `firestore.Database` resource with `locationId` set to your chosen location.

## Example Usage ### Firestore Field Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/firestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := firestore.NewField(ctx, "basic", &firestore.FieldArgs{
			Collection: pulumi.String("chatrooms_%{random_suffix}"),
			Database:   pulumi.String("(default)"),
			Field:      pulumi.String("basic"),
			IndexConfig: &firestore.FieldIndexConfigArgs{
				Indexes: firestore.FieldIndexConfigIndexArray{
					&firestore.FieldIndexConfigIndexArgs{
						Order:      pulumi.String("ASCENDING"),
						QueryScope: pulumi.String("COLLECTION_GROUP"),
					},
					&firestore.FieldIndexConfigIndexArgs{
						ArrayConfig: pulumi.String("CONTAINS"),
					},
				},
			},
			Project:   pulumi.String("my-project-name"),
			TtlConfig: nil,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Firestore Field Timestamp

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/firestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := firestore.NewField(ctx, "timestamp", &firestore.FieldArgs{
			Collection:  pulumi.String("chatrooms_%{random_suffix}"),
			Field:       pulumi.String("timestamp"),
			IndexConfig: nil,
			Project:     pulumi.String("my-project-name"),
			TtlConfig:   nil,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Firestore Field Match Override

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/firestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := firestore.NewField(ctx, "matchOverride", &firestore.FieldArgs{
			Collection: pulumi.String("chatrooms_%{random_suffix}"),
			Field:      pulumi.String("field_with_same_configuration_as_ancestor"),
			IndexConfig: &firestore.FieldIndexConfigArgs{
				Indexes: firestore.FieldIndexConfigIndexArray{
					&firestore.FieldIndexConfigIndexArgs{
						Order: pulumi.String("ASCENDING"),
					},
					&firestore.FieldIndexConfigIndexArgs{
						Order: pulumi.String("DESCENDING"),
					},
					&firestore.FieldIndexConfigIndexArgs{
						ArrayConfig: pulumi.String("CONTAINS"),
					},
				},
			},
			Project: pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Field can be imported using any of these accepted formats:

```sh

$ pulumi import gcp:firestore/field:Field default {{name}}

```

func GetField added in v6.56.0

func GetField(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FieldState, opts ...pulumi.ResourceOption) (*Field, error)

GetField gets an existing Field resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewField added in v6.56.0

func NewField(ctx *pulumi.Context,
	name string, args *FieldArgs, opts ...pulumi.ResourceOption) (*Field, error)

NewField registers a new resource with the given unique name, arguments, and options.

func (*Field) ElementType added in v6.56.0

func (*Field) ElementType() reflect.Type

func (*Field) ToFieldOutput added in v6.56.0

func (i *Field) ToFieldOutput() FieldOutput

func (*Field) ToFieldOutputWithContext added in v6.56.0

func (i *Field) ToFieldOutputWithContext(ctx context.Context) FieldOutput

func (*Field) ToOutput added in v6.65.1

func (i *Field) ToOutput(ctx context.Context) pulumix.Output[*Field]

type FieldArgs added in v6.56.0

type FieldArgs struct {
	// The id of the collection group to configure.
	Collection pulumi.StringInput
	// The Firestore database id. Defaults to `"(default)"`.
	Database pulumi.StringPtrInput
	// The id of the field to configure.
	//
	// ***
	Field pulumi.StringInput
	// 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.
	IndexConfig FieldIndexConfigPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// If set, this field is configured for TTL deletion.
	// Structure is documented below.
	TtlConfig FieldTtlConfigPtrInput
}

The set of arguments for constructing a Field resource.

func (FieldArgs) ElementType added in v6.56.0

func (FieldArgs) ElementType() reflect.Type

type FieldArray added in v6.56.0

type FieldArray []FieldInput

func (FieldArray) ElementType added in v6.56.0

func (FieldArray) ElementType() reflect.Type

func (FieldArray) ToFieldArrayOutput added in v6.56.0

func (i FieldArray) ToFieldArrayOutput() FieldArrayOutput

func (FieldArray) ToFieldArrayOutputWithContext added in v6.56.0

func (i FieldArray) ToFieldArrayOutputWithContext(ctx context.Context) FieldArrayOutput

func (FieldArray) ToOutput added in v6.65.1

func (i FieldArray) ToOutput(ctx context.Context) pulumix.Output[[]*Field]

type FieldArrayInput added in v6.56.0

type FieldArrayInput interface {
	pulumi.Input

	ToFieldArrayOutput() FieldArrayOutput
	ToFieldArrayOutputWithContext(context.Context) FieldArrayOutput
}

FieldArrayInput is an input type that accepts FieldArray and FieldArrayOutput values. You can construct a concrete instance of `FieldArrayInput` via:

FieldArray{ FieldArgs{...} }

type FieldArrayOutput added in v6.56.0

type FieldArrayOutput struct{ *pulumi.OutputState }

func (FieldArrayOutput) ElementType added in v6.56.0

func (FieldArrayOutput) ElementType() reflect.Type

func (FieldArrayOutput) Index added in v6.56.0

func (FieldArrayOutput) ToFieldArrayOutput added in v6.56.0

func (o FieldArrayOutput) ToFieldArrayOutput() FieldArrayOutput

func (FieldArrayOutput) ToFieldArrayOutputWithContext added in v6.56.0

func (o FieldArrayOutput) ToFieldArrayOutputWithContext(ctx context.Context) FieldArrayOutput

func (FieldArrayOutput) ToOutput added in v6.65.1

func (o FieldArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Field]

type FieldIndexConfig added in v6.56.0

type FieldIndexConfig struct {
	// The indexes to configure on the field. Order or array contains must be specified.
	// Structure is documented below.
	Indexes []FieldIndexConfigIndex `pulumi:"indexes"`
}

type FieldIndexConfigArgs added in v6.56.0

type FieldIndexConfigArgs struct {
	// The indexes to configure on the field. Order or array contains must be specified.
	// Structure is documented below.
	Indexes FieldIndexConfigIndexArrayInput `pulumi:"indexes"`
}

func (FieldIndexConfigArgs) ElementType added in v6.56.0

func (FieldIndexConfigArgs) ElementType() reflect.Type

func (FieldIndexConfigArgs) ToFieldIndexConfigOutput added in v6.56.0

func (i FieldIndexConfigArgs) ToFieldIndexConfigOutput() FieldIndexConfigOutput

func (FieldIndexConfigArgs) ToFieldIndexConfigOutputWithContext added in v6.56.0

func (i FieldIndexConfigArgs) ToFieldIndexConfigOutputWithContext(ctx context.Context) FieldIndexConfigOutput

func (FieldIndexConfigArgs) ToFieldIndexConfigPtrOutput added in v6.56.0

func (i FieldIndexConfigArgs) ToFieldIndexConfigPtrOutput() FieldIndexConfigPtrOutput

func (FieldIndexConfigArgs) ToFieldIndexConfigPtrOutputWithContext added in v6.56.0

func (i FieldIndexConfigArgs) ToFieldIndexConfigPtrOutputWithContext(ctx context.Context) FieldIndexConfigPtrOutput

func (FieldIndexConfigArgs) ToOutput added in v6.65.1

type FieldIndexConfigIndex added in v6.56.0

type FieldIndexConfigIndex struct {
	// Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can
	// be specified.
	// Possible values are: `CONTAINS`.
	ArrayConfig *string `pulumi:"arrayConfig"`
	// Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=, !=.
	// Only one of `order` and `arrayConfig` can be specified.
	// Possible values are: `ASCENDING`, `DESCENDING`.
	Order *string `pulumi:"order"`
	// The scope at which a query is run. Collection scoped queries require you specify
	// the collection at query time. Collection group scope allows queries across all
	// collections with the same id.
	// Default value is `COLLECTION`.
	// Possible values are: `COLLECTION`, `COLLECTION_GROUP`.
	QueryScope *string `pulumi:"queryScope"`
}

type FieldIndexConfigIndexArgs added in v6.56.0

type FieldIndexConfigIndexArgs struct {
	// Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can
	// be specified.
	// Possible values are: `CONTAINS`.
	ArrayConfig pulumi.StringPtrInput `pulumi:"arrayConfig"`
	// Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=, !=.
	// Only one of `order` and `arrayConfig` can be specified.
	// Possible values are: `ASCENDING`, `DESCENDING`.
	Order pulumi.StringPtrInput `pulumi:"order"`
	// The scope at which a query is run. Collection scoped queries require you specify
	// the collection at query time. Collection group scope allows queries across all
	// collections with the same id.
	// Default value is `COLLECTION`.
	// Possible values are: `COLLECTION`, `COLLECTION_GROUP`.
	QueryScope pulumi.StringPtrInput `pulumi:"queryScope"`
}

func (FieldIndexConfigIndexArgs) ElementType added in v6.56.0

func (FieldIndexConfigIndexArgs) ElementType() reflect.Type

func (FieldIndexConfigIndexArgs) ToFieldIndexConfigIndexOutput added in v6.56.0

func (i FieldIndexConfigIndexArgs) ToFieldIndexConfigIndexOutput() FieldIndexConfigIndexOutput

func (FieldIndexConfigIndexArgs) ToFieldIndexConfigIndexOutputWithContext added in v6.56.0

func (i FieldIndexConfigIndexArgs) ToFieldIndexConfigIndexOutputWithContext(ctx context.Context) FieldIndexConfigIndexOutput

func (FieldIndexConfigIndexArgs) ToOutput added in v6.65.1

type FieldIndexConfigIndexArray added in v6.56.0

type FieldIndexConfigIndexArray []FieldIndexConfigIndexInput

func (FieldIndexConfigIndexArray) ElementType added in v6.56.0

func (FieldIndexConfigIndexArray) ElementType() reflect.Type

func (FieldIndexConfigIndexArray) ToFieldIndexConfigIndexArrayOutput added in v6.56.0

func (i FieldIndexConfigIndexArray) ToFieldIndexConfigIndexArrayOutput() FieldIndexConfigIndexArrayOutput

func (FieldIndexConfigIndexArray) ToFieldIndexConfigIndexArrayOutputWithContext added in v6.56.0

func (i FieldIndexConfigIndexArray) ToFieldIndexConfigIndexArrayOutputWithContext(ctx context.Context) FieldIndexConfigIndexArrayOutput

func (FieldIndexConfigIndexArray) ToOutput added in v6.65.1

type FieldIndexConfigIndexArrayInput added in v6.56.0

type FieldIndexConfigIndexArrayInput interface {
	pulumi.Input

	ToFieldIndexConfigIndexArrayOutput() FieldIndexConfigIndexArrayOutput
	ToFieldIndexConfigIndexArrayOutputWithContext(context.Context) FieldIndexConfigIndexArrayOutput
}

FieldIndexConfigIndexArrayInput is an input type that accepts FieldIndexConfigIndexArray and FieldIndexConfigIndexArrayOutput values. You can construct a concrete instance of `FieldIndexConfigIndexArrayInput` via:

FieldIndexConfigIndexArray{ FieldIndexConfigIndexArgs{...} }

type FieldIndexConfigIndexArrayOutput added in v6.56.0

type FieldIndexConfigIndexArrayOutput struct{ *pulumi.OutputState }

func (FieldIndexConfigIndexArrayOutput) ElementType added in v6.56.0

func (FieldIndexConfigIndexArrayOutput) Index added in v6.56.0

func (FieldIndexConfigIndexArrayOutput) ToFieldIndexConfigIndexArrayOutput added in v6.56.0

func (o FieldIndexConfigIndexArrayOutput) ToFieldIndexConfigIndexArrayOutput() FieldIndexConfigIndexArrayOutput

func (FieldIndexConfigIndexArrayOutput) ToFieldIndexConfigIndexArrayOutputWithContext added in v6.56.0

func (o FieldIndexConfigIndexArrayOutput) ToFieldIndexConfigIndexArrayOutputWithContext(ctx context.Context) FieldIndexConfigIndexArrayOutput

func (FieldIndexConfigIndexArrayOutput) ToOutput added in v6.65.1

type FieldIndexConfigIndexInput added in v6.56.0

type FieldIndexConfigIndexInput interface {
	pulumi.Input

	ToFieldIndexConfigIndexOutput() FieldIndexConfigIndexOutput
	ToFieldIndexConfigIndexOutputWithContext(context.Context) FieldIndexConfigIndexOutput
}

FieldIndexConfigIndexInput is an input type that accepts FieldIndexConfigIndexArgs and FieldIndexConfigIndexOutput values. You can construct a concrete instance of `FieldIndexConfigIndexInput` via:

FieldIndexConfigIndexArgs{...}

type FieldIndexConfigIndexOutput added in v6.56.0

type FieldIndexConfigIndexOutput struct{ *pulumi.OutputState }

func (FieldIndexConfigIndexOutput) ArrayConfig added in v6.56.0

Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can be specified. Possible values are: `CONTAINS`.

func (FieldIndexConfigIndexOutput) ElementType added in v6.56.0

func (FieldIndexConfigIndexOutput) Order added in v6.56.0

Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=, !=. Only one of `order` and `arrayConfig` can be specified. Possible values are: `ASCENDING`, `DESCENDING`.

func (FieldIndexConfigIndexOutput) QueryScope added in v6.56.0

The scope at which a query is run. Collection scoped queries require you specify the collection at query time. Collection group scope allows queries across all collections with the same id. Default value is `COLLECTION`. Possible values are: `COLLECTION`, `COLLECTION_GROUP`.

func (FieldIndexConfigIndexOutput) ToFieldIndexConfigIndexOutput added in v6.56.0

func (o FieldIndexConfigIndexOutput) ToFieldIndexConfigIndexOutput() FieldIndexConfigIndexOutput

func (FieldIndexConfigIndexOutput) ToFieldIndexConfigIndexOutputWithContext added in v6.56.0

func (o FieldIndexConfigIndexOutput) ToFieldIndexConfigIndexOutputWithContext(ctx context.Context) FieldIndexConfigIndexOutput

func (FieldIndexConfigIndexOutput) ToOutput added in v6.65.1

type FieldIndexConfigInput added in v6.56.0

type FieldIndexConfigInput interface {
	pulumi.Input

	ToFieldIndexConfigOutput() FieldIndexConfigOutput
	ToFieldIndexConfigOutputWithContext(context.Context) FieldIndexConfigOutput
}

FieldIndexConfigInput is an input type that accepts FieldIndexConfigArgs and FieldIndexConfigOutput values. You can construct a concrete instance of `FieldIndexConfigInput` via:

FieldIndexConfigArgs{...}

type FieldIndexConfigOutput added in v6.56.0

type FieldIndexConfigOutput struct{ *pulumi.OutputState }

func (FieldIndexConfigOutput) ElementType added in v6.56.0

func (FieldIndexConfigOutput) ElementType() reflect.Type

func (FieldIndexConfigOutput) Indexes added in v6.56.0

The indexes to configure on the field. Order or array contains must be specified. Structure is documented below.

func (FieldIndexConfigOutput) ToFieldIndexConfigOutput added in v6.56.0

func (o FieldIndexConfigOutput) ToFieldIndexConfigOutput() FieldIndexConfigOutput

func (FieldIndexConfigOutput) ToFieldIndexConfigOutputWithContext added in v6.56.0

func (o FieldIndexConfigOutput) ToFieldIndexConfigOutputWithContext(ctx context.Context) FieldIndexConfigOutput

func (FieldIndexConfigOutput) ToFieldIndexConfigPtrOutput added in v6.56.0

func (o FieldIndexConfigOutput) ToFieldIndexConfigPtrOutput() FieldIndexConfigPtrOutput

func (FieldIndexConfigOutput) ToFieldIndexConfigPtrOutputWithContext added in v6.56.0

func (o FieldIndexConfigOutput) ToFieldIndexConfigPtrOutputWithContext(ctx context.Context) FieldIndexConfigPtrOutput

func (FieldIndexConfigOutput) ToOutput added in v6.65.1

type FieldIndexConfigPtrInput added in v6.56.0

type FieldIndexConfigPtrInput interface {
	pulumi.Input

	ToFieldIndexConfigPtrOutput() FieldIndexConfigPtrOutput
	ToFieldIndexConfigPtrOutputWithContext(context.Context) FieldIndexConfigPtrOutput
}

FieldIndexConfigPtrInput is an input type that accepts FieldIndexConfigArgs, FieldIndexConfigPtr and FieldIndexConfigPtrOutput values. You can construct a concrete instance of `FieldIndexConfigPtrInput` via:

        FieldIndexConfigArgs{...}

or:

        nil

func FieldIndexConfigPtr added in v6.56.0

func FieldIndexConfigPtr(v *FieldIndexConfigArgs) FieldIndexConfigPtrInput

type FieldIndexConfigPtrOutput added in v6.56.0

type FieldIndexConfigPtrOutput struct{ *pulumi.OutputState }

func (FieldIndexConfigPtrOutput) Elem added in v6.56.0

func (FieldIndexConfigPtrOutput) ElementType added in v6.56.0

func (FieldIndexConfigPtrOutput) ElementType() reflect.Type

func (FieldIndexConfigPtrOutput) Indexes added in v6.56.0

The indexes to configure on the field. Order or array contains must be specified. Structure is documented below.

func (FieldIndexConfigPtrOutput) ToFieldIndexConfigPtrOutput added in v6.56.0

func (o FieldIndexConfigPtrOutput) ToFieldIndexConfigPtrOutput() FieldIndexConfigPtrOutput

func (FieldIndexConfigPtrOutput) ToFieldIndexConfigPtrOutputWithContext added in v6.56.0

func (o FieldIndexConfigPtrOutput) ToFieldIndexConfigPtrOutputWithContext(ctx context.Context) FieldIndexConfigPtrOutput

func (FieldIndexConfigPtrOutput) ToOutput added in v6.65.1

type FieldInput added in v6.56.0

type FieldInput interface {
	pulumi.Input

	ToFieldOutput() FieldOutput
	ToFieldOutputWithContext(ctx context.Context) FieldOutput
}

type FieldMap added in v6.56.0

type FieldMap map[string]FieldInput

func (FieldMap) ElementType added in v6.56.0

func (FieldMap) ElementType() reflect.Type

func (FieldMap) ToFieldMapOutput added in v6.56.0

func (i FieldMap) ToFieldMapOutput() FieldMapOutput

func (FieldMap) ToFieldMapOutputWithContext added in v6.56.0

func (i FieldMap) ToFieldMapOutputWithContext(ctx context.Context) FieldMapOutput

func (FieldMap) ToOutput added in v6.65.1

func (i FieldMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Field]

type FieldMapInput added in v6.56.0

type FieldMapInput interface {
	pulumi.Input

	ToFieldMapOutput() FieldMapOutput
	ToFieldMapOutputWithContext(context.Context) FieldMapOutput
}

FieldMapInput is an input type that accepts FieldMap and FieldMapOutput values. You can construct a concrete instance of `FieldMapInput` via:

FieldMap{ "key": FieldArgs{...} }

type FieldMapOutput added in v6.56.0

type FieldMapOutput struct{ *pulumi.OutputState }

func (FieldMapOutput) ElementType added in v6.56.0

func (FieldMapOutput) ElementType() reflect.Type

func (FieldMapOutput) MapIndex added in v6.56.0

func (FieldMapOutput) ToFieldMapOutput added in v6.56.0

func (o FieldMapOutput) ToFieldMapOutput() FieldMapOutput

func (FieldMapOutput) ToFieldMapOutputWithContext added in v6.56.0

func (o FieldMapOutput) ToFieldMapOutputWithContext(ctx context.Context) FieldMapOutput

func (FieldMapOutput) ToOutput added in v6.65.1

func (o FieldMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Field]

type FieldOutput added in v6.56.0

type FieldOutput struct{ *pulumi.OutputState }

func (FieldOutput) Collection added in v6.56.0

func (o FieldOutput) Collection() pulumi.StringOutput

The id of the collection group to configure.

func (FieldOutput) Database added in v6.56.0

func (o FieldOutput) Database() pulumi.StringPtrOutput

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

func (FieldOutput) ElementType added in v6.56.0

func (FieldOutput) ElementType() reflect.Type

func (FieldOutput) Field added in v6.56.0

func (o FieldOutput) Field() pulumi.StringOutput

The id of the field to configure.

***

func (FieldOutput) IndexConfig added in v6.56.0

func (o FieldOutput) IndexConfig() FieldIndexConfigPtrOutput

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.

func (FieldOutput) Name added in v6.56.0

func (o FieldOutput) Name() pulumi.StringOutput

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

func (FieldOutput) Project added in v6.56.0

func (o FieldOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (FieldOutput) ToFieldOutput added in v6.56.0

func (o FieldOutput) ToFieldOutput() FieldOutput

func (FieldOutput) ToFieldOutputWithContext added in v6.56.0

func (o FieldOutput) ToFieldOutputWithContext(ctx context.Context) FieldOutput

func (FieldOutput) ToOutput added in v6.65.1

func (o FieldOutput) ToOutput(ctx context.Context) pulumix.Output[*Field]

func (FieldOutput) TtlConfig added in v6.56.0

func (o FieldOutput) TtlConfig() FieldTtlConfigPtrOutput

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

type FieldState added in v6.56.0

type FieldState struct {
	// The id of the collection group to configure.
	Collection pulumi.StringPtrInput
	// The Firestore database id. Defaults to `"(default)"`.
	Database pulumi.StringPtrInput
	// The id of the field to configure.
	//
	// ***
	Field pulumi.StringPtrInput
	// 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.
	IndexConfig FieldIndexConfigPtrInput
	// The name of this field. Format:
	// `projects/{{project}}/databases/{{database}}/collectionGroups/{{collection}}/fields/{{field}}`
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// If set, this field is configured for TTL deletion.
	// Structure is documented below.
	TtlConfig FieldTtlConfigPtrInput
}

func (FieldState) ElementType added in v6.56.0

func (FieldState) ElementType() reflect.Type

type FieldTtlConfig added in v6.56.0

type FieldTtlConfig struct {
	// (Output)
	// The state of the TTL configuration.
	State *string `pulumi:"state"`
}

type FieldTtlConfigArgs added in v6.56.0

type FieldTtlConfigArgs struct {
	// (Output)
	// The state of the TTL configuration.
	State pulumi.StringPtrInput `pulumi:"state"`
}

func (FieldTtlConfigArgs) ElementType added in v6.56.0

func (FieldTtlConfigArgs) ElementType() reflect.Type

func (FieldTtlConfigArgs) ToFieldTtlConfigOutput added in v6.56.0

func (i FieldTtlConfigArgs) ToFieldTtlConfigOutput() FieldTtlConfigOutput

func (FieldTtlConfigArgs) ToFieldTtlConfigOutputWithContext added in v6.56.0

func (i FieldTtlConfigArgs) ToFieldTtlConfigOutputWithContext(ctx context.Context) FieldTtlConfigOutput

func (FieldTtlConfigArgs) ToFieldTtlConfigPtrOutput added in v6.56.0

func (i FieldTtlConfigArgs) ToFieldTtlConfigPtrOutput() FieldTtlConfigPtrOutput

func (FieldTtlConfigArgs) ToFieldTtlConfigPtrOutputWithContext added in v6.56.0

func (i FieldTtlConfigArgs) ToFieldTtlConfigPtrOutputWithContext(ctx context.Context) FieldTtlConfigPtrOutput

func (FieldTtlConfigArgs) ToOutput added in v6.65.1

type FieldTtlConfigInput added in v6.56.0

type FieldTtlConfigInput interface {
	pulumi.Input

	ToFieldTtlConfigOutput() FieldTtlConfigOutput
	ToFieldTtlConfigOutputWithContext(context.Context) FieldTtlConfigOutput
}

FieldTtlConfigInput is an input type that accepts FieldTtlConfigArgs and FieldTtlConfigOutput values. You can construct a concrete instance of `FieldTtlConfigInput` via:

FieldTtlConfigArgs{...}

type FieldTtlConfigOutput added in v6.56.0

type FieldTtlConfigOutput struct{ *pulumi.OutputState }

func (FieldTtlConfigOutput) ElementType added in v6.56.0

func (FieldTtlConfigOutput) ElementType() reflect.Type

func (FieldTtlConfigOutput) State added in v6.56.0

(Output) The state of the TTL configuration.

func (FieldTtlConfigOutput) ToFieldTtlConfigOutput added in v6.56.0

func (o FieldTtlConfigOutput) ToFieldTtlConfigOutput() FieldTtlConfigOutput

func (FieldTtlConfigOutput) ToFieldTtlConfigOutputWithContext added in v6.56.0

func (o FieldTtlConfigOutput) ToFieldTtlConfigOutputWithContext(ctx context.Context) FieldTtlConfigOutput

func (FieldTtlConfigOutput) ToFieldTtlConfigPtrOutput added in v6.56.0

func (o FieldTtlConfigOutput) ToFieldTtlConfigPtrOutput() FieldTtlConfigPtrOutput

func (FieldTtlConfigOutput) ToFieldTtlConfigPtrOutputWithContext added in v6.56.0

func (o FieldTtlConfigOutput) ToFieldTtlConfigPtrOutputWithContext(ctx context.Context) FieldTtlConfigPtrOutput

func (FieldTtlConfigOutput) ToOutput added in v6.65.1

type FieldTtlConfigPtrInput added in v6.56.0

type FieldTtlConfigPtrInput interface {
	pulumi.Input

	ToFieldTtlConfigPtrOutput() FieldTtlConfigPtrOutput
	ToFieldTtlConfigPtrOutputWithContext(context.Context) FieldTtlConfigPtrOutput
}

FieldTtlConfigPtrInput is an input type that accepts FieldTtlConfigArgs, FieldTtlConfigPtr and FieldTtlConfigPtrOutput values. You can construct a concrete instance of `FieldTtlConfigPtrInput` via:

        FieldTtlConfigArgs{...}

or:

        nil

func FieldTtlConfigPtr added in v6.56.0

func FieldTtlConfigPtr(v *FieldTtlConfigArgs) FieldTtlConfigPtrInput

type FieldTtlConfigPtrOutput added in v6.56.0

type FieldTtlConfigPtrOutput struct{ *pulumi.OutputState }

func (FieldTtlConfigPtrOutput) Elem added in v6.56.0

func (FieldTtlConfigPtrOutput) ElementType added in v6.56.0

func (FieldTtlConfigPtrOutput) ElementType() reflect.Type

func (FieldTtlConfigPtrOutput) State added in v6.56.0

(Output) The state of the TTL configuration.

func (FieldTtlConfigPtrOutput) ToFieldTtlConfigPtrOutput added in v6.56.0

func (o FieldTtlConfigPtrOutput) ToFieldTtlConfigPtrOutput() FieldTtlConfigPtrOutput

func (FieldTtlConfigPtrOutput) ToFieldTtlConfigPtrOutputWithContext added in v6.56.0

func (o FieldTtlConfigPtrOutput) ToFieldTtlConfigPtrOutputWithContext(ctx context.Context) FieldTtlConfigPtrOutput

func (FieldTtlConfigPtrOutput) ToOutput added in v6.65.1

type Index

type Index struct {
	pulumi.CustomResourceState

	// The collection being indexed.
	Collection pulumi.StringOutput `pulumi:"collection"`
	// The Firestore database id. Defaults to `"(default)"`.
	Database pulumi.StringPtrOutput `pulumi:"database"`
	// The fields supported by this index. The last field entry is always for
	// the field path `__name__`. If, on creation, `__name__` was not
	// specified as the last field, it will be added automatically with the
	// same direction as that of the last field defined. If the final field
	// in a composite index is not directional, the `__name__` will be
	// ordered `"ASCENDING"` (unless explicitly specified otherwise).
	// Structure is documented below.
	Fields IndexFieldArrayOutput `pulumi:"fields"`
	// A server defined name for this index. Format:
	// `projects/{{project}}/databases/{{database}}/collectionGroups/{{collection}}/indexes/{{server_generated_id}}`
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The scope at which a query is run.
	// Default value is `COLLECTION`.
	// Possible values are: `COLLECTION`, `COLLECTION_GROUP`.
	QueryScope pulumi.StringPtrOutput `pulumi:"queryScope"`
}

Cloud Firestore indexes enable simple and complex queries against documents in a database.

This resource manages composite indexes and not single

field indexes.

To get more information about Index, see:

* [API documentation](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.collectionGroups.indexes) * How-to Guides

> **Warning:** This resource creates a Firestore Index on a project that already has a Firestore database. If you haven't already created it, you may create a `firestore.Database` resource with `type` set to `"FIRESTORE_NATIVE"` and `locationId` set to your chosen location. If you wish to use App Engine, you may instead create a `appengine.Application` resource with `databaseType` set to `"CLOUD_FIRESTORE"`. Your Firestore location will be the same as the App Engine location specified.

## Example Usage ### Firestore Index Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/firestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := firestore.NewIndex(ctx, "my-index", &firestore.IndexArgs{
			Collection: pulumi.String("chatrooms"),
			Fields: firestore.IndexFieldArray{
				&firestore.IndexFieldArgs{
					FieldPath: pulumi.String("name"),
					Order:     pulumi.String("ASCENDING"),
				},
				&firestore.IndexFieldArgs{
					FieldPath: pulumi.String("description"),
					Order:     pulumi.String("DESCENDING"),
				},
			},
			Project: pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Index can be imported using any of these accepted formats:

```sh

$ pulumi import gcp:firestore/index:Index default {{name}}

```

func GetIndex

func GetIndex(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IndexState, opts ...pulumi.ResourceOption) (*Index, error)

GetIndex gets an existing Index resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIndex

func NewIndex(ctx *pulumi.Context,
	name string, args *IndexArgs, opts ...pulumi.ResourceOption) (*Index, error)

NewIndex registers a new resource with the given unique name, arguments, and options.

func (*Index) ElementType

func (*Index) ElementType() reflect.Type

func (*Index) ToIndexOutput

func (i *Index) ToIndexOutput() IndexOutput

func (*Index) ToIndexOutputWithContext

func (i *Index) ToIndexOutputWithContext(ctx context.Context) IndexOutput

func (*Index) ToOutput added in v6.65.1

func (i *Index) ToOutput(ctx context.Context) pulumix.Output[*Index]

type IndexArgs

type IndexArgs struct {
	// The collection being indexed.
	Collection pulumi.StringInput
	// The Firestore database id. Defaults to `"(default)"`.
	Database pulumi.StringPtrInput
	// The fields supported by this index. The last field entry is always for
	// the field path `__name__`. If, on creation, `__name__` was not
	// specified as the last field, it will be added automatically with the
	// same direction as that of the last field defined. If the final field
	// in a composite index is not directional, the `__name__` will be
	// ordered `"ASCENDING"` (unless explicitly specified otherwise).
	// Structure is documented below.
	Fields IndexFieldArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The scope at which a query is run.
	// Default value is `COLLECTION`.
	// Possible values are: `COLLECTION`, `COLLECTION_GROUP`.
	QueryScope pulumi.StringPtrInput
}

The set of arguments for constructing a Index resource.

func (IndexArgs) ElementType

func (IndexArgs) ElementType() reflect.Type

type IndexArray

type IndexArray []IndexInput

func (IndexArray) ElementType

func (IndexArray) ElementType() reflect.Type

func (IndexArray) ToIndexArrayOutput

func (i IndexArray) ToIndexArrayOutput() IndexArrayOutput

func (IndexArray) ToIndexArrayOutputWithContext

func (i IndexArray) ToIndexArrayOutputWithContext(ctx context.Context) IndexArrayOutput

func (IndexArray) ToOutput added in v6.65.1

func (i IndexArray) ToOutput(ctx context.Context) pulumix.Output[[]*Index]

type IndexArrayInput

type IndexArrayInput interface {
	pulumi.Input

	ToIndexArrayOutput() IndexArrayOutput
	ToIndexArrayOutputWithContext(context.Context) IndexArrayOutput
}

IndexArrayInput is an input type that accepts IndexArray and IndexArrayOutput values. You can construct a concrete instance of `IndexArrayInput` via:

IndexArray{ IndexArgs{...} }

type IndexArrayOutput

type IndexArrayOutput struct{ *pulumi.OutputState }

func (IndexArrayOutput) ElementType

func (IndexArrayOutput) ElementType() reflect.Type

func (IndexArrayOutput) Index

func (IndexArrayOutput) ToIndexArrayOutput

func (o IndexArrayOutput) ToIndexArrayOutput() IndexArrayOutput

func (IndexArrayOutput) ToIndexArrayOutputWithContext

func (o IndexArrayOutput) ToIndexArrayOutputWithContext(ctx context.Context) IndexArrayOutput

func (IndexArrayOutput) ToOutput added in v6.65.1

func (o IndexArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Index]

type IndexField

type IndexField struct {
	// Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can
	// be specified.
	// Possible values are: `CONTAINS`.
	//
	// ***
	ArrayConfig *string `pulumi:"arrayConfig"`
	// Name of the field.
	FieldPath *string `pulumi:"fieldPath"`
	// Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
	// Only one of `order` and `arrayConfig` can be specified.
	// Possible values are: `ASCENDING`, `DESCENDING`.
	Order *string `pulumi:"order"`
}

type IndexFieldArgs

type IndexFieldArgs struct {
	// Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can
	// be specified.
	// Possible values are: `CONTAINS`.
	//
	// ***
	ArrayConfig pulumi.StringPtrInput `pulumi:"arrayConfig"`
	// Name of the field.
	FieldPath pulumi.StringPtrInput `pulumi:"fieldPath"`
	// Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
	// Only one of `order` and `arrayConfig` can be specified.
	// Possible values are: `ASCENDING`, `DESCENDING`.
	Order pulumi.StringPtrInput `pulumi:"order"`
}

func (IndexFieldArgs) ElementType

func (IndexFieldArgs) ElementType() reflect.Type

func (IndexFieldArgs) ToIndexFieldOutput

func (i IndexFieldArgs) ToIndexFieldOutput() IndexFieldOutput

func (IndexFieldArgs) ToIndexFieldOutputWithContext

func (i IndexFieldArgs) ToIndexFieldOutputWithContext(ctx context.Context) IndexFieldOutput

func (IndexFieldArgs) ToOutput added in v6.65.1

type IndexFieldArray

type IndexFieldArray []IndexFieldInput

func (IndexFieldArray) ElementType

func (IndexFieldArray) ElementType() reflect.Type

func (IndexFieldArray) ToIndexFieldArrayOutput

func (i IndexFieldArray) ToIndexFieldArrayOutput() IndexFieldArrayOutput

func (IndexFieldArray) ToIndexFieldArrayOutputWithContext

func (i IndexFieldArray) ToIndexFieldArrayOutputWithContext(ctx context.Context) IndexFieldArrayOutput

func (IndexFieldArray) ToOutput added in v6.65.1

type IndexFieldArrayInput

type IndexFieldArrayInput interface {
	pulumi.Input

	ToIndexFieldArrayOutput() IndexFieldArrayOutput
	ToIndexFieldArrayOutputWithContext(context.Context) IndexFieldArrayOutput
}

IndexFieldArrayInput is an input type that accepts IndexFieldArray and IndexFieldArrayOutput values. You can construct a concrete instance of `IndexFieldArrayInput` via:

IndexFieldArray{ IndexFieldArgs{...} }

type IndexFieldArrayOutput

type IndexFieldArrayOutput struct{ *pulumi.OutputState }

func (IndexFieldArrayOutput) ElementType

func (IndexFieldArrayOutput) ElementType() reflect.Type

func (IndexFieldArrayOutput) Index

func (IndexFieldArrayOutput) ToIndexFieldArrayOutput

func (o IndexFieldArrayOutput) ToIndexFieldArrayOutput() IndexFieldArrayOutput

func (IndexFieldArrayOutput) ToIndexFieldArrayOutputWithContext

func (o IndexFieldArrayOutput) ToIndexFieldArrayOutputWithContext(ctx context.Context) IndexFieldArrayOutput

func (IndexFieldArrayOutput) ToOutput added in v6.65.1

type IndexFieldInput

type IndexFieldInput interface {
	pulumi.Input

	ToIndexFieldOutput() IndexFieldOutput
	ToIndexFieldOutputWithContext(context.Context) IndexFieldOutput
}

IndexFieldInput is an input type that accepts IndexFieldArgs and IndexFieldOutput values. You can construct a concrete instance of `IndexFieldInput` via:

IndexFieldArgs{...}

type IndexFieldOutput

type IndexFieldOutput struct{ *pulumi.OutputState }

func (IndexFieldOutput) ArrayConfig

func (o IndexFieldOutput) ArrayConfig() pulumi.StringPtrOutput

Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can be specified. Possible values are: `CONTAINS`.

***

func (IndexFieldOutput) ElementType

func (IndexFieldOutput) ElementType() reflect.Type

func (IndexFieldOutput) FieldPath

func (o IndexFieldOutput) FieldPath() pulumi.StringPtrOutput

Name of the field.

func (IndexFieldOutput) Order

Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=. Only one of `order` and `arrayConfig` can be specified. Possible values are: `ASCENDING`, `DESCENDING`.

func (IndexFieldOutput) ToIndexFieldOutput

func (o IndexFieldOutput) ToIndexFieldOutput() IndexFieldOutput

func (IndexFieldOutput) ToIndexFieldOutputWithContext

func (o IndexFieldOutput) ToIndexFieldOutputWithContext(ctx context.Context) IndexFieldOutput

func (IndexFieldOutput) ToOutput added in v6.65.1

type IndexInput

type IndexInput interface {
	pulumi.Input

	ToIndexOutput() IndexOutput
	ToIndexOutputWithContext(ctx context.Context) IndexOutput
}

type IndexMap

type IndexMap map[string]IndexInput

func (IndexMap) ElementType

func (IndexMap) ElementType() reflect.Type

func (IndexMap) ToIndexMapOutput

func (i IndexMap) ToIndexMapOutput() IndexMapOutput

func (IndexMap) ToIndexMapOutputWithContext

func (i IndexMap) ToIndexMapOutputWithContext(ctx context.Context) IndexMapOutput

func (IndexMap) ToOutput added in v6.65.1

func (i IndexMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Index]

type IndexMapInput

type IndexMapInput interface {
	pulumi.Input

	ToIndexMapOutput() IndexMapOutput
	ToIndexMapOutputWithContext(context.Context) IndexMapOutput
}

IndexMapInput is an input type that accepts IndexMap and IndexMapOutput values. You can construct a concrete instance of `IndexMapInput` via:

IndexMap{ "key": IndexArgs{...} }

type IndexMapOutput

type IndexMapOutput struct{ *pulumi.OutputState }

func (IndexMapOutput) ElementType

func (IndexMapOutput) ElementType() reflect.Type

func (IndexMapOutput) MapIndex

func (IndexMapOutput) ToIndexMapOutput

func (o IndexMapOutput) ToIndexMapOutput() IndexMapOutput

func (IndexMapOutput) ToIndexMapOutputWithContext

func (o IndexMapOutput) ToIndexMapOutputWithContext(ctx context.Context) IndexMapOutput

func (IndexMapOutput) ToOutput added in v6.65.1

func (o IndexMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Index]

type IndexOutput

type IndexOutput struct{ *pulumi.OutputState }

func (IndexOutput) Collection added in v6.23.0

func (o IndexOutput) Collection() pulumi.StringOutput

The collection being indexed.

func (IndexOutput) Database added in v6.23.0

func (o IndexOutput) Database() pulumi.StringPtrOutput

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

func (IndexOutput) ElementType

func (IndexOutput) ElementType() reflect.Type

func (IndexOutput) Fields added in v6.23.0

The fields supported by this index. The last field entry is always for the field path `__name__`. If, on creation, `__name__` was not specified as the last field, it will be added automatically with the same direction as that of the last field defined. If the final field in a composite index is not directional, the `__name__` will be ordered `"ASCENDING"` (unless explicitly specified otherwise). Structure is documented below.

func (IndexOutput) Name added in v6.23.0

func (o IndexOutput) Name() pulumi.StringOutput

A server defined name for this index. Format: `projects/{{project}}/databases/{{database}}/collectionGroups/{{collection}}/indexes/{{server_generated_id}}`

func (IndexOutput) Project added in v6.23.0

func (o IndexOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (IndexOutput) QueryScope added in v6.23.0

func (o IndexOutput) QueryScope() pulumi.StringPtrOutput

The scope at which a query is run. Default value is `COLLECTION`. Possible values are: `COLLECTION`, `COLLECTION_GROUP`.

func (IndexOutput) ToIndexOutput

func (o IndexOutput) ToIndexOutput() IndexOutput

func (IndexOutput) ToIndexOutputWithContext

func (o IndexOutput) ToIndexOutputWithContext(ctx context.Context) IndexOutput

func (IndexOutput) ToOutput added in v6.65.1

func (o IndexOutput) ToOutput(ctx context.Context) pulumix.Output[*Index]

type IndexState

type IndexState struct {
	// The collection being indexed.
	Collection pulumi.StringPtrInput
	// The Firestore database id. Defaults to `"(default)"`.
	Database pulumi.StringPtrInput
	// The fields supported by this index. The last field entry is always for
	// the field path `__name__`. If, on creation, `__name__` was not
	// specified as the last field, it will be added automatically with the
	// same direction as that of the last field defined. If the final field
	// in a composite index is not directional, the `__name__` will be
	// ordered `"ASCENDING"` (unless explicitly specified otherwise).
	// Structure is documented below.
	Fields IndexFieldArrayInput
	// A server defined name for this index. Format:
	// `projects/{{project}}/databases/{{database}}/collectionGroups/{{collection}}/indexes/{{server_generated_id}}`
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The scope at which a query is run.
	// Default value is `COLLECTION`.
	// Possible values are: `COLLECTION`, `COLLECTION_GROUP`.
	QueryScope pulumi.StringPtrInput
}

func (IndexState) ElementType

func (IndexState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL