@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
175 lines (174 loc) • 7.45 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
* Amazon OpenSearchServerless collection resource
*
* ## Example Usage
* ### Example
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws_native from "@pulumi/aws-native";
*
* const encryptionPolicy = new aws_native.opensearchserverless.SecurityPolicy("encryptionPolicy", {
* name: "test-encryption-policy",
* type: aws_native.opensearchserverless.SecurityPolicyType.Encryption,
* description: "Encryption policy for test collection",
* policy: "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/test-collection\"]}],\"AWSOwnedKey\":true}",
* });
* const testCollection = new aws_native.opensearchserverless.Collection("testCollection", {
* name: "test-collection",
* type: aws_native.opensearchserverless.CollectionType.Search,
* description: "Search collection",
* }, {
* dependsOn: [encryptionPolicy],
* });
*
* ```
* ### Example
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws_native from "@pulumi/aws-native";
*
* const encryptionPolicy = new aws_native.opensearchserverless.SecurityPolicy("encryptionPolicy", {
* name: "test-encryption-policy",
* type: aws_native.opensearchserverless.SecurityPolicyType.Encryption,
* description: "Encryption policy for test collection",
* policy: "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/test-collection\"]}],\"AWSOwnedKey\":true}",
* });
* const testCollection = new aws_native.opensearchserverless.Collection("testCollection", {
* name: "test-collection",
* type: aws_native.opensearchserverless.CollectionType.Search,
* description: "Search collection",
* }, {
* dependsOn: [encryptionPolicy],
* });
*
* ```
*/
export declare class Collection extends pulumi.CustomResource {
/**
* Get an existing Collection resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Collection;
/**
* Returns true if the given object is an instance of Collection. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Collection;
/**
* The Amazon Resource Name (ARN) of the collection.
*/
readonly arn: pulumi.Output<string>;
/**
* The identifier of the collection
*/
readonly awsId: pulumi.Output<string>;
/**
* The endpoint for the collection.
*/
readonly collectionEndpoint: pulumi.Output<string>;
/**
* The name of the collection group.
*
* The name must meet the following criteria:
* Unique to your account and AWS Region
* Starts with a lowercase letter
* Contains only lowercase letters a-z, the numbers 0-9 and the hyphen (-)
* Contains between 3 and 32 characters
*/
readonly collectionGroupName: pulumi.Output<string | undefined>;
/**
* The OpenSearch Dashboards endpoint for the collection.
*/
readonly dashboardEndpoint: pulumi.Output<string>;
/**
* The description of the collection
*/
readonly description: pulumi.Output<string | undefined>;
readonly encryptionConfig: pulumi.Output<outputs.opensearchserverless.CollectionEncryptionConfig | undefined>;
/**
* The ARN of the AWS KMS key used to encrypt the collection.
*/
readonly kmsKeyArn: pulumi.Output<string>;
/**
* The name of the collection.
*
* The name must meet the following criteria:
* Unique to your account and AWS Region
* Starts with a lowercase letter
* Contains only lowercase letters a-z, the numbers 0-9 and the hyphen (-)
* Contains between 3 and 32 characters
*/
readonly name: pulumi.Output<string>;
/**
* Indicates whether to use standby replicas for the collection. You can't update this property after the collection is already created. If you attempt to modify this property, the collection continues to use the original value.
*/
readonly standbyReplicas: pulumi.Output<enums.opensearchserverless.CollectionStandbyReplicas | undefined>;
/**
* List of tags to be added to the resource
*/
readonly tags: pulumi.Output<outputs.CreateOnlyTag[] | undefined>;
/**
* The type of collection. Possible values are `SEARCH` , `TIMESERIES` , and `VECTORSEARCH` . For more information, see [Choosing a collection type](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-usecase) .
*/
readonly type: pulumi.Output<enums.opensearchserverless.CollectionType | undefined>;
/**
* Create a Collection resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: CollectionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a Collection resource.
*/
export interface CollectionArgs {
/**
* The name of the collection group.
*
* The name must meet the following criteria:
* Unique to your account and AWS Region
* Starts with a lowercase letter
* Contains only lowercase letters a-z, the numbers 0-9 and the hyphen (-)
* Contains between 3 and 32 characters
*/
collectionGroupName?: pulumi.Input<string>;
/**
* The description of the collection
*/
description?: pulumi.Input<string>;
encryptionConfig?: pulumi.Input<inputs.opensearchserverless.CollectionEncryptionConfigArgs>;
/**
* The name of the collection.
*
* The name must meet the following criteria:
* Unique to your account and AWS Region
* Starts with a lowercase letter
* Contains only lowercase letters a-z, the numbers 0-9 and the hyphen (-)
* Contains between 3 and 32 characters
*/
name?: pulumi.Input<string>;
/**
* Indicates whether to use standby replicas for the collection. You can't update this property after the collection is already created. If you attempt to modify this property, the collection continues to use the original value.
*/
standbyReplicas?: pulumi.Input<enums.opensearchserverless.CollectionStandbyReplicas>;
/**
* List of tags to be added to the resource
*/
tags?: pulumi.Input<pulumi.Input<inputs.CreateOnlyTagArgs>[]>;
/**
* The type of collection. Possible values are `SEARCH` , `TIMESERIES` , and `VECTORSEARCH` . For more information, see [Choosing a collection type](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-usecase) .
*/
type?: pulumi.Input<enums.opensearchserverless.CollectionType>;
}