UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,101 lines 60.6 kB
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