firestore

package
v4.8.0 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Document added in v4.6.0

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 Firestore enabled. If you haven't already enabled it, you can create a `appengine.Application` resource with `databaseType` set to `"CLOUD_FIRESTORE"` to do so. Your Firestore location will be the same as the App Engine location specified.

## Example Usage

## Import

Document can be imported using any of these accepted formats

```sh

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

```

func GetDocument added in v4.6.0

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 added in v4.6.0

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 added in v4.6.0

func (Document) ElementType() reflect.Type

func (Document) ToDocumentOutput added in v4.6.0

func (i Document) ToDocumentOutput() DocumentOutput

func (Document) ToDocumentOutputWithContext added in v4.6.0

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

type DocumentArgs added in v4.6.0

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 added in v4.6.0

func (DocumentArgs) ElementType() reflect.Type

type DocumentInput added in v4.6.0

type DocumentInput interface {
	pulumi.Input

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

type DocumentOutput added in v4.6.0

type DocumentOutput struct {
	*pulumi.OutputState
}

func (DocumentOutput) ElementType added in v4.6.0

func (DocumentOutput) ElementType() reflect.Type

func (DocumentOutput) ToDocumentOutput added in v4.6.0

func (o DocumentOutput) ToDocumentOutput() DocumentOutput

func (DocumentOutput) ToDocumentOutputWithContext added in v4.6.0

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

type DocumentState added in v4.6.0

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 added in v4.6.0

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` and `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 Firestore enabled. If you haven't already enabled it, you can create a `appengine.Application` resource with `databaseType` set to `"CLOUD_FIRESTORE"` to do so. 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/v4/go/gcp/firestore"
"github.com/pulumi/pulumi/sdk/v2/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"),
				},
				&firestore.IndexFieldArgs{
					FieldPath: pulumi.String("__name__"),
					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 added in v4.4.0

func (Index) ElementType() reflect.Type

func (Index) ToIndexOutput added in v4.4.0

func (i Index) ToIndexOutput() IndexOutput

func (Index) ToIndexOutputWithContext added in v4.4.0

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` and `COLLECTION_GROUP`.
	QueryScope pulumi.StringPtrInput
}

The set of arguments for constructing a Index resource.

func (IndexArgs) ElementType

func (IndexArgs) ElementType() reflect.Type

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` and `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` and `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 (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

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` and `DESCENDING`.

func (IndexFieldOutput) ToIndexFieldOutput

func (o IndexFieldOutput) ToIndexFieldOutput() IndexFieldOutput

func (IndexFieldOutput) ToIndexFieldOutputWithContext

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

type IndexInput added in v4.4.0

type IndexInput interface {
	pulumi.Input

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

type IndexOutput added in v4.4.0

type IndexOutput struct {
	*pulumi.OutputState
}

func (IndexOutput) ElementType added in v4.4.0

func (IndexOutput) ElementType() reflect.Type

func (IndexOutput) ToIndexOutput added in v4.4.0

func (o IndexOutput) ToIndexOutput() IndexOutput

func (IndexOutput) ToIndexOutputWithContext added in v4.4.0

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` and `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