Documentation ¶
Index ¶
- type Database
- type DatabaseArgs
- type DatabaseArray
- type DatabaseArrayInput
- type DatabaseArrayOutput
- type DatabaseInput
- type DatabaseMap
- type DatabaseMapInput
- type DatabaseMapOutput
- type DatabaseOutput
- func (o DatabaseOutput) AppEngineIntegrationMode() pulumi.StringOutput
- func (o DatabaseOutput) ConcurrencyMode() pulumi.StringOutput
- func (o DatabaseOutput) CreateTime() pulumi.StringOutput
- func (DatabaseOutput) ElementType() reflect.Type
- func (o DatabaseOutput) Etag() pulumi.StringOutput
- func (o DatabaseOutput) KeyPrefix() pulumi.StringOutput
- func (o DatabaseOutput) LocationId() pulumi.StringOutput
- func (o DatabaseOutput) Name() pulumi.StringOutput
- func (o DatabaseOutput) Project() pulumi.StringOutput
- func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput
- func (o DatabaseOutput) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput
- func (o DatabaseOutput) Type() pulumi.StringOutput
- type DatabaseState
- type Document
- type DocumentArgs
- type DocumentArray
- type DocumentArrayInput
- type DocumentArrayOutput
- type DocumentInput
- type DocumentMap
- type DocumentMapInput
- type DocumentMapOutput
- type DocumentOutput
- func (o DocumentOutput) Collection() pulumi.StringOutput
- func (o DocumentOutput) CreateTime() pulumi.StringOutput
- func (o DocumentOutput) Database() pulumi.StringPtrOutput
- func (o DocumentOutput) DocumentId() pulumi.StringOutput
- func (DocumentOutput) ElementType() reflect.Type
- func (o DocumentOutput) Fields() pulumi.StringOutput
- func (o DocumentOutput) Name() pulumi.StringOutput
- func (o DocumentOutput) Path() pulumi.StringOutput
- func (o DocumentOutput) Project() pulumi.StringOutput
- func (o DocumentOutput) ToDocumentOutput() DocumentOutput
- func (o DocumentOutput) ToDocumentOutputWithContext(ctx context.Context) DocumentOutput
- func (o DocumentOutput) UpdateTime() pulumi.StringOutput
- type DocumentState
- type Index
- type IndexArgs
- type IndexArray
- type IndexArrayInput
- type IndexArrayOutput
- type IndexField
- type IndexFieldArgs
- type IndexFieldArray
- type IndexFieldArrayInput
- type IndexFieldArrayOutput
- func (IndexFieldArrayOutput) ElementType() reflect.Type
- func (o IndexFieldArrayOutput) Index(i pulumi.IntInput) IndexFieldOutput
- func (o IndexFieldArrayOutput) ToIndexFieldArrayOutput() IndexFieldArrayOutput
- func (o IndexFieldArrayOutput) ToIndexFieldArrayOutputWithContext(ctx context.Context) IndexFieldArrayOutput
- type IndexFieldInput
- type IndexFieldOutput
- func (o IndexFieldOutput) ArrayConfig() pulumi.StringPtrOutput
- func (IndexFieldOutput) ElementType() reflect.Type
- func (o IndexFieldOutput) FieldPath() pulumi.StringPtrOutput
- func (o IndexFieldOutput) Order() pulumi.StringPtrOutput
- func (o IndexFieldOutput) ToIndexFieldOutput() IndexFieldOutput
- func (o IndexFieldOutput) ToIndexFieldOutputWithContext(ctx context.Context) IndexFieldOutput
- type IndexInput
- type IndexMap
- type IndexMapInput
- type IndexMapOutput
- type IndexOutput
- func (o IndexOutput) Collection() pulumi.StringOutput
- func (o IndexOutput) Database() pulumi.StringPtrOutput
- func (IndexOutput) ElementType() reflect.Type
- func (o IndexOutput) Fields() IndexFieldArrayOutput
- func (o IndexOutput) Name() pulumi.StringOutput
- func (o IndexOutput) Project() pulumi.StringOutput
- func (o IndexOutput) QueryScope() pulumi.StringPtrOutput
- func (o IndexOutput) ToIndexOutput() IndexOutput
- func (o IndexOutput) ToIndexOutputWithContext(ctx context.Context) IndexOutput
- type IndexState
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"` // The timestamp at which this database was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` // 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 databases 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"` // 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"` }
## Example Usage
## 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) 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
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 // The location of the database. Available databases 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 // 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
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 (o DatabaseArrayOutput) Index(i pulumi.IntInput) DatabaseOutput
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
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
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 (o DatabaseMapOutput) MapIndex(k pulumi.StringInput) DatabaseOutput
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
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
The timestamp at which this database was created.
func (DatabaseOutput) ElementType ¶ added in v6.50.0
func (DatabaseOutput) ElementType() reflect.Type
func (DatabaseOutput) Etag ¶ added in v6.50.0
func (o DatabaseOutput) Etag() pulumi.StringOutput
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 databases are listed at https://cloud.google.com/firestore/docs/locations.
func (DatabaseOutput) Name ¶ added in v6.50.0
func (o DatabaseOutput) Name() pulumi.StringOutput
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) 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) Type ¶ added in v6.50.0
func (o DatabaseOutput) Type() pulumi.StringOutput
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 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 // The timestamp at which this database was created. CreateTime pulumi.StringPtrInput // 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 databases 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 // 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 }
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
- [Official Documentation](https://cloud.google.com/firestore/docs/manage-data/add-data)
> **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"), 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"), 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) ToDocumentOutput ¶
func (i *Document) ToDocumentOutput() DocumentOutput
func (*Document) ToDocumentOutputWithContext ¶
func (i *Document) ToDocumentOutputWithContext(ctx context.Context) DocumentOutput
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
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 (o DocumentArrayOutput) Index(i pulumi.IntInput) DocumentOutput
func (DocumentArrayOutput) ToDocumentArrayOutput ¶
func (o DocumentArrayOutput) ToDocumentArrayOutput() DocumentArrayOutput
func (DocumentArrayOutput) ToDocumentArrayOutputWithContext ¶
func (o DocumentArrayOutput) ToDocumentArrayOutputWithContext(ctx context.Context) DocumentArrayOutput
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
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 (o DocumentMapOutput) MapIndex(k pulumi.StringInput) DocumentOutput
func (DocumentMapOutput) ToDocumentMapOutput ¶
func (o DocumentMapOutput) ToDocumentMapOutput() DocumentMapOutput
func (DocumentMapOutput) ToDocumentMapOutputWithContext ¶
func (o DocumentMapOutput) ToDocumentMapOutputWithContext(ctx context.Context) DocumentMapOutput
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
func (o DocumentOutput) Name() pulumi.StringOutput
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
func (o DocumentOutput) Path() pulumi.StringOutput
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) 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 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
- [Official Documentation](https://cloud.google.com/firestore/docs/query-data/indexing)
> **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) ToIndexOutput ¶
func (i *Index) ToIndexOutput() IndexOutput
func (*Index) ToIndexOutputWithContext ¶
func (i *Index) ToIndexOutputWithContext(ctx context.Context) IndexOutput
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 ¶
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
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 (o IndexArrayOutput) Index(i pulumi.IntInput) IndexOutput
func (IndexArrayOutput) ToIndexArrayOutput ¶
func (o IndexArrayOutput) ToIndexArrayOutput() IndexArrayOutput
func (IndexArrayOutput) ToIndexArrayOutputWithContext ¶
func (o IndexArrayOutput) ToIndexArrayOutputWithContext(ctx context.Context) IndexArrayOutput
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
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
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 (o IndexFieldArrayOutput) Index(i pulumi.IntInput) IndexFieldOutput
func (IndexFieldArrayOutput) ToIndexFieldArrayOutput ¶
func (o IndexFieldArrayOutput) ToIndexFieldArrayOutput() IndexFieldArrayOutput
func (IndexFieldArrayOutput) ToIndexFieldArrayOutputWithContext ¶
func (o IndexFieldArrayOutput) ToIndexFieldArrayOutputWithContext(ctx context.Context) IndexFieldArrayOutput
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 ¶
func (o IndexFieldOutput) Order() pulumi.StringPtrOutput
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
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) ToIndexMapOutput ¶
func (i IndexMap) ToIndexMapOutput() IndexMapOutput
func (IndexMap) ToIndexMapOutputWithContext ¶
func (i IndexMap) ToIndexMapOutputWithContext(ctx context.Context) IndexMapOutput
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 (o IndexMapOutput) MapIndex(k pulumi.StringInput) IndexOutput
func (IndexMapOutput) ToIndexMapOutput ¶
func (o IndexMapOutput) ToIndexMapOutput() IndexMapOutput
func (IndexMapOutput) ToIndexMapOutputWithContext ¶
func (o IndexMapOutput) ToIndexMapOutputWithContext(ctx context.Context) IndexMapOutput
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
func (o IndexOutput) Fields() IndexFieldArrayOutput
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
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