aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,101 lines • 60.6 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { AccessPolicyReference, CollectionGroupReference, CollectionReference, IAccessPolicyRef, ICollectionGroupRef, ICollectionRef, IIndexRef, ILifecyclePolicyRef, IndexReference, ISecurityConfigRef, ISecurityPolicyRef, IVpcEndpointRef, LifecyclePolicyReference, SecurityConfigReference, SecurityPolicyReference, VpcEndpointReference } from "../../interfaces/generated/aws-opensearchserverless-interfaces.generated";
import { aws_ec2 as ec2Refs } from "../../interfaces";
/**
* Creates a data access policy for OpenSearch Serverless.
*
* Access policies limit access to collections and the resources within them, and allow a user to access that data irrespective of the access mechanism or network source. For more information, see [Data access control for Amazon OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) .
*
* @cloudformationResource AWS::OpenSearchServerless::AccessPolicy
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html
*/
export declare class CfnAccessPolicy extends cdk.CfnResource implements cdk.IInspectable, IAccessPolicyRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnAccessPolicy from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAccessPolicy;
/**
* Checks whether the given object is a CfnAccessPolicy
*/
static isCfnAccessPolicy(x: any): x is CfnAccessPolicy;
/**
* The description of the policy.
*/
description?: string;
/**
* The name of the policy.
*/
name: string;
/**
* The JSON policy document without any whitespaces.
*/
policy: string;
/**
* The type of access policy.
*/
type: string;
/**
* Create a new `AWS::OpenSearchServerless::AccessPolicy`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnAccessPolicyProps);
get accessPolicyRef(): AccessPolicyReference;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnAccessPolicy`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html
*/
export interface CfnAccessPolicyProps {
/**
* The description of the policy.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html#cfn-opensearchserverless-accesspolicy-description
*/
readonly description?: string;
/**
* The name of the policy.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html#cfn-opensearchserverless-accesspolicy-name
*/
readonly name: string;
/**
* The JSON policy document without any whitespaces.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html#cfn-opensearchserverless-accesspolicy-policy
*/
readonly policy: string;
/**
* The type of access policy.
*
* Currently the only option is `data` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html#cfn-opensearchserverless-accesspolicy-type
*/
readonly type: string;
}
/**
* Specifies an OpenSearch Serverless collection.
*
* For more information, see [Creating and managing Amazon OpenSearch Serverless collections](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html) in the *Amazon OpenSearch Service Developer Guide* .
*
* > You must create a matching [encryption policy](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html) in order for a collection to be created successfully. You can specify the policy resource within the same CloudFormation template as the collection resource if you use the [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) attribute. See [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#aws-resource-opensearchserverless-collection--examples) for a sample template. Otherwise the encryption policy must already exist before you create the collection.
*
* @cloudformationResource AWS::OpenSearchServerless::Collection
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html
*/
export declare class CfnCollection extends cdk.CfnResource implements cdk.IInspectable, ICollectionRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCollection from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCollection;
/**
* Checks whether the given object is a CfnCollection
*/
static isCfnCollection(x: any): x is CfnCollection;
/**
* Creates a new ICollectionRef from an ARN
*/
static fromCollectionArn(scope: constructs.Construct, id: string, arn: string): ICollectionRef;
/**
* Creates a new ICollectionRef from a collectionId
*/
static fromCollectionId(scope: constructs.Construct, id: string, collectionId: string): ICollectionRef;
static arnForCollection(resource: ICollectionRef): string;
/**
* The name of the collection group to associate with the collection.
*/
collectionGroupName?: string;
/**
* A description of the collection.
*/
description?: string;
/**
* Encryption settings for the collection.
*/
encryptionConfig?: CfnCollection.EncryptionConfigProperty | cdk.IResolvable;
/**
* The name of the collection.
*/
name: string;
/**
* Indicates whether to use standby replicas for the collection.
*/
standbyReplicas?: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An arbitrary set of tags (key–value pairs) to associate with the collection.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* The type of collection.
*/
type?: string;
/**
* Vector search configuration options for the collection.
*/
vectorOptions?: cdk.IResolvable | CfnCollection.VectorOptionsProperty;
/**
* Create a new `AWS::OpenSearchServerless::Collection`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnCollectionProps);
get collectionRef(): CollectionReference;
/**
* The Amazon Resource Name (ARN) of the collection. For example, `arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc` .
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
/**
* Collection-specific endpoint used to submit index, search, and data upload requests to an OpenSearch Serverless collection. For example, `https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com` .
*
* @cloudformationAttribute CollectionEndpoint
*/
get attrCollectionEndpoint(): string;
/**
* The collection-specific endpoint used to access OpenSearch Dashboards. For example, `https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards` .
*
* @cloudformationAttribute DashboardEndpoint
*/
get attrDashboardEndpoint(): string;
/**
* @cloudformationAttribute FipsEndpoints
*/
get attrFipsEndpoints(): cdk.IResolvable;
/**
* A unique identifier for the collection. For example, `07tjusf2h91cunochc` .
*
* @cloudformationAttribute Id
*/
get attrId(): string;
/**
* The ARN of the AWS KMS key used to encrypt the collection.
*
* @cloudformationAttribute KmsKeyArn
*/
get attrKmsKeyArn(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnCollection {
/**
* Encryption settings for the collection.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collection-encryptionconfig.html
*/
interface EncryptionConfigProperty {
/**
* Indicates whether to use an AWS owned key for encryption.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collection-encryptionconfig.html#cfn-opensearchserverless-collection-encryptionconfig-awsownedkey
*/
readonly awsOwnedKey?: boolean | cdk.IResolvable;
/**
* Key Management Service key used to encrypt the collection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collection-encryptionconfig.html#cfn-opensearchserverless-collection-encryptionconfig-kmskeyarn
*/
readonly kmsKeyArn?: string;
}
/**
* Vector search configuration options for the collection.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collection-vectoroptions.html
*/
interface VectorOptionsProperty {
/**
* Indicates whether GPU acceleration is enabled for vector indexing.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collection-vectoroptions.html#cfn-opensearchserverless-collection-vectoroptions-serverlessvectoracceleration
*/
readonly serverlessVectorAcceleration?: string;
}
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collection-fipsendpoints.html
*/
interface FipsEndpointsProperty {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collection-fipsendpoints.html#cfn-opensearchserverless-collection-fipsendpoints-collectionendpoint
*/
readonly collectionEndpoint?: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collection-fipsendpoints.html#cfn-opensearchserverless-collection-fipsendpoints-dashboardendpoint
*/
readonly dashboardEndpoint?: string;
}
}
/**
* Properties for defining a `CfnCollection`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html
*/
export interface CfnCollectionProps {
/**
* The name of the collection group to associate with the collection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-collectiongroupname
*/
readonly collectionGroupName?: string;
/**
* A description of the collection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-description
*/
readonly description?: string;
/**
* Encryption settings for the collection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-encryptionconfig
*/
readonly encryptionConfig?: CfnCollection.EncryptionConfigProperty | cdk.IResolvable;
/**
* The name of the collection.
*
* Collection names must meet the following criteria:
*
* - Starts with a lowercase letter
* - Unique to your account and AWS Region
* - Contains between 3 and 28 characters
* - Contains only lowercase letters a-z, the numbers 0-9, and the hyphen (-)
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-name
*/
readonly name: 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-standbyreplicas
*/
readonly standbyReplicas?: string;
/**
* An arbitrary set of tags (key–value pairs) to associate with the collection.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* 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) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-type
*/
readonly type?: string;
/**
* Vector search configuration options for the collection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-vectoroptions
*/
readonly vectorOptions?: cdk.IResolvable | CfnCollection.VectorOptionsProperty;
}
/**
* Specifies a security configuration for OpenSearch Serverless.
*
* For more information, see [SAML authentication for Amazon OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html) .
*
* @cloudformationResource AWS::OpenSearchServerless::SecurityConfig
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html
*/
export declare class CfnSecurityConfig extends cdk.CfnResource implements cdk.IInspectable, ISecurityConfigRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnSecurityConfig from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSecurityConfig;
/**
* Checks whether the given object is a CfnSecurityConfig
*/
static isCfnSecurityConfig(x: any): x is CfnSecurityConfig;
/**
* The description of the security configuration.
*/
description?: string;
/**
* Describes IAM federation options in the form of a key-value map.
*/
iamFederationOptions?: CfnSecurityConfig.IamFederationConfigOptionsProperty | cdk.IResolvable;
/**
* Describes IAM Identity Center options in the form of a key-value map.
*/
iamIdentityCenterOptions?: CfnSecurityConfig.IamIdentityCenterConfigOptionsProperty | cdk.IResolvable;
/**
* The name of the security configuration.
*/
name?: string;
/**
* SAML options for the security configuration in the form of a key-value map.
*/
samlOptions?: cdk.IResolvable | CfnSecurityConfig.SamlConfigOptionsProperty;
/**
* The type of security configuration.
*/
type?: string;
/**
* Create a new `AWS::OpenSearchServerless::SecurityConfig`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnSecurityConfigProps);
get securityConfigRef(): SecurityConfigReference;
/**
* The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless.
*
* @cloudformationAttribute IamIdentityCenterOptions.ApplicationArn
*/
get attrIamIdentityCenterOptionsApplicationArn(): string;
/**
* The description of the IAM Identity Center application used to integrate with OpenSearch Serverless.
*
* @cloudformationAttribute IamIdentityCenterOptions.ApplicationDescription
*/
get attrIamIdentityCenterOptionsApplicationDescription(): string;
/**
* The name of the IAM Identity Center application used to integrate with OpenSearch Serverless.
*
* @cloudformationAttribute IamIdentityCenterOptions.ApplicationName
*/
get attrIamIdentityCenterOptionsApplicationName(): string;
/**
* The unique identifier of the security configuration. For example, `saml/123456789012/myprovider` .
*
* @cloudformationAttribute Id
*/
get attrId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnSecurityConfig {
/**
* Describes SAML options for an OpenSearch Serverless security configuration in the form of a key-value map.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-samlconfigoptions.html
*/
interface SamlConfigOptionsProperty {
/**
* The group attribute for this SAML integration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-samlconfigoptions.html#cfn-opensearchserverless-securityconfig-samlconfigoptions-groupattribute
*/
readonly groupAttribute?: string;
/**
* The XML IdP metadata file generated from your identity provider.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-samlconfigoptions.html#cfn-opensearchserverless-securityconfig-samlconfigoptions-metadata
*/
readonly metadata: string;
/**
* Custom entity ID attribute to override the default entity ID for this SAML integration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-samlconfigoptions.html#cfn-opensearchserverless-securityconfig-samlconfigoptions-opensearchserverlessentityid
*/
readonly openSearchServerlessEntityId?: string;
/**
* The session timeout, in minutes.
*
* Default is 60 minutes (12 hours).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-samlconfigoptions.html#cfn-opensearchserverless-securityconfig-samlconfigoptions-sessiontimeout
*/
readonly sessionTimeout?: number;
/**
* A user attribute for this SAML integration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-samlconfigoptions.html#cfn-opensearchserverless-securityconfig-samlconfigoptions-userattribute
*/
readonly userAttribute?: string;
}
/**
* Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamidentitycenterconfigoptions.html
*/
interface IamIdentityCenterConfigOptionsProperty {
/**
* The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamidentitycenterconfigoptions.html#cfn-opensearchserverless-securityconfig-iamidentitycenterconfigoptions-applicationarn
*/
readonly applicationArn?: string;
/**
* The description of the IAM Identity Center application used to integrate with OpenSearch Serverless.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamidentitycenterconfigoptions.html#cfn-opensearchserverless-securityconfig-iamidentitycenterconfigoptions-applicationdescription
*/
readonly applicationDescription?: string;
/**
* The name of the IAM Identity Center application used to integrate with OpenSearch Serverless.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamidentitycenterconfigoptions.html#cfn-opensearchserverless-securityconfig-iamidentitycenterconfigoptions-applicationname
*/
readonly applicationName?: string;
/**
* The group attribute for this IAM Identity Center integration.
*
* Defaults to `GroupId` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamidentitycenterconfigoptions.html#cfn-opensearchserverless-securityconfig-iamidentitycenterconfigoptions-groupattribute
*/
readonly groupAttribute?: string;
/**
* The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamidentitycenterconfigoptions.html#cfn-opensearchserverless-securityconfig-iamidentitycenterconfigoptions-instancearn
*/
readonly instanceArn: string;
/**
* The user attribute for this IAM Identity Center integration.
*
* Defaults to `UserId`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamidentitycenterconfigoptions.html#cfn-opensearchserverless-securityconfig-iamidentitycenterconfigoptions-userattribute
*/
readonly userAttribute?: string;
}
/**
* Describes IAM federation options for an OpenSearch Serverless security configuration in the form of a key-value map.
*
* These options define how OpenSearch Serverless integrates with external identity providers using federation.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamfederationconfigoptions.html
*/
interface IamFederationConfigOptionsProperty {
/**
* The group attribute for this IAM federation integration.
*
* This attribute is used to map identity provider groups to OpenSearch Serverless permissions.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamfederationconfigoptions.html#cfn-opensearchserverless-securityconfig-iamfederationconfigoptions-groupattribute
*/
readonly groupAttribute?: string;
/**
* The user attribute for this IAM federation integration.
*
* This attribute is used to identify users in the federated authentication process.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-securityconfig-iamfederationconfigoptions.html#cfn-opensearchserverless-securityconfig-iamfederationconfigoptions-userattribute
*/
readonly userAttribute?: string;
}
}
/**
* Properties for defining a `CfnSecurityConfig`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html
*/
export interface CfnSecurityConfigProps {
/**
* The description of the security configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html#cfn-opensearchserverless-securityconfig-description
*/
readonly description?: string;
/**
* Describes IAM federation options in the form of a key-value map.
*
* Contains configuration details about how OpenSearch Serverless integrates with external identity providers through federation.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html#cfn-opensearchserverless-securityconfig-iamfederationoptions
*/
readonly iamFederationOptions?: CfnSecurityConfig.IamFederationConfigOptionsProperty | cdk.IResolvable;
/**
* Describes IAM Identity Center options in the form of a key-value map.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html#cfn-opensearchserverless-securityconfig-iamidentitycenteroptions
*/
readonly iamIdentityCenterOptions?: CfnSecurityConfig.IamIdentityCenterConfigOptionsProperty | cdk.IResolvable;
/**
* The name of the security configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html#cfn-opensearchserverless-securityconfig-name
*/
readonly name?: string;
/**
* SAML options for the security configuration in the form of a key-value map.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html#cfn-opensearchserverless-securityconfig-samloptions
*/
readonly samlOptions?: cdk.IResolvable | CfnSecurityConfig.SamlConfigOptionsProperty;
/**
* The type of security configuration.
*
* Currently the only option is `saml` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html#cfn-opensearchserverless-securityconfig-type
*/
readonly type?: string;
}
/**
* Creates an encryption or network policy to be used by one or more OpenSearch Serverless collections.
*
* Network policies specify access to a collection and its OpenSearch Dashboards endpoint from public networks or specific VPC endpoints. For more information, see [Network access for Amazon OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html) .
*
* Encryption policies specify a KMS encryption key to assign to particular collections. For more information, see [Encryption at rest for Amazon OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html) .
*
* @cloudformationResource AWS::OpenSearchServerless::SecurityPolicy
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html
*/
export declare class CfnSecurityPolicy extends cdk.CfnResource implements cdk.IInspectable, ISecurityPolicyRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnSecurityPolicy from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSecurityPolicy;
/**
* Checks whether the given object is a CfnSecurityPolicy
*/
static isCfnSecurityPolicy(x: any): x is CfnSecurityPolicy;
/**
* The description of the security policy.
*/
description?: string;
/**
* The name of the policy.
*/
name: string;
/**
* The JSON policy document without any whitespaces.
*/
policy: string;
/**
* The type of security policy.
*/
type: string;
/**
* Create a new `AWS::OpenSearchServerless::SecurityPolicy`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnSecurityPolicyProps);
get securityPolicyRef(): SecurityPolicyReference;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnSecurityPolicy`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html
*/
export interface CfnSecurityPolicyProps {
/**
* The description of the security policy.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html#cfn-opensearchserverless-securitypolicy-description
*/
readonly description?: string;
/**
* The name of the policy.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html#cfn-opensearchserverless-securitypolicy-name
*/
readonly name: string;
/**
* The JSON policy document without any whitespaces.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html#cfn-opensearchserverless-securitypolicy-policy
*/
readonly policy: string;
/**
* The type of security policy.
*
* Can be either `encryption` or `network` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html#cfn-opensearchserverless-securitypolicy-type
*/
readonly type: string;
}
/**
* Creates an OpenSearch Serverless-managed interface VPC endpoint.
*
* For more information, see [Access Amazon OpenSearch Serverless using an interface endpoint](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html) .
*
* @cloudformationResource AWS::OpenSearchServerless::VpcEndpoint
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html
*/
export declare class CfnVpcEndpoint extends cdk.CfnResource implements cdk.IInspectable, IVpcEndpointRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnVpcEndpoint from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnVpcEndpoint;
/**
* Checks whether the given object is a CfnVpcEndpoint
*/
static isCfnVpcEndpoint(x: any): x is CfnVpcEndpoint;
/**
* The name of the endpoint.
*/
name: string;
/**
* The unique identifiers of the security groups that define the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.
*/
securityGroupIds?: Array<string>;
/**
* The ID of the subnets from which you access OpenSearch Serverless.
*/
subnetIds: Array<string>;
/**
* The ID of the VPC from which you access OpenSearch Serverless.
*/
vpcId: string;
/**
* Create a new `AWS::OpenSearchServerless::VpcEndpoint`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnVpcEndpointProps);
get vpcEndpointRef(): VpcEndpointReference;
/**
* The unique identifier of the endpoint. For example, `vpce-050f79086ee71ac05` .
*
* @cloudformationAttribute Id
*/
get attrId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnVpcEndpoint`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html
*/
export interface CfnVpcEndpointProps {
/**
* The name of the endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html#cfn-opensearchserverless-vpcendpoint-name
*/
readonly name: string;
/**
* The unique identifiers of the security groups that define the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html#cfn-opensearchserverless-vpcendpoint-securitygroupids
*/
readonly securityGroupIds?: Array<ec2Refs.ISecurityGroupRef | string>;
/**
* The ID of the subnets from which you access OpenSearch Serverless.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html#cfn-opensearchserverless-vpcendpoint-subnetids
*/
readonly subnetIds: Array<string>;
/**
* The ID of the VPC from which you access OpenSearch Serverless.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html#cfn-opensearchserverless-vpcendpoint-vpcid
*/
readonly vpcId: string;
}
/**
* Resource Type definition for AWS::OpenSearchServerless::CollectionGroup.
*
* @cloudformationResource AWS::OpenSearchServerless::CollectionGroup
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collectiongroup.html
*/
export declare class CfnCollectionGroup extends cdk.CfnResource implements cdk.IInspectable, ICollectionGroupRef, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCollectionGroup from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCollectionGroup;
/**
* Checks whether the given object is a CfnCollectionGroup
*/
static isCfnCollectionGroup(x: any): x is CfnCollectionGroup;
/**
* Creates a new ICollectionGroupRef from an ARN
*/
static fromCollectionGroupArn(scope: constructs.Construct, id: string, arn: string): ICollectionGroupRef;
/**
* Creates a new ICollectionGroupRef from a collectionGroupId
*/
static fromCollectionGroupId(scope: constructs.Construct, id: string, collectionGroupId: string): ICollectionGroupRef;
static arnForCollectionGroup(resource: ICollectionGroupRef): string;
capacityLimits?: CfnCollectionGroup.CapacityLimitsProperty | cdk.IResolvable;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
/**
* The description of the collection group.
*/
description?: string;
/**
* The name of the collection group.
*/
name: string;
/**
* Indicates whether standby replicas are used for the collection group.
*/
standbyReplicas: string;
/**
* An array of key-value pairs to apply to this resource.
*/
tags?: Array<cdk.CfnTag>;
/**
* Create a new `AWS::OpenSearchServerless::CollectionGroup`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnCollectionGroupProps);
get collectionGroupRef(): CollectionGroupReference;
/**
* The Amazon Resource Name (ARN) of the collection group.
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
/**
* The unique identifier of the collection group.
*
* @cloudformationAttribute Id
*/
get attrId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnCollectionGroup {
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collectiongroup-capacitylimits.html
*/
interface CapacityLimitsProperty {
/**
* The maximum indexing capacity for collections in the group.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collectiongroup-capacitylimits.html#cfn-opensearchserverless-collectiongroup-capacitylimits-maxindexingcapacityinocu
*/
readonly maxIndexingCapacityInOcu?: number;
/**
* The maximum search capacity for collections in the group.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collectiongroup-capacitylimits.html#cfn-opensearchserverless-collectiongroup-capacitylimits-maxsearchcapacityinocu
*/
readonly maxSearchCapacityInOcu?: number;
/**
* The minimum indexing capacity for collections in the group.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collectiongroup-capacitylimits.html#cfn-opensearchserverless-collectiongroup-capacitylimits-minindexingcapacityinocu
*/
readonly minIndexingCapacityInOcu?: number;
/**
* The minimum search capacity for collections in the group.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-collectiongroup-capacitylimits.html#cfn-opensearchserverless-collectiongroup-capacitylimits-minsearchcapacityinocu
*/
readonly minSearchCapacityInOcu?: number;
}
}
/**
* Properties for defining a `CfnCollectionGroup`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collectiongroup.html
*/
export interface CfnCollectionGroupProps {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collectiongroup.html#cfn-opensearchserverless-collectiongroup-capacitylimits
*/
readonly capacityLimits?: CfnCollectionGroup.CapacityLimitsProperty | cdk.IResolvable;
/**
* The description of the collection group.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collectiongroup.html#cfn-opensearchserverless-collectiongroup-description
*/
readonly description?: string;
/**
* The name of the collection group.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collectiongroup.html#cfn-opensearchserverless-collectiongroup-name
*/
readonly name: string;
/**
* Indicates whether standby replicas are used for the collection group.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collectiongroup.html#cfn-opensearchserverless-collectiongroup-standbyreplicas
*/
readonly standbyReplicas: string;
/**
* An array of key-value pairs to apply to this resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collectiongroup.html#cfn-opensearchserverless-collectiongroup-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* An OpenSearch Serverless index resource.
*
* @cloudformationResource AWS::OpenSearchServerless::Index
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-index.html
*/
export declare class CfnIndex extends cdk.CfnResource implements cdk.IInspectable, IIndexRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnIndex from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnIndex;
/**
* Checks whether the given object is a CfnIndex
*/
static isCfnIndex(x: any): x is CfnIndex;
/**
* The endpoint for the collection.
*/
collectionEndpoint: string;
/**
* The name of the OpenSearch Serverless index.
*/
indexName: string;
/**
* Index mappings for the OpenSearch Serverless index.
*/
mappings?: cdk.IResolvable | CfnIndex.MappingsProperty;
/**
* Index settings for the OpenSearch Serverless index.
*/
settings?: CfnIndex.IndexSettingsProperty | cdk.IResolvable;
/**
* Create a new `AWS::OpenSearchServerless::Index`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnIndexProps);
get indexRef(): IndexReference;
/**
* The unique identifier for the index.
*
* @cloudformationAttribute Uuid
*/
get attrUuid(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnIndex {
/**
* Index settings for the OpenSearch Serverless index.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-index-indexsettings.html
*/
interface IndexSettingsProperty {
/**
* Index settings.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-index-indexsettings.html#cfn-opensearchserverless-index-indexsettings-index
*/
readonly index?: CfnIndex.IndexProperty | cdk.IResolvable;
}
/**
* An OpenSearch Serverless index resource.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-index-index.html
*/
interface IndexProperty {
/**
* Enable or disable k-nearest neighbor search capability.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-index-index.html#cfn-opensearchserverless-index-index-knn
*/
readonly knn?: boolean | cdk.IResolvable;
/**
* The size of the dynamic list for the nearest neighbors.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-index-index.html#cfn-opensearchserverless-index-index-knnalgoparamefsearch
*/
readonly knnAlgoParamEfSearch?: number;
/**
* How often to perform a refresh operation.
*
* For example, 1s or 5s.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-index-index.html#cfn-opensearchserverless-index-index-refreshinterval
*/
readonly refreshInterval?: string;
}
/**
* Index mappings for the OpenSearch Serverless index.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-index-mappings.html
*/
interface MappingsProperty {
/**
* Nested fields within an object or nested field type.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchserverless-index-mappings.html#cfn-opensearchserverless-index-mappings-properties
*/
readonly properties?: cdk.IResolvable | Record<string, cdk.IResolvable | CfnIndex.PropertyMappingProperty>;
}
/**
* Property mappings for the OpenSearch Serverless index.
*
* @struct
* @stabilit