1. Packages
  2. Google Cloud Native
  3. API Docs
  4. firestore
  5. firestore/v1beta2
  6. Index

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

google-native.firestore/v1beta2.Index

Explore with Pulumi AI

google-native logo

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

    Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata. Auto-naming is currently not supported for this resource.

    Create Index Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Index(name: string, args: IndexArgs, opts?: CustomResourceOptions);
    @overload
    def Index(resource_name: str,
              args: IndexArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Index(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              collection_group_id: Optional[str] = None,
              database_id: Optional[str] = None,
              fields: Optional[Sequence[GoogleFirestoreAdminV1beta2IndexFieldArgs]] = None,
              project: Optional[str] = None,
              query_scope: Optional[IndexQueryScope] = None)
    func NewIndex(ctx *Context, name string, args IndexArgs, opts ...ResourceOption) (*Index, error)
    public Index(string name, IndexArgs args, CustomResourceOptions? opts = null)
    public Index(String name, IndexArgs args)
    public Index(String name, IndexArgs args, CustomResourceOptions options)
    
    type: google-native:firestore/v1beta2:Index
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args IndexArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args IndexArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args IndexArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IndexArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IndexArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var exampleindexResourceResourceFromFirestorev1beta2 = new GoogleNative.Firestore.V1Beta2.Index("exampleindexResourceResourceFromFirestorev1beta2", new()
    {
        CollectionGroupId = "string",
        DatabaseId = "string",
        Fields = new[]
        {
            new GoogleNative.Firestore.V1Beta2.Inputs.GoogleFirestoreAdminV1beta2IndexFieldArgs
            {
                ArrayConfig = GoogleNative.Firestore.V1Beta2.GoogleFirestoreAdminV1beta2IndexFieldArrayConfig.ArrayConfigUnspecified,
                FieldPath = "string",
                Order = GoogleNative.Firestore.V1Beta2.GoogleFirestoreAdminV1beta2IndexFieldOrder.OrderUnspecified,
            },
        },
        Project = "string",
        QueryScope = GoogleNative.Firestore.V1Beta2.IndexQueryScope.QueryScopeUnspecified,
    });
    
    example, err := firestorev1beta2.NewIndex(ctx, "exampleindexResourceResourceFromFirestorev1beta2", &firestorev1beta2.IndexArgs{
    CollectionGroupId: pulumi.String("string"),
    DatabaseId: pulumi.String("string"),
    Fields: firestore.GoogleFirestoreAdminV1beta2IndexFieldArray{
    &firestore.GoogleFirestoreAdminV1beta2IndexFieldArgs{
    ArrayConfig: firestorev1beta2.GoogleFirestoreAdminV1beta2IndexFieldArrayConfigArrayConfigUnspecified,
    FieldPath: pulumi.String("string"),
    Order: firestorev1beta2.GoogleFirestoreAdminV1beta2IndexFieldOrderOrderUnspecified,
    },
    },
    Project: pulumi.String("string"),
    QueryScope: firestorev1beta2.IndexQueryScopeQueryScopeUnspecified,
    })
    
    var exampleindexResourceResourceFromFirestorev1beta2 = new Index("exampleindexResourceResourceFromFirestorev1beta2", IndexArgs.builder()        
        .collectionGroupId("string")
        .databaseId("string")
        .fields(GoogleFirestoreAdminV1beta2IndexFieldArgs.builder()
            .arrayConfig("ARRAY_CONFIG_UNSPECIFIED")
            .fieldPath("string")
            .order("ORDER_UNSPECIFIED")
            .build())
        .project("string")
        .queryScope("QUERY_SCOPE_UNSPECIFIED")
        .build());
    
    exampleindex_resource_resource_from_firestorev1beta2 = google_native.firestore.v1beta2.Index("exampleindexResourceResourceFromFirestorev1beta2",
        collection_group_id="string",
        database_id="string",
        fields=[google_native.firestore.v1beta2.GoogleFirestoreAdminV1beta2IndexFieldArgs(
            array_config=google_native.firestore.v1beta2.GoogleFirestoreAdminV1beta2IndexFieldArrayConfig.ARRAY_CONFIG_UNSPECIFIED,
            field_path="string",
            order=google_native.firestore.v1beta2.GoogleFirestoreAdminV1beta2IndexFieldOrder.ORDER_UNSPECIFIED,
        )],
        project="string",
        query_scope=google_native.firestore.v1beta2.IndexQueryScope.QUERY_SCOPE_UNSPECIFIED)
    
    const exampleindexResourceResourceFromFirestorev1beta2 = new google_native.firestore.v1beta2.Index("exampleindexResourceResourceFromFirestorev1beta2", {
        collectionGroupId: "string",
        databaseId: "string",
        fields: [{
            arrayConfig: google_native.firestore.v1beta2.GoogleFirestoreAdminV1beta2IndexFieldArrayConfig.ArrayConfigUnspecified,
            fieldPath: "string",
            order: google_native.firestore.v1beta2.GoogleFirestoreAdminV1beta2IndexFieldOrder.OrderUnspecified,
        }],
        project: "string",
        queryScope: google_native.firestore.v1beta2.IndexQueryScope.QueryScopeUnspecified,
    });
    
    type: google-native:firestore/v1beta2:Index
    properties:
        collectionGroupId: string
        databaseId: string
        fields:
            - arrayConfig: ARRAY_CONFIG_UNSPECIFIED
              fieldPath: string
              order: ORDER_UNSPECIFIED
        project: string
        queryScope: QUERY_SCOPE_UNSPECIFIED
    

    Index Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Index resource accepts the following input properties:

    CollectionGroupId string
    DatabaseId string
    Fields List<Pulumi.GoogleNative.Firestore.V1Beta2.Inputs.GoogleFirestoreAdminV1beta2IndexField>
    The fields supported by this index. For composite indexes, this is always 2 or more fields. 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). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.
    Project string
    QueryScope Pulumi.GoogleNative.Firestore.V1Beta2.IndexQueryScope
    Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index.
    CollectionGroupId string
    DatabaseId string
    Fields []GoogleFirestoreAdminV1beta2IndexFieldArgs
    The fields supported by this index. For composite indexes, this is always 2 or more fields. 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). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.
    Project string
    QueryScope IndexQueryScope
    Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index.
    collectionGroupId String
    databaseId String
    fields List<GoogleFirestoreAdminV1beta2IndexField>
    The fields supported by this index. For composite indexes, this is always 2 or more fields. 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). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.
    project String
    queryScope IndexQueryScope
    Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index.
    collectionGroupId string
    databaseId string
    fields GoogleFirestoreAdminV1beta2IndexField[]
    The fields supported by this index. For composite indexes, this is always 2 or more fields. 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). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.
    project string
    queryScope IndexQueryScope
    Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index.
    collection_group_id str
    database_id str
    fields Sequence[GoogleFirestoreAdminV1beta2IndexFieldArgs]
    The fields supported by this index. For composite indexes, this is always 2 or more fields. 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). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.
    project str
    query_scope IndexQueryScope
    Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index.
    collectionGroupId String
    databaseId String
    fields List<Property Map>
    The fields supported by this index. For composite indexes, this is always 2 or more fields. 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). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.
    project String
    queryScope "QUERY_SCOPE_UNSPECIFIED" | "COLLECTION" | "COLLECTION_GROUP"
    Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Index resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    A server defined name for this index. The form of this name for composite indexes will be: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} For single field indexes, this field will be empty.
    State string
    The serving state of the index.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    A server defined name for this index. The form of this name for composite indexes will be: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} For single field indexes, this field will be empty.
    State string
    The serving state of the index.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    A server defined name for this index. The form of this name for composite indexes will be: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} For single field indexes, this field will be empty.
    state String
    The serving state of the index.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    A server defined name for this index. The form of this name for composite indexes will be: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} For single field indexes, this field will be empty.
    state string
    The serving state of the index.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    A server defined name for this index. The form of this name for composite indexes will be: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} For single field indexes, this field will be empty.
    state str
    The serving state of the index.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    A server defined name for this index. The form of this name for composite indexes will be: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} For single field indexes, this field will be empty.
    state String
    The serving state of the index.

    Supporting Types

    GoogleFirestoreAdminV1beta2IndexField, GoogleFirestoreAdminV1beta2IndexFieldArgs

    ArrayConfig Pulumi.GoogleNative.Firestore.V1Beta2.GoogleFirestoreAdminV1beta2IndexFieldArrayConfig
    Indicates that this field supports operations on array_values.
    FieldPath string
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    Order Pulumi.GoogleNative.Firestore.V1Beta2.GoogleFirestoreAdminV1beta2IndexFieldOrder
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    ArrayConfig GoogleFirestoreAdminV1beta2IndexFieldArrayConfig
    Indicates that this field supports operations on array_values.
    FieldPath string
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    Order GoogleFirestoreAdminV1beta2IndexFieldOrder
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    arrayConfig GoogleFirestoreAdminV1beta2IndexFieldArrayConfig
    Indicates that this field supports operations on array_values.
    fieldPath String
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    order GoogleFirestoreAdminV1beta2IndexFieldOrder
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    arrayConfig GoogleFirestoreAdminV1beta2IndexFieldArrayConfig
    Indicates that this field supports operations on array_values.
    fieldPath string
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    order GoogleFirestoreAdminV1beta2IndexFieldOrder
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    array_config GoogleFirestoreAdminV1beta2IndexFieldArrayConfig
    Indicates that this field supports operations on array_values.
    field_path str
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    order GoogleFirestoreAdminV1beta2IndexFieldOrder
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    arrayConfig "ARRAY_CONFIG_UNSPECIFIED" | "CONTAINS"
    Indicates that this field supports operations on array_values.
    fieldPath String
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    order "ORDER_UNSPECIFIED" | "ASCENDING" | "DESCENDING"
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.

    GoogleFirestoreAdminV1beta2IndexFieldArrayConfig, GoogleFirestoreAdminV1beta2IndexFieldArrayConfigArgs

    ArrayConfigUnspecified
    ARRAY_CONFIG_UNSPECIFIEDThe index does not support additional array queries.
    Contains
    CONTAINSThe index supports array containment queries.
    GoogleFirestoreAdminV1beta2IndexFieldArrayConfigArrayConfigUnspecified
    ARRAY_CONFIG_UNSPECIFIEDThe index does not support additional array queries.
    GoogleFirestoreAdminV1beta2IndexFieldArrayConfigContains
    CONTAINSThe index supports array containment queries.
    ArrayConfigUnspecified
    ARRAY_CONFIG_UNSPECIFIEDThe index does not support additional array queries.
    Contains
    CONTAINSThe index supports array containment queries.
    ArrayConfigUnspecified
    ARRAY_CONFIG_UNSPECIFIEDThe index does not support additional array queries.
    Contains
    CONTAINSThe index supports array containment queries.
    ARRAY_CONFIG_UNSPECIFIED
    ARRAY_CONFIG_UNSPECIFIEDThe index does not support additional array queries.
    CONTAINS
    CONTAINSThe index supports array containment queries.
    "ARRAY_CONFIG_UNSPECIFIED"
    ARRAY_CONFIG_UNSPECIFIEDThe index does not support additional array queries.
    "CONTAINS"
    CONTAINSThe index supports array containment queries.

    GoogleFirestoreAdminV1beta2IndexFieldOrder, GoogleFirestoreAdminV1beta2IndexFieldOrderArgs

    OrderUnspecified
    ORDER_UNSPECIFIEDThe ordering is unspecified. Not a valid option.
    Ascending
    ASCENDINGThe field is ordered by ascending field value.
    Descending
    DESCENDINGThe field is ordered by descending field value.
    GoogleFirestoreAdminV1beta2IndexFieldOrderOrderUnspecified
    ORDER_UNSPECIFIEDThe ordering is unspecified. Not a valid option.
    GoogleFirestoreAdminV1beta2IndexFieldOrderAscending
    ASCENDINGThe field is ordered by ascending field value.
    GoogleFirestoreAdminV1beta2IndexFieldOrderDescending
    DESCENDINGThe field is ordered by descending field value.
    OrderUnspecified
    ORDER_UNSPECIFIEDThe ordering is unspecified. Not a valid option.
    Ascending
    ASCENDINGThe field is ordered by ascending field value.
    Descending
    DESCENDINGThe field is ordered by descending field value.
    OrderUnspecified
    ORDER_UNSPECIFIEDThe ordering is unspecified. Not a valid option.
    Ascending
    ASCENDINGThe field is ordered by ascending field value.
    Descending
    DESCENDINGThe field is ordered by descending field value.
    ORDER_UNSPECIFIED
    ORDER_UNSPECIFIEDThe ordering is unspecified. Not a valid option.
    ASCENDING
    ASCENDINGThe field is ordered by ascending field value.
    DESCENDING
    DESCENDINGThe field is ordered by descending field value.
    "ORDER_UNSPECIFIED"
    ORDER_UNSPECIFIEDThe ordering is unspecified. Not a valid option.
    "ASCENDING"
    ASCENDINGThe field is ordered by ascending field value.
    "DESCENDING"
    DESCENDINGThe field is ordered by descending field value.

    GoogleFirestoreAdminV1beta2IndexFieldResponse, GoogleFirestoreAdminV1beta2IndexFieldResponseArgs

    ArrayConfig string
    Indicates that this field supports operations on array_values.
    FieldPath string
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    Order string
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    ArrayConfig string
    Indicates that this field supports operations on array_values.
    FieldPath string
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    Order string
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    arrayConfig String
    Indicates that this field supports operations on array_values.
    fieldPath String
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    order String
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    arrayConfig string
    Indicates that this field supports operations on array_values.
    fieldPath string
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    order string
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    array_config str
    Indicates that this field supports operations on array_values.
    field_path str
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    order str
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
    arrayConfig String
    Indicates that this field supports operations on array_values.
    fieldPath String
    Can be name. For single field indexes, this must match the name of the field or may be omitted.
    order String
    Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.

    IndexQueryScope, IndexQueryScopeArgs

    QueryScopeUnspecified
    QUERY_SCOPE_UNSPECIFIEDThe query scope is unspecified. Not a valid option.
    Collection
    COLLECTIONIndexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection id specified by the index.
    CollectionGroup
    COLLECTION_GROUPIndexes with a collection group query scope specified allow queries against all collections that has the collection id specified by the index.
    IndexQueryScopeQueryScopeUnspecified
    QUERY_SCOPE_UNSPECIFIEDThe query scope is unspecified. Not a valid option.
    IndexQueryScopeCollection
    COLLECTIONIndexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection id specified by the index.
    IndexQueryScopeCollectionGroup
    COLLECTION_GROUPIndexes with a collection group query scope specified allow queries against all collections that has the collection id specified by the index.
    QueryScopeUnspecified
    QUERY_SCOPE_UNSPECIFIEDThe query scope is unspecified. Not a valid option.
    Collection
    COLLECTIONIndexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection id specified by the index.
    CollectionGroup
    COLLECTION_GROUPIndexes with a collection group query scope specified allow queries against all collections that has the collection id specified by the index.
    QueryScopeUnspecified
    QUERY_SCOPE_UNSPECIFIEDThe query scope is unspecified. Not a valid option.
    Collection
    COLLECTIONIndexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection id specified by the index.
    CollectionGroup
    COLLECTION_GROUPIndexes with a collection group query scope specified allow queries against all collections that has the collection id specified by the index.
    QUERY_SCOPE_UNSPECIFIED
    QUERY_SCOPE_UNSPECIFIEDThe query scope is unspecified. Not a valid option.
    COLLECTION
    COLLECTIONIndexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection id specified by the index.
    COLLECTION_GROUP
    COLLECTION_GROUPIndexes with a collection group query scope specified allow queries against all collections that has the collection id specified by the index.
    "QUERY_SCOPE_UNSPECIFIED"
    QUERY_SCOPE_UNSPECIFIEDThe query scope is unspecified. Not a valid option.
    "COLLECTION"
    COLLECTIONIndexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection id specified by the index.
    "COLLECTION_GROUP"
    COLLECTION_GROUPIndexes with a collection group query scope specified allow queries against all collections that has the collection id specified by the index.

    Package Details

    Repository
    Google Cloud Native pulumi/pulumi-google-native
    License
    Apache-2.0
    google-native logo

    Google Cloud Native is in preview. Google Cloud Classic is fully supported.

    Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi