{ "author": { "name": "Amazon Web Services", "organization": true, "roles": [ "author" ], "url": "https://aws.amazon.com" }, "dependencies": { "@aws-cdk/aws-applicationautoscaling": "1.204.0", "@aws-cdk/aws-cloudwatch": "1.204.0", "@aws-cdk/aws-iam": "1.204.0", "@aws-cdk/aws-kinesis": "1.204.0", "@aws-cdk/aws-kms": "1.204.0", "@aws-cdk/aws-lambda": "1.204.0", "@aws-cdk/core": "1.204.0", "@aws-cdk/custom-resources": "1.204.0", "constructs": "^3.3.69" }, "dependencyClosure": { "@aws-cdk/assets": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.Assets", "packageId": "Amazon.CDK.Assets" }, "java": { "maven": { "artifactId": "cdk-assets", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.assets" }, "js": { "npm": "@aws-cdk/assets" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.assets", "module": "aws_cdk.assets" } } }, "@aws-cdk/aws-applicationautoscaling": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.ApplicationAutoScaling", "packageId": "Amazon.CDK.AWS.ApplicationAutoScaling" }, "java": { "maven": { "artifactId": "applicationautoscaling", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.applicationautoscaling" }, "js": { "npm": "@aws-cdk/aws-applicationautoscaling" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-applicationautoscaling", "module": "aws_cdk.aws_applicationautoscaling" } } }, "@aws-cdk/aws-autoscaling-common": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.AutoScaling.Common", "packageId": "Amazon.CDK.AWS.AutoScaling.Common" }, "java": { "maven": { "artifactId": "autoscaling-common", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.autoscaling.common" }, "js": { "npm": "@aws-cdk/aws-autoscaling-common" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-autoscaling-common", "module": "aws_cdk.aws_autoscaling_common" } } }, "@aws-cdk/aws-cloudformation": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.CloudFormation", "packageId": "Amazon.CDK.AWS.CloudFormation" }, "java": { "maven": { "artifactId": "cloudformation", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.cloudformation" }, "js": { "npm": "@aws-cdk/aws-cloudformation" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-cloudformation", "module": "aws_cdk.aws_cloudformation" } } }, "@aws-cdk/aws-cloudwatch": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.CloudWatch", "packageId": "Amazon.CDK.AWS.CloudWatch" }, "java": { "maven": { "artifactId": "cloudwatch", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.cloudwatch" }, "js": { "npm": "@aws-cdk/aws-cloudwatch" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-cloudwatch", "module": "aws_cdk.aws_cloudwatch" } } }, "@aws-cdk/aws-codeguruprofiler": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.CodeGuruProfiler", "packageId": "Amazon.CDK.AWS.CodeGuruProfiler" }, "java": { "maven": { "artifactId": "codeguruprofiler", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.codeguruprofiler" }, "js": { "npm": "@aws-cdk/aws-codeguruprofiler" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-codeguruprofiler", "module": "aws_cdk.aws_codeguruprofiler" } } }, "@aws-cdk/aws-codestarnotifications": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.CodeStarNotifications", "packageId": "Amazon.CDK.AWS.CodeStarNotifications" }, "java": { "maven": { "artifactId": "codestarnotifications", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.codestarnotifications" }, "js": { "npm": "@aws-cdk/aws-codestarnotifications" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-codestarnotifications", "module": "aws_cdk.aws_codestarnotifications" } } }, "@aws-cdk/aws-ec2": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.EC2", "packageId": "Amazon.CDK.AWS.EC2" }, "java": { "maven": { "artifactId": "ec2", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.ec2" }, "js": { "npm": "@aws-cdk/aws-ec2" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-ec2", "module": "aws_cdk.aws_ec2" } } }, "@aws-cdk/aws-ecr": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.ECR", "packageId": "Amazon.CDK.AWS.ECR" }, "java": { "maven": { "artifactId": "ecr", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.ecr" }, "js": { "npm": "@aws-cdk/aws-ecr" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-ecr", "module": "aws_cdk.aws_ecr" } } }, "@aws-cdk/aws-ecr-assets": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.Ecr.Assets", "packageId": "Amazon.CDK.ECR.Assets" }, "java": { "maven": { "artifactId": "ecr-assets", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.ecr.assets" }, "js": { "npm": "@aws-cdk/aws-ecr-assets" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-ecr-assets", "module": "aws_cdk.aws_ecr_assets" } } }, "@aws-cdk/aws-efs": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.EFS", "packageId": "Amazon.CDK.AWS.EFS" }, "java": { "maven": { "artifactId": "efs", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.efs" }, "js": { "npm": "@aws-cdk/aws-efs" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-efs", "module": "aws_cdk.aws_efs" } } }, "@aws-cdk/aws-events": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.Events", "packageId": "Amazon.CDK.AWS.Events" }, "java": { "maven": { "artifactId": "events", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.events" }, "js": { "npm": "@aws-cdk/aws-events" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-events", "module": "aws_cdk.aws_events" } } }, "@aws-cdk/aws-iam": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.IAM", "packageId": "Amazon.CDK.AWS.IAM" }, "java": { "maven": { "artifactId": "iam", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.iam" }, "js": { "npm": "@aws-cdk/aws-iam" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-iam", "module": "aws_cdk.aws_iam" } } }, "@aws-cdk/aws-kinesis": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.Kinesis", "packageId": "Amazon.CDK.AWS.Kinesis" }, "java": { "maven": { "artifactId": "kinesis", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.kinesis" }, "js": { "npm": "@aws-cdk/aws-kinesis" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-kinesis", "module": "aws_cdk.aws_kinesis" } } }, "@aws-cdk/aws-kms": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.KMS", "packageId": "Amazon.CDK.AWS.KMS" }, "java": { "maven": { "artifactId": "kms", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.kms" }, "js": { "npm": "@aws-cdk/aws-kms" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-kms", "module": "aws_cdk.aws_kms" } } }, "@aws-cdk/aws-lambda": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.Lambda", "packageId": "Amazon.CDK.AWS.Lambda" }, "java": { "maven": { "artifactId": "lambda", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.lambda" }, "js": { "npm": "@aws-cdk/aws-lambda" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-lambda", "module": "aws_cdk.aws_lambda" } } }, "@aws-cdk/aws-logs": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.Logs", "packageId": "Amazon.CDK.AWS.Logs" }, "java": { "maven": { "artifactId": "logs", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.logs" }, "js": { "npm": "@aws-cdk/aws-logs" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-logs", "module": "aws_cdk.aws_logs" } } }, "@aws-cdk/aws-s3": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.S3", "packageId": "Amazon.CDK.AWS.S3" }, "java": { "maven": { "artifactId": "s3", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.s3" }, "js": { "npm": "@aws-cdk/aws-s3" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-s3", "module": "aws_cdk.aws_s3" } } }, "@aws-cdk/aws-s3-assets": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.S3.Assets", "packageId": "Amazon.CDK.AWS.S3.Assets" }, "java": { "maven": { "artifactId": "s3-assets", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.s3.assets" }, "js": { "npm": "@aws-cdk/aws-s3-assets" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-s3-assets", "module": "aws_cdk.aws_s3_assets" } } }, "@aws-cdk/aws-signer": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.Signer", "packageId": "Amazon.CDK.AWS.Signer" }, "java": { "maven": { "artifactId": "signer", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.signer" }, "js": { "npm": "@aws-cdk/aws-signer" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-signer", "module": "aws_cdk.aws_signer" } } }, "@aws-cdk/aws-sns": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.SNS", "packageId": "Amazon.CDK.AWS.SNS" }, "java": { "maven": { "artifactId": "sns", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.sns" }, "js": { "npm": "@aws-cdk/aws-sns" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-sns", "module": "aws_cdk.aws_sns" } } }, "@aws-cdk/aws-sqs": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.SQS", "packageId": "Amazon.CDK.AWS.SQS" }, "java": { "maven": { "artifactId": "sqs", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.sqs" }, "js": { "npm": "@aws-cdk/aws-sqs" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-sqs", "module": "aws_cdk.aws_sqs" } } }, "@aws-cdk/aws-ssm": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.SSM", "packageId": "Amazon.CDK.AWS.SSM" }, "java": { "maven": { "artifactId": "ssm", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.ssm" }, "js": { "npm": "@aws-cdk/aws-ssm" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-ssm", "module": "aws_cdk.aws_ssm" } } }, "@aws-cdk/cloud-assembly-schema": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.CloudAssembly.Schema", "packageId": "Amazon.CDK.CloudAssembly.Schema" }, "java": { "maven": { "artifactId": "cdk-cloud-assembly-schema", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cloudassembly.schema" }, "js": { "npm": "@aws-cdk/cloud-assembly-schema" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.cloud-assembly-schema", "module": "aws_cdk.cloud_assembly_schema" } } }, "@aws-cdk/core": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK", "packageId": "Amazon.CDK" }, "java": { "maven": { "artifactId": "core", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.core" }, "js": { "npm": "@aws-cdk/core" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.core", "module": "aws_cdk.core" } } }, "@aws-cdk/custom-resources": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.CustomResources", "packageId": "Amazon.CDK.AWS.CustomResources" }, "java": { "maven": { "artifactId": "cdk-customresources", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.customresources" }, "js": { "npm": "@aws-cdk/custom-resources" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.custom-resources", "module": "aws_cdk.custom_resources" } } }, "@aws-cdk/cx-api": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.CXAPI", "packageId": "Amazon.CDK.CXAPI" }, "java": { "maven": { "artifactId": "cdk-cx-api", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cxapi" }, "js": { "npm": "@aws-cdk/cx-api" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.cx-api", "module": "aws_cdk.cx_api" } } }, "@aws-cdk/region-info": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.RegionInfo", "packageId": "Amazon.CDK.RegionInfo" }, "java": { "maven": { "artifactId": "cdk-region-info", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.regioninfo" }, "js": { "npm": "@aws-cdk/region-info" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.region-info", "module": "aws_cdk.region_info" } } }, "constructs": { "targets": { "dotnet": { "namespace": "Constructs", "packageId": "Constructs" }, "go": { "moduleName": "github.com/aws/constructs-go" }, "java": { "maven": { "artifactId": "constructs", "groupId": "software.constructs" }, "package": "software.constructs" }, "js": { "npm": "constructs" }, "python": { "distName": "constructs", "module": "constructs" } } } }, "description": "The CDK Construct Library for AWS::DynamoDB", "docs": { "deprecated": "AWS CDK v1 has reached End-of-Support on 2023-06-01.\nThis package is no longer being updated, and users should migrate to AWS CDK v2.\n\nFor more information on how to migrate, see https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html", "stability": "stable" }, "homepage": "https://github.com/aws/aws-cdk", "jsiiVersion": "1.84.0 (build 5404dcf)", "keywords": [ "aws", "cdk", "constructs", "dynamodb" ], "license": "Apache-2.0", "metadata": { "jsii": { "compiledWithDeprecationWarnings": true, "pacmak": { "hasDefaultInterfaces": true }, "rosetta": { "strict": true } } }, "name": "@aws-cdk/aws-dynamodb", "readme": { "markdown": "# Amazon DynamoDB Construct Library\n\n\n---\n\n![End-of-Support](https://img.shields.io/badge/End--of--Support-critical.svg?style=for-the-badge)\n\n> AWS CDK v1 has reached End-of-Support on 2023-06-01.\n> This package is no longer being updated, and users should migrate to AWS CDK v2.\n>\n> For more information on how to migrate, see the [_Migrating to AWS CDK v2_ guide][doc].\n>\n> [doc]: https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html\n\n---\n\n\n\nHere is a minimal deployable DynamoDB table definition:\n\n```ts\nconst table = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n});\n```\n\n## Importing existing tables\n\nTo import an existing table into your CDK application, use the `Table.fromTableName`, `Table.fromTableArn` or `Table.fromTableAttributes`\nfactory method. This method accepts table name or table ARN which describes the properties of an already\nexisting table:\n\n```ts\ndeclare const user: iam.User;\nconst table = dynamodb.Table.fromTableArn(this, 'ImportedTable', 'arn:aws:dynamodb:us-east-1:111111111:table/my-table');\n// now you can just call methods on the table\ntable.grantReadWriteData(user);\n```\n\nIf you intend to use the `tableStreamArn` (including indirectly, for example by creating an\n`@aws-cdk/aws-lambda-event-source.DynamoEventSource` on the imported table), you *must* use the\n`Table.fromTableAttributes` method and the `tableStreamArn` property *must* be populated.\n\n## Keys\n\nWhen a table is defined, you must define it's schema using the `partitionKey`\n(required) and `sortKey` (optional) properties.\n\n## Billing Mode\n\nDynamoDB supports two billing modes:\n\n* PROVISIONED - the default mode where the table and global secondary indexes have configured read and write capacity.\n* PAY_PER_REQUEST - on-demand pricing and scaling. You only pay for what you use and there is no read and write capacity for the table or its global secondary indexes.\n\n```ts\nconst table = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,\n});\n```\n\nFurther reading:\nhttps://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.\n\n## Table Class\n\nDynamoDB supports two table classes:\n\n* STANDARD - the default mode, and is recommended for the vast majority of workloads.\n* STANDARD_INFREQUENT_ACCESS - optimized for tables where storage is the dominant cost.\n\n```ts\nconst table = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n tableClass: dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,\n});\n```\n\nFurther reading:\nhttps://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.TableClasses.html\n\n## Configure AutoScaling for your table\n\nYou can have DynamoDB automatically raise and lower the read and write capacities\nof your table by setting up autoscaling. You can use this to either keep your\ntables at a desired utilization level, or by scaling up and down at pre-configured\ntimes of the day:\n\nAuto-scaling is only relevant for tables with the billing mode, PROVISIONED.\n\n```ts lit=test/integ.autoscaling.lit.ts\nconst readScaling = table.autoScaleReadCapacity({ minCapacity: 1, maxCapacity: 50 });\n\nreadScaling.scaleOnUtilization({\n targetUtilizationPercent: 50,\n});\n\nreadScaling.scaleOnSchedule('ScaleUpInTheMorning', {\n schedule: appscaling.Schedule.cron({ hour: '8', minute: '0' }),\n minCapacity: 20,\n});\n\nreadScaling.scaleOnSchedule('ScaleDownAtNight', {\n schedule: appscaling.Schedule.cron({ hour: '20', minute: '0' }),\n maxCapacity: 20,\n});\n```\n\nFurther reading:\nhttps://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html\nhttps://aws.amazon.com/blogs/database/how-to-use-aws-cloudformation-to-configure-auto-scaling-for-amazon-dynamodb-tables-and-indexes/\n\n## Amazon DynamoDB Global Tables\n\nYou can create DynamoDB Global Tables by setting the `replicationRegions` property on a `Table`:\n\n```ts\nconst globalTable = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n replicationRegions: ['us-east-1', 'us-east-2', 'us-west-2'],\n});\n```\n\nWhen doing so, a CloudFormation Custom Resource will be added to the stack in order to create the replica tables in the\nselected regions.\n\nThe default billing mode for Global Tables is `PAY_PER_REQUEST`.\nIf you want to use `PROVISIONED`,\nyou have to make sure write auto-scaling is enabled for that Table:\n\n```ts\nconst globalTable = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n replicationRegions: ['us-east-1', 'us-east-2', 'us-west-2'],\n billingMode: dynamodb.BillingMode.PROVISIONED,\n});\n\nglobalTable.autoScaleWriteCapacity({\n minCapacity: 1,\n maxCapacity: 10,\n}).scaleOnUtilization({ targetUtilizationPercent: 75 });\n```\n\nWhen adding a replica region for a large table, you might want to increase the\ntimeout for the replication operation:\n\n```ts\nconst globalTable = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n replicationRegions: ['us-east-1', 'us-east-2', 'us-west-2'],\n replicationTimeout: Duration.hours(2), // defaults to Duration.minutes(30)\n});\n```\n\n## Encryption\n\nAll user data stored in Amazon DynamoDB is fully encrypted at rest. When creating a new table, you can choose to encrypt using the following customer master keys (CMK) to encrypt your table:\n\n* AWS owned CMK - By default, all tables are encrypted under an AWS owned customer master key (CMK) in the DynamoDB service account (no additional charges apply).\n* AWS managed CMK - AWS KMS keys (one per region) are created in your account, managed, and used on your behalf by AWS DynamoDB (AWS KMS charges apply).\n* Customer managed CMK - You have full control over the KMS key used to encrypt the DynamoDB Table (AWS KMS charges apply).\n\nCreating a Table encrypted with a customer managed CMK:\n\n```ts\nconst table = new dynamodb.Table(this, 'MyTable', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n encryption: dynamodb.TableEncryption.CUSTOMER_MANAGED,\n});\n\n// You can access the CMK that was added to the stack on your behalf by the Table construct via:\nconst tableEncryptionKey = table.encryptionKey;\n```\n\nYou can also supply your own key:\n\n```ts\nimport * as kms from '@aws-cdk/aws-kms';\n\nconst encryptionKey = new kms.Key(this, 'Key', {\n enableKeyRotation: true,\n});\nconst table = new dynamodb.Table(this, 'MyTable', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n encryption: dynamodb.TableEncryption.CUSTOMER_MANAGED,\n encryptionKey, // This will be exposed as table.encryptionKey\n});\n```\n\nIn order to use the AWS managed CMK instead, change the code to:\n\n```ts\nconst table = new dynamodb.Table(this, 'MyTable', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n encryption: dynamodb.TableEncryption.AWS_MANAGED,\n});\n\n// In this case, the CMK _cannot_ be accessed through table.encryptionKey.\n```\n\n## Get schema of table or secondary indexes\n\nTo get the partition key and sort key of the table or indexes you have configured:\n\n```ts\ndeclare const table: dynamodb.Table;\nconst schema = table.schema();\nconst partitionKey = schema.partitionKey;\nconst sortKey = schema.sortKey;\n\n// In case you want to get schema details for any secondary index\n// const { partitionKey, sortKey } = table.schema(INDEX_NAME);\n```\n\n## Kinesis Stream\n\nA Kinesis Data Stream can be configured on the DynamoDB table to capture item-level changes.\n\n```ts\nimport * as kinesis from '@aws-cdk/aws-kinesis';\n\nconst stream = new kinesis.Stream(this, 'Stream');\n\nconst table = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n kinesisStream: stream,\n});\n```\n" }, "repository": { "directory": "packages/@aws-cdk/aws-dynamodb", "type": "git", "url": "https://github.com/aws/aws-cdk.git" }, "schema": "jsii/0.10.0", "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.DynamoDB", "packageId": "Amazon.CDK.AWS.DynamoDB" }, "java": { "maven": { "artifactId": "dynamodb", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.dynamodb" }, "js": { "npm": "@aws-cdk/aws-dynamodb" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-dynamodb", "module": "aws_cdk.aws_dynamodb" } }, "types": { "@aws-cdk/aws-dynamodb.Attribute": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Represents an attribute for describing the key schema for the table and indexes.", "example": "const globalTable = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n replicationRegions: ['us-east-1', 'us-east-2', 'us-west-2'],\n billingMode: dynamodb.BillingMode.PROVISIONED,\n});\n\nglobalTable.autoScaleWriteCapacity({\n minCapacity: 1,\n maxCapacity: 10,\n}).scaleOnUtilization({ targetUtilizationPercent: 75 });", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.Attribute", "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 96 }, "name": "Attribute", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The name of an attribute." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 100 }, "name": "name", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The data type of an attribute." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 105 }, "name": "type", "type": { "fqn": "@aws-cdk/aws-dynamodb.AttributeType" } } ], "symbolId": "lib/table:Attribute" }, "@aws-cdk/aws-dynamodb.AttributeType": { "assembly": "@aws-cdk/aws-dynamodb", "docs": { "see": "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes", "stability": "stable", "summary": "Data types for attributes within a table.", "example": "const globalTable = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n replicationRegions: ['us-east-1', 'us-east-2', 'us-west-2'],\n billingMode: dynamodb.BillingMode.PROVISIONED,\n});\n\nglobalTable.autoScaleWriteCapacity({\n minCapacity: 1,\n maxCapacity: 10,\n}).scaleOnUtilization({ targetUtilizationPercent: 75 });", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.AttributeType", "kind": "enum", "locationInModule": { "filename": "lib/table.ts", "line": 1732 }, "members": [ { "docs": { "stability": "stable", "summary": "Up to 400KiB of binary data (which must be encoded as base64 before sending to DynamoDB)." }, "name": "BINARY" }, { "docs": { "stability": "stable", "summary": "Numeric values made of up to 38 digits (positive, negative or zero)." }, "name": "NUMBER" }, { "docs": { "stability": "stable", "summary": "Up to 400KiB of UTF-8 encoded text." }, "name": "STRING" } ], "name": "AttributeType", "symbolId": "lib/table:AttributeType" }, "@aws-cdk/aws-dynamodb.BillingMode": { "assembly": "@aws-cdk/aws-dynamodb", "docs": { "stability": "stable", "summary": "DynamoDB's Read/Write capacity modes.", "example": "const table = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.BillingMode", "kind": "enum", "locationInModule": { "filename": "lib/table.ts", "line": 1744 }, "members": [ { "docs": { "remarks": "You don't configure Read/Write capacity units.", "stability": "stable", "summary": "Pay only for what you use." }, "name": "PAY_PER_REQUEST" }, { "docs": { "stability": "stable", "summary": "Explicitly specified Read/Write capacity units." }, "name": "PROVISIONED" } ], "name": "BillingMode", "symbolId": "lib/table:BillingMode" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable": { "assembly": "@aws-cdk/aws-dynamodb", "base": "@aws-cdk/core.CfnResource", "docs": { "custom": { "cloudformationResource": "AWS::DynamoDB::GlobalTable", "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The `AWS::DynamoDB::GlobalTable` resource enables you to create and manage a Version 2019.11.21 global table. This resource cannot be used to create or manage a Version 2017.11.29 global table. For more information, see [Global tables](https://docs.aws.amazon.com//amazondynamodb/latest/developerguide/GlobalTables.html) .\n\n> You cannot convert a resource of type `AWS::DynamoDB::Table` into a resource of type `AWS::DynamoDB::GlobalTable` by changing its type in your template. *Doing so might result in the deletion of your DynamoDB table.*\n>\n> You can instead use the GlobalTable resource to create a new table in a single Region. This will be billed the same as a single Region table. If you later update the stack to add other Regions then Global Tables pricing will apply.\n\nYou should be aware of the following behaviors when working with DynamoDB global tables.\n\n- The IAM Principal executing the stack operation must have the permissions listed below in all regions where you plan to have a global table replica. The IAM Principal's permissions should not have restrictions based on IP source address. Some global tables operations (for example, adding a replica) are asynchronous, and require that the IAM Principal is valid until they complete. You should not delete the Principal (user or IAM role) until CloudFormation has finished updating your stack.\n\n- `dynamodb:CreateTable`\n- `dynamodb:UpdateTable`\n- `dynamodb:DeleteTable`\n- `dynamodb:DescribeContinuousBackups`\n- `dynamodb:DescribeContributorInsights`\n- `dynamodb:DescribeTable`\n- `dynamodb:DescribeTableReplicaAutoScaling`\n- `dynamodb:DescribeTimeToLive`\n- `dynamodb:ListTables`\n- `dynamodb:UpdateTimeToLive`\n- `dynamodb:UpdateContributorInsights`\n- `dynamodb:UpdateContinuousBackups`\n- `dynamodb:ListTagsOfResource`\n- `dynamodb:TableClass`\n- `dynamodb:TagResource`\n- `dynamodb:UntagResource`\n- `dynamodb:BatchWriteItem`\n- `dynamodb:CreateTableReplica`\n- `dynamodb:DeleteItem`\n- `dynamodb:DeleteTableReplica`\n- `dynamodb:DisableKinesisStreamingDestination`\n- `dynamodb:EnableKinesisStreamingDestination`\n- `dynamodb:GetItem`\n- `dynamodb:PutItem`\n- `dynamodb:Query`\n- `dynamodb:Scan`\n- `dynamodb:UpdateItem`\n- `dynamodb:DescribeTableReplicaAutoScaling`\n- `dynamodb:UpdateTableReplicaAutoScaling`\n- `iam:CreateServiceLinkedRole`\n- `kms:CreateGrant`\n- `kms:DescribeKey`\n- `application-autoscaling:DeleteScalingPolicy`\n- `application-autoscaling:DeleteScheduledAction`\n- `application-autoscaling:DeregisterScalableTarget`\n- `application-autoscaling:DescribeScalingPolicies`\n- `application-autoscaling:DescribeScalableTargets`\n- `application-autoscaling:PutScalingPolicy`\n- `application-autoscaling:PutScheduledAction`\n- `application-autoscaling:RegisterScalableTarget`\n- When using provisioned billing mode, CloudFormation will create an auto scaling policy on each of your replicas to control their write capacities. You must configure this policy using the `WriteProvisionedThroughputSettings` property. CloudFormation will ensure that all replicas have the same write capacity auto scaling property. You cannot directly specify a value for write capacity for a global table.\n- If your table uses provisioned capacity, you must configure auto scaling directly in the `AWS::DynamoDB::GlobalTable` resource. You should not configure additional auto scaling policies on any of the table replicas or global secondary indexes, either via API or via `AWS::ApplicationAutoScaling::ScalableTarget` or `AWS::ApplicationAutoScaling::ScalingPolicy` . Doing so might result in unexpected behavior and is unsupported.\n- In AWS CloudFormation , each global table is controlled by a single stack, in a single region, regardless of the number of replicas. When you deploy your template, CloudFormation will create/update all replicas as part of a single stack operation. You should not deploy the same `AWS::DynamoDB::GlobalTable` resource in multiple regions. Doing so will result in errors, and is unsupported. If you deploy your application template in multiple regions, you can use conditions to only create the resource in a single region. Alternatively, you can choose to define your `AWS::DynamoDB::GlobalTable` resources in a stack separate from your application stack, and make sure it is only deployed to a single region.", "stability": "external", "summary": "A CloudFormation `AWS::DynamoDB::GlobalTable`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst cfnGlobalTable = new dynamodb.CfnGlobalTable(this, 'MyCfnGlobalTable', {\n attributeDefinitions: [{\n attributeName: 'attributeName',\n attributeType: 'attributeType',\n }],\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n replicas: [{\n region: 'region',\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n deletionProtectionEnabled: false,\n globalSecondaryIndexes: [{\n indexName: 'indexName',\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n readProvisionedThroughputSettings: {\n readCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n readCapacityUnits: 123,\n },\n }],\n kinesisStreamSpecification: {\n streamArn: 'streamArn',\n },\n pointInTimeRecoverySpecification: {\n pointInTimeRecoveryEnabled: false,\n },\n readProvisionedThroughputSettings: {\n readCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n readCapacityUnits: 123,\n },\n sseSpecification: {\n kmsMasterKeyId: 'kmsMasterKeyId',\n },\n tableClass: 'tableClass',\n tags: [{\n key: 'key',\n value: 'value',\n }],\n }],\n\n // the properties below are optional\n billingMode: 'billingMode',\n globalSecondaryIndexes: [{\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n\n // the properties below are optional\n writeProvisionedThroughputSettings: {\n writeCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n },\n }],\n localSecondaryIndexes: [{\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n }],\n sseSpecification: {\n sseEnabled: false,\n\n // the properties below are optional\n sseType: 'sseType',\n },\n streamSpecification: {\n streamViewType: 'streamViewType',\n },\n tableName: 'tableName',\n timeToLiveSpecification: {\n enabled: false,\n\n // the properties below are optional\n attributeName: 'attributeName',\n },\n writeProvisionedThroughputSettings: {\n writeCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n },\n});" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable", "initializer": { "docs": { "stability": "external", "summary": "Create a new `AWS::DynamoDB::GlobalTable`." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 398 }, "parameters": [ { "docs": { "summary": "- scope in which this resource is defined." }, "name": "scope", "type": { "fqn": "@aws-cdk/core.Construct" } }, { "docs": { "summary": "- scoped id of the resource." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "- resource properties." }, "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTableProps" } } ] }, "interfaces": [ "@aws-cdk/core.IInspectable" ], "kind": "class", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 254 }, "methods": [ { "docs": { "stability": "external", "summary": "Examines the CloudFormation resource and discloses attributes." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 431 }, "name": "inspect", "overrides": "@aws-cdk/core.IInspectable", "parameters": [ { "docs": { "summary": "- tree inspector to collect and process attributes." }, "name": "inspector", "type": { "fqn": "@aws-cdk/core.TreeInspector" } } ] }, { "docs": { "stability": "external" }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 452 }, "name": "renderProperties", "overrides": "@aws-cdk/core.CfnResource", "parameters": [ { "name": "props", "type": { "collection": { "elementtype": { "primitive": "any" }, "kind": "map" } } } ], "protected": true, "returns": { "type": { "collection": { "elementtype": { "primitive": "any" }, "kind": "map" } } } } ], "name": "CfnGlobalTable", "properties": [ { "const": true, "docs": { "stability": "external", "summary": "The CloudFormation resource type name for this resource class." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 258 }, "name": "CFN_RESOURCE_TYPE_NAME", "static": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "Arn" }, "remarks": "The ARN returned is that of the replica in the region the stack is deployed to.", "stability": "external", "summary": "The Amazon Resource Name (ARN) of the DynamoDB table, such as `arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable` ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 283 }, "name": "attrArn", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "StreamArn" }, "remarks": "> You must specify the `StreamSpecification` property to use this attribute.", "stability": "external", "summary": "The ARN of the DynamoDB stream, such as `arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000` . The `StreamArn` returned is that of the replica in the region the stack is deployed to." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 291 }, "name": "attrStreamArn", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "TableId" }, "remarks": "The `TableId` returned is that of the replica in the region the stack is deployed to.", "stability": "external", "summary": "Unique identifier for the table, such as `a123b456-01ab-23cd-123a-111222aaabbb` ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 297 }, "name": "attrTableId", "type": { "primitive": "string" } }, { "docs": { "stability": "external" }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 436 }, "name": "cfnProperties", "overrides": "@aws-cdk/core.CfnResource", "protected": true, "type": { "collection": { "elementtype": { "primitive": "any" }, "kind": "map" } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-attributedefinitions" }, "stability": "external", "summary": "A list of attributes that describe the key schema for the global table and indexes." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 304 }, "name": "attributeDefinitions", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.AttributeDefinitionProperty" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-keyschema" }, "remarks": "The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", "stability": "external", "summary": "Specifies the attributes that make up the primary key for the table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 311 }, "name": "keySchema", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.KeySchemaProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-replicas" }, "remarks": "The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in `Replicas` with the region us-east-1. You cannot remove the replica in the stack region.\n\n> Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an `UpdateStack` operation containing only that change.\n>\n> If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica.\n\nYou can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update.", "stability": "external", "summary": "Specifies the list of replicas for your global table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 324 }, "name": "replicas", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaSpecificationProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-billingmode" }, "remarks": "- `PAY_PER_REQUEST`\n- `PROVISIONED`\n\nAll replicas in your global table will have the same billing mode. If you use `PROVISIONED` billing mode, you must provide an auto scaling configuration via the `WriteProvisionedThroughputSettings` property. The default value of this property is `PROVISIONED` .", "stability": "external", "summary": "Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 336 }, "name": "billingMode", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-globalsecondaryindexes" }, "remarks": "You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation.\n\nSince the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.", "stability": "external", "summary": "Global secondary indexes to be created on the global table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 345 }, "name": "globalSecondaryIndexes", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.GlobalSecondaryIndexProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-localsecondaryindexes" }, "remarks": "You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.", "stability": "external", "summary": "Local secondary indexes to be created on the table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 352 }, "name": "localSecondaryIndexes", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.LocalSecondaryIndexProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-ssespecification" }, "remarks": "These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the `ReplicaSpecification.ReplicaSSESpecification` property.", "stability": "external", "summary": "Specifies the settings to enable server-side encryption." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 359 }, "name": "sseSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.SSESpecificationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-streamspecification" }, "remarks": "You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.", "stability": "external", "summary": "Specifies the streams settings on your global table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 366 }, "name": "streamSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.StreamSpecificationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-tablename" }, "remarks": "If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "stability": "external", "summary": "A name for the global table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 375 }, "name": "tableName", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-timetolivespecification" }, "remarks": "This setting will be applied to all replicas.", "stability": "external", "summary": "Specifies the time to live (TTL) settings for the table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 382 }, "name": "timeToLiveSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.TimeToLiveSpecificationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-writeprovisionedthroughputsettings" }, "remarks": "This policy will be applied to all replicas. This setting must be specified if `BillingMode` is set to `PROVISIONED` .", "stability": "external", "summary": "Specifies an auto scaling policy for write capacity." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 389 }, "name": "writeProvisionedThroughputSettings", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.WriteProvisionedThroughputSettingsProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.AttributeDefinitionProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-attributedefinition.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Represents an attribute for describing the key schema for the table and indexes.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst attributeDefinitionProperty: dynamodb.CfnGlobalTable.AttributeDefinitionProperty = {\n attributeName: 'attributeName',\n attributeType: 'attributeType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.AttributeDefinitionProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 466 }, "name": "AttributeDefinitionProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-attributedefinition.html#cfn-dynamodb-globaltable-attributedefinition-attributename" }, "stability": "external", "summary": "A name for the attribute." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 472 }, "name": "attributeName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-attributedefinition.html#cfn-dynamodb-globaltable-attributedefinition-attributetype" }, "remarks": "- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", "stability": "external", "summary": "The data type for the attribute, where:." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 482 }, "name": "attributeType", "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.AttributeDefinitionProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.CapacityAutoScalingSettingsProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Configures a scalable target and an autoscaling policy for a table or global secondary index's read or write capacity.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst capacityAutoScalingSettingsProperty: dynamodb.CfnGlobalTable.CapacityAutoScalingSettingsProperty = {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.CapacityAutoScalingSettingsProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 548 }, "name": "CapacityAutoScalingSettingsProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html#cfn-dynamodb-globaltable-capacityautoscalingsettings-maxcapacity" }, "stability": "external", "summary": "The maximum provisioned capacity units for the global table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 554 }, "name": "maxCapacity", "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html#cfn-dynamodb-globaltable-capacityautoscalingsettings-mincapacity" }, "stability": "external", "summary": "The minimum provisioned capacity units for the global table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 560 }, "name": "minCapacity", "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html#cfn-dynamodb-globaltable-capacityautoscalingsettings-targettrackingscalingpolicyconfiguration" }, "stability": "external", "summary": "Defines a target tracking scaling policy." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 576 }, "name": "targetTrackingScalingPolicyConfiguration", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.TargetTrackingScalingPolicyConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-capacityautoscalingsettings.html#cfn-dynamodb-globaltable-capacityautoscalingsettings-seedcapacity" }, "remarks": "These values will be applied to all replicas. The table will use these provisioned values until CloudFormation creates the autoscaling policies you configured in your template. CloudFormation cannot determine what capacity the table and its global secondary indexes will require in this time period, since they are application-dependent.\n\nIf you want to switch a table's billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , you must specify a value for this property for each autoscaled resource. If you specify different values for the same resource in different regions, CloudFormation will use the highest value found in either the `SeedCapacity` or `ReadCapacityUnits` properties. For example, if your global secondary index `myGSI` has a `SeedCapacity` of 10 in us-east-1 and a fixed `ReadCapacityUnits` of 20 in eu-west-1, CloudFormation will initially set the read capacity for `myGSI` to 20. Note that if you disable `ScaleIn` for `myGSI` in us-east-1, its read capacity units might not be set back to 10.\n\nYou must also specify a value for `SeedCapacity` when you plan to switch a table's billing mode from `PROVISIONED` to `PAY_PER_REQUEST` , because CloudFormation might need to roll back the operation (reverting the billing mode to `PROVISIONED` ) and this cannot succeed without specifying a value for `SeedCapacity` .", "stability": "external", "summary": "When switching billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , DynamoDB requires you to specify read and write capacity unit values for the table and for each global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 570 }, "name": "seedCapacity", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.CapacityAutoScalingSettingsProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.ContributorInsightsSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-contributorinsightsspecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Configures contributor insights settings for a replica or one of its indexes.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst contributorInsightsSpecificationProperty: dynamodb.CfnGlobalTable.ContributorInsightsSpecificationProperty = {\n enabled: false,\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ContributorInsightsSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 649 }, "name": "ContributorInsightsSpecificationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-contributorinsightsspecification.html#cfn-dynamodb-globaltable-contributorinsightsspecification-enabled" }, "stability": "external", "summary": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false)." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 655 }, "name": "enabled", "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.ContributorInsightsSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.GlobalSecondaryIndexProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The index will be defined on all replicas.", "stability": "external", "summary": "Allows you to specify a global secondary index for the global table.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst globalSecondaryIndexProperty: dynamodb.CfnGlobalTable.GlobalSecondaryIndexProperty = {\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n\n // the properties below are optional\n writeProvisionedThroughputSettings: {\n writeCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.GlobalSecondaryIndexProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 717 }, "name": "GlobalSecondaryIndexProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html#cfn-dynamodb-globaltable-globalsecondaryindex-indexname" }, "remarks": "The name must be unique among all other indexes on this table.", "stability": "external", "summary": "The name of the global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 723 }, "name": "indexName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html#cfn-dynamodb-globaltable-globalsecondaryindex-keyschema" }, "remarks": "The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n>\n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", "stability": "external", "summary": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - `HASH` - partition key - `RANGE` - sort key > The partition key of an item is also known as its *hash attribute* ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 736 }, "name": "keySchema", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.KeySchemaProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html#cfn-dynamodb-globaltable-globalsecondaryindex-projection" }, "remarks": "These are in addition to the primary key attributes and index key attributes, which are automatically projected.", "stability": "external", "summary": "Represents attributes that are copied (projected) from the table into the global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 742 }, "name": "projection", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ProjectionProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html#cfn-dynamodb-globaltable-globalsecondaryindex-writeprovisionedthroughputsettings" }, "remarks": "You must specify a value for this property if the table's `BillingMode` is `PROVISIONED` . All replicas will have the same write capacity settings for this global secondary index.", "stability": "external", "summary": "Defines write capacity settings for the global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 748 }, "name": "writeProvisionedThroughputSettings", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.WriteProvisionedThroughputSettingsProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.GlobalSecondaryIndexProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.KeySchemaProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-keyschema.html", "exampleMetadata": "fixture=_generated" }, "remarks": "A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.\n\nA `KeySchemaElement` represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one `KeySchemaElement` (for the partition key). A composite primary key would require one `KeySchemaElement` for the partition key, and another `KeySchemaElement` for the sort key.\n\nA `KeySchemaElement` must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.", "stability": "external", "summary": "Represents *a single element* of a key schema.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst keySchemaProperty: dynamodb.CfnGlobalTable.KeySchemaProperty = {\n attributeName: 'attributeName',\n keyType: 'keyType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.KeySchemaProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 825 }, "name": "KeySchemaProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-keyschema.html#cfn-dynamodb-globaltable-keyschema-attributename" }, "stability": "external", "summary": "The name of a key attribute." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 831 }, "name": "attributeName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-keyschema.html#cfn-dynamodb-globaltable-keyschema-keytype" }, "remarks": "- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n>\n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", "stability": "external", "summary": "The role that this key attribute will assume:." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 844 }, "name": "keyType", "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.KeySchemaProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.KinesisStreamSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-kinesisstreamspecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "The Kinesis Data Streams configuration for the specified global table replica.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst kinesisStreamSpecificationProperty: dynamodb.CfnGlobalTable.KinesisStreamSpecificationProperty = {\n streamArn: 'streamArn',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.KinesisStreamSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 910 }, "name": "KinesisStreamSpecificationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-kinesisstreamspecification.html#cfn-dynamodb-globaltable-kinesisstreamspecification-streamarn" }, "stability": "external", "summary": "The ARN for a specific Kinesis data stream." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 916 }, "name": "streamArn", "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.KinesisStreamSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.LocalSecondaryIndexProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-localsecondaryindex.html", "exampleMetadata": "fixture=_generated" }, "remarks": "A local secondary index can only be created when its parent table is created.", "stability": "external", "summary": "Represents the properties of a local secondary index.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst localSecondaryIndexProperty: dynamodb.CfnGlobalTable.LocalSecondaryIndexProperty = {\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.LocalSecondaryIndexProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 978 }, "name": "LocalSecondaryIndexProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-localsecondaryindex.html#cfn-dynamodb-globaltable-localsecondaryindex-indexname" }, "remarks": "The name must be unique among all other indexes on this table.", "stability": "external", "summary": "The name of the local secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 984 }, "name": "indexName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-localsecondaryindex.html#cfn-dynamodb-globaltable-localsecondaryindex-keyschema" }, "remarks": "The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n>\n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", "stability": "external", "summary": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: - `HASH` - partition key - `RANGE` - sort key > The partition key of an item is also known as its *hash attribute* ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 997 }, "name": "keySchema", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.KeySchemaProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-localsecondaryindex.html#cfn-dynamodb-globaltable-localsecondaryindex-projection" }, "remarks": "These are in addition to the primary key attributes and index key attributes, which are automatically projected.", "stability": "external", "summary": "Represents attributes that are copied (projected) from the table into the local secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1003 }, "name": "projection", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ProjectionProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.LocalSecondaryIndexProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.PointInTimeRecoverySpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-pointintimerecoveryspecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Represents the settings used to enable point in time recovery.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst pointInTimeRecoverySpecificationProperty: dynamodb.CfnGlobalTable.PointInTimeRecoverySpecificationProperty = {\n pointInTimeRecoveryEnabled: false,\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.PointInTimeRecoverySpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1073 }, "name": "PointInTimeRecoverySpecificationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-pointintimerecoveryspecification.html#cfn-dynamodb-globaltable-pointintimerecoveryspecification-pointintimerecoveryenabled" }, "stability": "external", "summary": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1079 }, "name": "pointInTimeRecoveryEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.PointInTimeRecoverySpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.ProjectionProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-projection.html", "exampleMetadata": "fixture=_generated" }, "remarks": "These are in addition to the primary key attributes and index key attributes, which are automatically projected.", "stability": "external", "summary": "Represents attributes that are copied (projected) from the table into an index.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst projectionProperty: dynamodb.CfnGlobalTable.ProjectionProperty = {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ProjectionProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1140 }, "name": "ProjectionProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-projection.html#cfn-dynamodb-globaltable-projection-nonkeyattributes" }, "remarks": "For local secondary indexes, the total count of `NonKeyAttributes` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.", "stability": "external", "summary": "Represents the non-key attribute names which will be projected into the index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1148 }, "name": "nonKeyAttributes", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-projection.html#cfn-dynamodb-globaltable-projection-projectiontype" }, "remarks": "- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.", "stability": "external", "summary": "The set of attributes that are projected into the index:." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1158 }, "name": "projectionType", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.ProjectionProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReadProvisionedThroughputSettingsProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-readprovisionedthroughputsettings.html", "exampleMetadata": "fixture=_generated" }, "remarks": "You must specify a value for either `ReadCapacityUnits` or `ReadCapacityAutoScalingSettings` , but not both. You can switch between fixed capacity and auto scaling.", "stability": "external", "summary": "Allows you to specify the read capacity settings for a replica table or a replica global secondary index when the `BillingMode` is set to `PROVISIONED` .", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst readProvisionedThroughputSettingsProperty: dynamodb.CfnGlobalTable.ReadProvisionedThroughputSettingsProperty = {\n readCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n readCapacityUnits: 123,\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReadProvisionedThroughputSettingsProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1222 }, "name": "ReadProvisionedThroughputSettingsProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-readprovisionedthroughputsettings.html#cfn-dynamodb-globaltable-readprovisionedthroughputsettings-readcapacityautoscalingsettings" }, "stability": "external", "summary": "Specifies auto scaling settings for the replica table or global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1228 }, "name": "readCapacityAutoScalingSettings", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.CapacityAutoScalingSettingsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-readprovisionedthroughputsettings.html#cfn-dynamodb-globaltable-readprovisionedthroughputsettings-readcapacityunits" }, "stability": "external", "summary": "Specifies a fixed read capacity for the replica table or global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1234 }, "name": "readCapacityUnits", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.ReadProvisionedThroughputSettingsProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaGlobalSecondaryIndexSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Represents the properties of a global secondary index that can be set on a per-replica basis.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst replicaGlobalSecondaryIndexSpecificationProperty: dynamodb.CfnGlobalTable.ReplicaGlobalSecondaryIndexSpecificationProperty = {\n indexName: 'indexName',\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n readProvisionedThroughputSettings: {\n readCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n readCapacityUnits: 123,\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaGlobalSecondaryIndexSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1298 }, "name": "ReplicaGlobalSecondaryIndexSpecificationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html#cfn-dynamodb-globaltable-replicaglobalsecondaryindexspecification-indexname" }, "remarks": "The name must be unique among all other indexes on this table.", "stability": "external", "summary": "The name of the global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1310 }, "name": "indexName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html#cfn-dynamodb-globaltable-replicaglobalsecondaryindexspecification-contributorinsightsspecification" }, "remarks": "CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of AWS Key Management Service (KMS) to encrypt this table’s partition key and sort key data with an AWS managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.", "stability": "external", "summary": "Updates the status for contributor insights for a specific table or index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1304 }, "name": "contributorInsightsSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ContributorInsightsSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html#cfn-dynamodb-globaltable-replicaglobalsecondaryindexspecification-readprovisionedthroughputsettings" }, "stability": "external", "summary": "Allows you to specify the read capacity settings for a replica global secondary index when the `BillingMode` is set to `PROVISIONED` ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1316 }, "name": "readProvisionedThroughputSettings", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReadProvisionedThroughputSettingsProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.ReplicaGlobalSecondaryIndexSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicassespecification.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The key can be specified via ARN, key ID, or alias. The key must be created in the same region as the replica.", "stability": "external", "summary": "Allows you to specify a KMS key identifier to be used for server-side encryption.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst replicaSSESpecificationProperty: dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty = {\n kmsMasterKeyId: 'kmsMasterKeyId',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1384 }, "name": "ReplicaSSESpecificationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicassespecification.html#cfn-dynamodb-globaltable-replicassespecification-kmsmasterkeyid" }, "remarks": "To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", "stability": "external", "summary": "The AWS KMS key that should be used for the AWS KMS encryption." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1390 }, "name": "kmsMasterKeyId", "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.ReplicaSSESpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Defines settings specific to a single replica of a global table.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst replicaSpecificationProperty: dynamodb.CfnGlobalTable.ReplicaSpecificationProperty = {\n region: 'region',\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n deletionProtectionEnabled: false,\n globalSecondaryIndexes: [{\n indexName: 'indexName',\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n readProvisionedThroughputSettings: {\n readCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n readCapacityUnits: 123,\n },\n }],\n kinesisStreamSpecification: {\n streamArn: 'streamArn',\n },\n pointInTimeRecoverySpecification: {\n pointInTimeRecoveryEnabled: false,\n },\n readProvisionedThroughputSettings: {\n readCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n readCapacityUnits: 123,\n },\n sseSpecification: {\n kmsMasterKeyId: 'kmsMasterKeyId',\n },\n tableClass: 'tableClass',\n tags: [{\n key: 'key',\n value: 'value',\n }],\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1452 }, "name": "ReplicaSpecificationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-region" }, "stability": "external", "summary": "The region in which this replica exists." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1494 }, "name": "region", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-contributorinsightsspecification" }, "remarks": "When not specified, defaults to contributor insights disabled for the replica.", "stability": "external", "summary": "The settings used to enable or disable CloudWatch Contributor Insights for the specified replica." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1458 }, "name": "contributorInsightsSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ContributorInsightsSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-deletionprotectionenabled" }, "remarks": "When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", "stability": "external", "summary": "Determines if a replica is protected from deletion." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1464 }, "name": "deletionProtectionEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-globalsecondaryindexes" }, "stability": "external", "summary": "Defines additional settings for the global secondary indexes of this replica." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1470 }, "name": "globalSecondaryIndexes", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaGlobalSecondaryIndexSpecificationProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-kinesisstreamspecification" }, "stability": "external", "summary": "Defines the Kinesis Data Streams configuration for the specified replica." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1476 }, "name": "kinesisStreamSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.KinesisStreamSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-pointintimerecoveryspecification" }, "remarks": "When not specified, defaults to point in time recovery disabled for the replica.", "stability": "external", "summary": "The settings used to enable point in time recovery." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1482 }, "name": "pointInTimeRecoverySpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.PointInTimeRecoverySpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-readprovisionedthroughputsettings" }, "stability": "external", "summary": "Defines read capacity settings for the replica table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1488 }, "name": "readProvisionedThroughputSettings", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReadProvisionedThroughputSettingsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-ssespecification" }, "remarks": "When using customer-managed keys for server-side encryption, this property must have a value in all replicas.", "stability": "external", "summary": "Allows you to specify a customer-managed key for the replica." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1500 }, "name": "sseSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-tableclass" }, "remarks": "Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", "stability": "external", "summary": "The table class of the specified table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1506 }, "name": "tableClass", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-tags" }, "remarks": "For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "stability": "external", "summary": "An array of key-value pairs to apply to this replica." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1514 }, "name": "tags", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/core.CfnTag" }, "kind": "array" } } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.ReplicaSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.SSESpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-ssespecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Represents the settings used to enable server-side encryption.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst sSESpecificationProperty: dynamodb.CfnGlobalTable.SSESpecificationProperty = {\n sseEnabled: false,\n\n // the properties below are optional\n sseType: 'sseType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.SSESpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1603 }, "name": "SSESpecificationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-ssespecification.html#cfn-dynamodb-globaltable-ssespecification-sseenabled" }, "remarks": "If enabled (true), server-side encryption type is set to KMS and an AWS managed key is used ( AWS KMS charges apply). If disabled (false) or not specified,server-side encryption is set to an AWS owned key. If you choose to use KMS encryption, you can also use customer managed KMS keys by specifying them in the `ReplicaSpecification.SSESpecification` object. You cannot mix AWS managed and customer managed KMS keys.", "stability": "external", "summary": "Indicates whether server-side encryption is performed using an AWS managed key or an AWS owned key." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1609 }, "name": "sseEnabled", "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-ssespecification.html#cfn-dynamodb-globaltable-ssespecification-ssetype" }, "remarks": "- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS KMS ( AWS KMS charges apply).", "stability": "external", "summary": "Server-side encryption type. The only supported value is:." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1617 }, "name": "sseType", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.SSESpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.StreamSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-streamspecification.html", "exampleMetadata": "fixture=_generated" }, "remarks": "You can only modify this value if your `AWS::DynamoDB::GlobalTable` contains only one entry in `Replicas` . You must specify a value for this property if your `AWS::DynamoDB::GlobalTable` contains more than one replica.", "stability": "external", "summary": "Represents the DynamoDB Streams configuration for a table in DynamoDB.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst streamSpecificationProperty: dynamodb.CfnGlobalTable.StreamSpecificationProperty = {\n streamViewType: 'streamViewType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.StreamSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1684 }, "name": "StreamSpecificationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-streamspecification.html#cfn-dynamodb-globaltable-streamspecification-streamviewtype" }, "remarks": "Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", "stability": "external", "summary": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1695 }, "name": "streamViewType", "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.StreamSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.TargetTrackingScalingPolicyConfigurationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Defines a target tracking scaling policy.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst targetTrackingScalingPolicyConfigurationProperty: dynamodb.CfnGlobalTable.TargetTrackingScalingPolicyConfigurationProperty = {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.TargetTrackingScalingPolicyConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1757 }, "name": "TargetTrackingScalingPolicyConfigurationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html#cfn-dynamodb-globaltable-targettrackingscalingpolicyconfiguration-targetvalue" }, "stability": "external", "summary": "Defines a target value for the scaling policy." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1781 }, "name": "targetValue", "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html#cfn-dynamodb-globaltable-targettrackingscalingpolicyconfiguration-disablescalein" }, "remarks": "The default value is `false` .", "stability": "external", "summary": "Indicates whether scale in by the target tracking scaling policy is disabled." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1763 }, "name": "disableScaleIn", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html#cfn-dynamodb-globaltable-targettrackingscalingpolicyconfiguration-scaleincooldown" }, "stability": "external", "summary": "The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1769 }, "name": "scaleInCooldown", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-targettrackingscalingpolicyconfiguration.html#cfn-dynamodb-globaltable-targettrackingscalingpolicyconfiguration-scaleoutcooldown" }, "stability": "external", "summary": "The amount of time, in seconds, after a scale-out activity completes before another scale-out activity can start." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1775 }, "name": "scaleOutCooldown", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.TargetTrackingScalingPolicyConfigurationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.TimeToLiveSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-timetolivespecification.html", "exampleMetadata": "fixture=_generated" }, "remarks": "All replicas will have the same time to live configuration.", "stability": "external", "summary": "Represents the settings used to enable or disable Time to Live (TTL) for the specified table.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst timeToLiveSpecificationProperty: dynamodb.CfnGlobalTable.TimeToLiveSpecificationProperty = {\n enabled: false,\n\n // the properties below are optional\n attributeName: 'attributeName',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.TimeToLiveSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1852 }, "name": "TimeToLiveSpecificationProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-timetolivespecification.html#cfn-dynamodb-globaltable-timetolivespecification-enabled" }, "stability": "external", "summary": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1866 }, "name": "enabled", "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-timetolivespecification.html#cfn-dynamodb-globaltable-timetolivespecification-attributename" }, "remarks": "Currently, you cannot directly change the attribute name used to evaluate time to live. In order to do so, you must first disable time to live, and then re-enable it with the new attribute name. It can take up to one hour for changes to time to live to take effect. If you attempt to modify time to live within that time window, your stack operation might be delayed.", "stability": "external", "summary": "The name of the attribute used to store the expiration time for items in the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1860 }, "name": "attributeName", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.TimeToLiveSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTable.WriteProvisionedThroughputSettingsProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-writeprovisionedthroughputsettings.html", "exampleMetadata": "fixture=_generated" }, "remarks": "This policy will be applied to all replicas. This setting must be specified if `BillingMode` is set to `PROVISIONED` .", "stability": "external", "summary": "Specifies an auto scaling policy for write capacity.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst writeProvisionedThroughputSettingsProperty: dynamodb.CfnGlobalTable.WriteProvisionedThroughputSettingsProperty = {\n writeCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.WriteProvisionedThroughputSettingsProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1931 }, "name": "WriteProvisionedThroughputSettingsProperty", "namespace": "CfnGlobalTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-writeprovisionedthroughputsettings.html#cfn-dynamodb-globaltable-writeprovisionedthroughputsettings-writecapacityautoscalingsettings" }, "stability": "external", "summary": "Specifies auto scaling settings for the replica table or global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1937 }, "name": "writeCapacityAutoScalingSettings", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.CapacityAutoScalingSettingsProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTable.WriteProvisionedThroughputSettingsProperty" }, "@aws-cdk/aws-dynamodb.CfnGlobalTableProps": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Properties for defining a `CfnGlobalTable`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst cfnGlobalTableProps: dynamodb.CfnGlobalTableProps = {\n attributeDefinitions: [{\n attributeName: 'attributeName',\n attributeType: 'attributeType',\n }],\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n replicas: [{\n region: 'region',\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n deletionProtectionEnabled: false,\n globalSecondaryIndexes: [{\n indexName: 'indexName',\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n readProvisionedThroughputSettings: {\n readCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n readCapacityUnits: 123,\n },\n }],\n kinesisStreamSpecification: {\n streamArn: 'streamArn',\n },\n pointInTimeRecoverySpecification: {\n pointInTimeRecoveryEnabled: false,\n },\n readProvisionedThroughputSettings: {\n readCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n readCapacityUnits: 123,\n },\n sseSpecification: {\n kmsMasterKeyId: 'kmsMasterKeyId',\n },\n tableClass: 'tableClass',\n tags: [{\n key: 'key',\n value: 'value',\n }],\n }],\n\n // the properties below are optional\n billingMode: 'billingMode',\n globalSecondaryIndexes: [{\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n\n // the properties below are optional\n writeProvisionedThroughputSettings: {\n writeCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n },\n }],\n localSecondaryIndexes: [{\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n }],\n sseSpecification: {\n sseEnabled: false,\n\n // the properties below are optional\n sseType: 'sseType',\n },\n streamSpecification: {\n streamViewType: 'streamViewType',\n },\n tableName: 'tableName',\n timeToLiveSpecification: {\n enabled: false,\n\n // the properties below are optional\n attributeName: 'attributeName',\n },\n writeProvisionedThroughputSettings: {\n writeCapacityAutoScalingSettings: {\n maxCapacity: 123,\n minCapacity: 123,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 123,\n\n // the properties below are optional\n disableScaleIn: false,\n scaleInCooldown: 123,\n scaleOutCooldown: 123,\n },\n\n // the properties below are optional\n seedCapacity: 123,\n },\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTableProps", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 19 }, "name": "CfnGlobalTableProps", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-attributedefinitions" }, "stability": "external", "summary": "A list of attributes that describe the key schema for the global table and indexes." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 26 }, "name": "attributeDefinitions", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.AttributeDefinitionProperty" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-keyschema" }, "remarks": "The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", "stability": "external", "summary": "Specifies the attributes that make up the primary key for the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 33 }, "name": "keySchema", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.KeySchemaProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-replicas" }, "remarks": "The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in `Replicas` with the region us-east-1. You cannot remove the replica in the stack region.\n\n> Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an `UpdateStack` operation containing only that change.\n>\n> If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica.\n\nYou can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update.", "stability": "external", "summary": "Specifies the list of replicas for your global table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 46 }, "name": "replicas", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.ReplicaSpecificationProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-billingmode" }, "remarks": "- `PAY_PER_REQUEST`\n- `PROVISIONED`\n\nAll replicas in your global table will have the same billing mode. If you use `PROVISIONED` billing mode, you must provide an auto scaling configuration via the `WriteProvisionedThroughputSettings` property. The default value of this property is `PROVISIONED` .", "stability": "external", "summary": "Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 58 }, "name": "billingMode", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-globalsecondaryindexes" }, "remarks": "You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation.\n\nSince the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.", "stability": "external", "summary": "Global secondary indexes to be created on the global table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 67 }, "name": "globalSecondaryIndexes", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.GlobalSecondaryIndexProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-localsecondaryindexes" }, "remarks": "You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.", "stability": "external", "summary": "Local secondary indexes to be created on the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 74 }, "name": "localSecondaryIndexes", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.LocalSecondaryIndexProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-ssespecification" }, "remarks": "These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the `ReplicaSpecification.ReplicaSSESpecification` property.", "stability": "external", "summary": "Specifies the settings to enable server-side encryption." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 81 }, "name": "sseSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.SSESpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-streamspecification" }, "remarks": "You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.", "stability": "external", "summary": "Specifies the streams settings on your global table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 88 }, "name": "streamSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.StreamSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-tablename" }, "remarks": "If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "stability": "external", "summary": "A name for the global table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 97 }, "name": "tableName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-timetolivespecification" }, "remarks": "This setting will be applied to all replicas.", "stability": "external", "summary": "Specifies the time to live (TTL) settings for the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 104 }, "name": "timeToLiveSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.TimeToLiveSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-writeprovisionedthroughputsettings" }, "remarks": "This policy will be applied to all replicas. This setting must be specified if `BillingMode` is set to `PROVISIONED` .", "stability": "external", "summary": "Specifies an auto scaling policy for write capacity." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 111 }, "name": "writeProvisionedThroughputSettings", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnGlobalTable.WriteProvisionedThroughputSettingsProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnGlobalTableProps" }, "@aws-cdk/aws-dynamodb.CfnTable": { "assembly": "@aws-cdk/aws-dynamodb", "base": "@aws-cdk/core.CfnResource", "docs": { "custom": { "cloudformationResource": "AWS::DynamoDB::Table", "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The `AWS::DynamoDB::Table` resource creates a DynamoDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *Amazon DynamoDB API Reference* .\n\nYou should be aware of the following behaviors when working with DynamoDB tables:\n\n- AWS CloudFormation typically creates DynamoDB tables in parallel. However, if your template includes multiple DynamoDB tables with indexes, you must declare dependencies so that the tables are created sequentially. Amazon DynamoDB limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DynamoDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute) .\n\n> Our guidance is to use the latest schema documented here for your AWS CloudFormation templates. This schema supports the provisioning of all table settings below. When using this schema in your AWS CloudFormation templates, please ensure that your Identity and Access Management ( IAM ) policies are updated with appropriate permissions to allow for the authorization of these setting changes.", "stability": "external", "summary": "A CloudFormation `AWS::DynamoDB::Table`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst cfnTable = new dynamodb.CfnTable(this, 'MyCfnTable', {\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n\n // the properties below are optional\n attributeDefinitions: [{\n attributeName: 'attributeName',\n attributeType: 'attributeType',\n }],\n billingMode: 'billingMode',\n contributorInsightsSpecification: {\n enabled: false,\n },\n deletionProtectionEnabled: false,\n globalSecondaryIndexes: [{\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n provisionedThroughput: {\n readCapacityUnits: 123,\n writeCapacityUnits: 123,\n },\n }],\n importSourceSpecification: {\n inputFormat: 'inputFormat',\n s3BucketSource: {\n s3Bucket: 's3Bucket',\n\n // the properties below are optional\n s3BucketOwner: 's3BucketOwner',\n s3KeyPrefix: 's3KeyPrefix',\n },\n\n // the properties below are optional\n inputCompressionType: 'inputCompressionType',\n inputFormatOptions: {\n csv: {\n delimiter: 'delimiter',\n headerList: ['headerList'],\n },\n },\n },\n kinesisStreamSpecification: {\n streamArn: 'streamArn',\n },\n localSecondaryIndexes: [{\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n }],\n pointInTimeRecoverySpecification: {\n pointInTimeRecoveryEnabled: false,\n },\n provisionedThroughput: {\n readCapacityUnits: 123,\n writeCapacityUnits: 123,\n },\n sseSpecification: {\n sseEnabled: false,\n\n // the properties below are optional\n kmsMasterKeyId: 'kmsMasterKeyId',\n sseType: 'sseType',\n },\n streamSpecification: {\n streamViewType: 'streamViewType',\n },\n tableClass: 'tableClass',\n tableName: 'tableName',\n tags: [{\n key: 'key',\n value: 'value',\n }],\n timeToLiveSpecification: {\n attributeName: 'attributeName',\n enabled: false,\n },\n});" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable", "initializer": { "docs": { "stability": "external", "summary": "Create a new `AWS::DynamoDB::Table`." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2454 }, "parameters": [ { "docs": { "summary": "- scope in which this resource is defined." }, "name": "scope", "type": { "fqn": "@aws-cdk/core.Construct" } }, { "docs": { "summary": "- scoped id of the resource." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "- resource properties." }, "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.CfnTableProps" } } ] }, "interfaces": [ "@aws-cdk/core.IInspectable" ], "kind": "class", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2259 }, "methods": [ { "docs": { "stability": "external", "summary": "Examines the CloudFormation resource and discloses attributes." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2490 }, "name": "inspect", "overrides": "@aws-cdk/core.IInspectable", "parameters": [ { "docs": { "summary": "- tree inspector to collect and process attributes." }, "name": "inspector", "type": { "fqn": "@aws-cdk/core.TreeInspector" } } ] }, { "docs": { "stability": "external" }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2517 }, "name": "renderProperties", "overrides": "@aws-cdk/core.CfnResource", "parameters": [ { "name": "props", "type": { "collection": { "elementtype": { "primitive": "any" }, "kind": "map" } } } ], "protected": true, "returns": { "type": { "collection": { "elementtype": { "primitive": "any" }, "kind": "map" } } } } ], "name": "CfnTable", "properties": [ { "const": true, "docs": { "stability": "external", "summary": "The CloudFormation resource type name for this resource class." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2263 }, "name": "CFN_RESOURCE_TYPE_NAME", "static": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "Arn" }, "stability": "external", "summary": "The Amazon Resource Name (ARN) of the DynamoDB table, such as `arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable` ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2288 }, "name": "attrArn", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "StreamArn" }, "remarks": "> You must specify the `StreamSpecification` property to use this attribute.", "stability": "external", "summary": "The ARN of the DynamoDB stream, such as `arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000` ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2296 }, "name": "attrStreamArn", "type": { "primitive": "string" } }, { "docs": { "stability": "external" }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2495 }, "name": "cfnProperties", "overrides": "@aws-cdk/core.CfnResource", "protected": true, "type": { "collection": { "elementtype": { "primitive": "any" }, "kind": "map" } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tags" }, "remarks": "For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "stability": "external", "summary": "An array of key-value pairs to apply to this resource." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2436 }, "name": "tags", "type": { "fqn": "@aws-cdk/core.TagManager" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-keyschema" }, "remarks": "The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", "stability": "external", "summary": "Specifies the attributes that make up the primary key for the table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2303 }, "name": "keySchema", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.KeySchemaProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-attributedefinitions" }, "remarks": "This property is required to create a DynamoDB table.\n\nUpdate requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . Replacement if you edit an existing AttributeDefinition.", "stability": "external", "summary": "A list of attributes that describe the key schema for the table and indexes." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2314 }, "name": "attributeDefinitions", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.AttributeDefinitionProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-billingmode" }, "remarks": "Valid values include:\n\n- `PROVISIONED` - We recommend using `PROVISIONED` for predictable workloads. `PROVISIONED` sets the billing mode to [Provisioned Mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual) .\n- `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to [On-Demand Mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand) .\n\nIf not specified, the default is `PROVISIONED` .", "stability": "external", "summary": "Specify how you are charged for read and write throughput and how you manage capacity." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2328 }, "name": "billingMode", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-contributorinsightsspecification" }, "stability": "external", "summary": "The settings used to enable or disable CloudWatch Contributor Insights for the specified table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2335 }, "name": "contributorInsightsSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ContributorInsightsSpecificationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-deletionprotectionenabled" }, "remarks": "When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", "stability": "external", "summary": "Determines if a table is protected from deletion." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2342 }, "name": "deletionProtectionEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-globalsecondaryindexes" }, "remarks": "> If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is `ACTIVE` . You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command.\n>\n> If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index.\n>\n> Updates are not supported. The following are exceptions:\n>\n> - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.\n> - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.", "stability": "external", "summary": "Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2358 }, "name": "globalSecondaryIndexes", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.GlobalSecondaryIndexProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-importsourcespecification" }, "remarks": "> If you specify the `ImportSourceSpecification` property, and also specify either the `StreamSpecification` , the `TableClass` property, or the `DeletionProtectionEnabled` property, the IAM entity creating/updating stack must have `UpdateTable` permission.", "stability": "external", "summary": "Specifies the properties of data being imported from the S3 bucket source to the table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2367 }, "name": "importSourceSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ImportSourceSpecificationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-kinesisstreamspecification" }, "stability": "external", "summary": "The Kinesis Data Streams configuration for the specified table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2374 }, "name": "kinesisStreamSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.KinesisStreamSpecificationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-localsecondaryindexes" }, "remarks": "You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.", "stability": "external", "summary": "Local secondary indexes to be created on the table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2381 }, "name": "localSecondaryIndexes", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.LocalSecondaryIndexProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-pointintimerecoveryspecification" }, "stability": "external", "summary": "The settings used to enable point in time recovery." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2388 }, "name": "pointInTimeRecoverySpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.PointInTimeRecoverySpecificationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-provisionedthroughput" }, "remarks": "For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .\n\nIf you set `BillingMode` as `PROVISIONED` , you must specify this property. If you set `BillingMode` as `PAY_PER_REQUEST` , you cannot specify this property.", "stability": "external", "summary": "Throughput for the specified table, which consists of values for `ReadCapacityUnits` and `WriteCapacityUnits` ." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2397 }, "name": "provisionedThroughput", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ProvisionedThroughputProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-ssespecification" }, "stability": "external", "summary": "Specifies the settings to enable server-side encryption." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2404 }, "name": "sseSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.SSESpecificationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-streamspecification" }, "stability": "external", "summary": "The settings for the DynamoDB table stream, which capture changes to items stored in the table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2411 }, "name": "streamSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.StreamSpecificationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tableclass" }, "remarks": "Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", "stability": "external", "summary": "The table class of the new table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2418 }, "name": "tableClass", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tablename" }, "remarks": "If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "stability": "external", "summary": "A name for the table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2427 }, "name": "tableName", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-timetolivespecification" }, "remarks": "> For detailed information about the limits in DynamoDB, see [Limits in Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the Amazon DynamoDB Developer Guide.", "stability": "external", "summary": "Specifies the Time to Live (TTL) settings for the table." }, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2445 }, "name": "timeToLiveSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.TimeToLiveSpecificationProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnTable" }, "@aws-cdk/aws-dynamodb.CfnTable.AttributeDefinitionProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-attributedefinition.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Represents an attribute for describing the key schema for the table and indexes.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst attributeDefinitionProperty: dynamodb.CfnTable.AttributeDefinitionProperty = {\n attributeName: 'attributeName',\n attributeType: 'attributeType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.AttributeDefinitionProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2531 }, "name": "AttributeDefinitionProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-attributedefinition.html#cfn-dynamodb-table-attributedefinition-attributename" }, "stability": "external", "summary": "A name for the attribute." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2537 }, "name": "attributeName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-attributedefinition.html#cfn-dynamodb-table-attributedefinition-attributetype" }, "remarks": "- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", "stability": "external", "summary": "The data type for the attribute, where:." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2547 }, "name": "attributeType", "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnTable.AttributeDefinitionProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.ContributorInsightsSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-contributorinsightsspecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "The settings used to enable or disable CloudWatch Contributor Insights.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst contributorInsightsSpecificationProperty: dynamodb.CfnTable.ContributorInsightsSpecificationProperty = {\n enabled: false,\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ContributorInsightsSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2613 }, "name": "ContributorInsightsSpecificationProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-contributorinsightsspecification.html#cfn-dynamodb-table-contributorinsightsspecification-enabled" }, "stability": "external", "summary": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false)." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2619 }, "name": "enabled", "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnTable.ContributorInsightsSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.CsvProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-csv.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The values are Delimiter and HeaderList.", "stability": "external", "summary": "The options for imported source files in CSV format.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst csvProperty: dynamodb.CfnTable.CsvProperty = {\n delimiter: 'delimiter',\n headerList: ['headerList'],\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.CsvProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2681 }, "name": "CsvProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-csv.html#cfn-dynamodb-table-csv-delimiter" }, "stability": "external", "summary": "The delimiter used for separating items in the CSV file being imported." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2687 }, "name": "delimiter", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-csv.html#cfn-dynamodb-table-csv-headerlist" }, "remarks": "If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.", "stability": "external", "summary": "List of the headers used to specify a common header for all source CSV files being imported." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2693 }, "name": "headerList", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } } ], "symbolId": "lib/dynamodb.generated:CfnTable.CsvProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.GlobalSecondaryIndexProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Represents the properties of a global secondary index.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst globalSecondaryIndexProperty: dynamodb.CfnTable.GlobalSecondaryIndexProperty = {\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n provisionedThroughput: {\n readCapacityUnits: 123,\n writeCapacityUnits: 123,\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.GlobalSecondaryIndexProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2757 }, "name": "GlobalSecondaryIndexProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-indexname" }, "remarks": "The name must be unique among all other indexes on this table.", "stability": "external", "summary": "The name of the global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2769 }, "name": "indexName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-keyschema" }, "remarks": "The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n>\n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", "stability": "external", "summary": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - `HASH` - partition key - `RANGE` - sort key > The partition key of an item is also known as its *hash attribute* ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2782 }, "name": "keySchema", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.KeySchemaProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-projection" }, "remarks": "These are in addition to the primary key attributes and index key attributes, which are automatically projected.", "stability": "external", "summary": "Represents attributes that are copied (projected) from the table into the global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2788 }, "name": "projection", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ProjectionProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-contributorinsightsspecification" }, "stability": "external", "summary": "The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2763 }, "name": "contributorInsightsSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ContributorInsightsSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-provisionedthroughput" }, "remarks": "For current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide* .", "stability": "external", "summary": "Represents the provisioned throughput settings for the specified global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2796 }, "name": "provisionedThroughput", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ProvisionedThroughputProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnTable.GlobalSecondaryIndexProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.ImportSourceSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies the properties of data being imported from the S3 bucket source to the table.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst importSourceSpecificationProperty: dynamodb.CfnTable.ImportSourceSpecificationProperty = {\n inputFormat: 'inputFormat',\n s3BucketSource: {\n s3Bucket: 's3Bucket',\n\n // the properties below are optional\n s3BucketOwner: 's3BucketOwner',\n s3KeyPrefix: 's3KeyPrefix',\n },\n\n // the properties below are optional\n inputCompressionType: 'inputCompressionType',\n inputFormatOptions: {\n csv: {\n delimiter: 'delimiter',\n headerList: ['headerList'],\n },\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ImportSourceSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2872 }, "name": "ImportSourceSpecificationProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-inputformat" }, "remarks": "Valid values for `ImportFormat` are `CSV` , `DYNAMODB_JSON` or `ION` .", "stability": "external", "summary": "The format of the source data." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2884 }, "name": "inputFormat", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-s3bucketsource" }, "stability": "external", "summary": "The S3 bucket that provides the source for the import." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2896 }, "name": "s3BucketSource", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.S3BucketSourceProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-inputcompressiontype" }, "stability": "external", "summary": "Type of compression to be used on the input coming from the imported table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2878 }, "name": "inputCompressionType", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-inputformatoptions" }, "stability": "external", "summary": "Additional properties that specify how the input is formatted,." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2890 }, "name": "inputFormatOptions", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.InputFormatOptionsProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnTable.ImportSourceSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.InputFormatOptionsProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-inputformatoptions.html", "exampleMetadata": "fixture=_generated" }, "remarks": "There is one value, CsvOption.", "stability": "external", "summary": "The format options for the data that was imported into the target table.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst inputFormatOptionsProperty: dynamodb.CfnTable.InputFormatOptionsProperty = {\n csv: {\n delimiter: 'delimiter',\n headerList: ['headerList'],\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.InputFormatOptionsProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2968 }, "name": "InputFormatOptionsProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-inputformatoptions.html#cfn-dynamodb-table-inputformatoptions-csv" }, "remarks": "The values are Delimiter and HeaderList.", "stability": "external", "summary": "The options for imported source files in CSV format." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2974 }, "name": "csv", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.CsvProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnTable.InputFormatOptionsProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.KeySchemaProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html", "exampleMetadata": "fixture=_generated" }, "remarks": "A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.\n\nA `KeySchemaElement` represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one `KeySchemaElement` (for the partition key). A composite primary key would require one `KeySchemaElement` for the partition key, and another `KeySchemaElement` for the sort key.\n\nA `KeySchemaElement` must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.", "stability": "external", "summary": "Represents *a single element* of a key schema.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst keySchemaProperty: dynamodb.CfnTable.KeySchemaProperty = {\n attributeName: 'attributeName',\n keyType: 'keyType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.KeySchemaProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3039 }, "name": "KeySchemaProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html#cfn-dynamodb-table-keyschema-attributename" }, "stability": "external", "summary": "The name of a key attribute." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3045 }, "name": "attributeName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html#cfn-dynamodb-table-keyschema-keytype" }, "remarks": "- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n>\n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", "stability": "external", "summary": "The role that this key attribute will assume:." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3058 }, "name": "keyType", "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnTable.KeySchemaProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.KinesisStreamSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-kinesisstreamspecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "The Kinesis Data Streams configuration for the specified table.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst kinesisStreamSpecificationProperty: dynamodb.CfnTable.KinesisStreamSpecificationProperty = {\n streamArn: 'streamArn',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.KinesisStreamSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3124 }, "name": "KinesisStreamSpecificationProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-kinesisstreamspecification.html#cfn-dynamodb-table-kinesisstreamspecification-streamarn" }, "remarks": "Length Constraints: Minimum length of 37. Maximum length of 1024.", "stability": "external", "summary": "The ARN for a specific Kinesis data stream." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3132 }, "name": "streamArn", "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnTable.KinesisStreamSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.LocalSecondaryIndexProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-localsecondaryindex.html", "exampleMetadata": "fixture=_generated" }, "remarks": "A local secondary index can only be created when its parent table is created.", "stability": "external", "summary": "Represents the properties of a local secondary index.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst localSecondaryIndexProperty: dynamodb.CfnTable.LocalSecondaryIndexProperty = {\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.LocalSecondaryIndexProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3194 }, "name": "LocalSecondaryIndexProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-localsecondaryindex.html#cfn-dynamodb-table-localsecondaryindex-indexname" }, "remarks": "The name must be unique among all other indexes on this table.", "stability": "external", "summary": "The name of the local secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3200 }, "name": "indexName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-localsecondaryindex.html#cfn-dynamodb-table-localsecondaryindex-keyschema" }, "remarks": "The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n>\n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", "stability": "external", "summary": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: - `HASH` - partition key - `RANGE` - sort key > The partition key of an item is also known as its *hash attribute* ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3213 }, "name": "keySchema", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.KeySchemaProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-localsecondaryindex.html#cfn-dynamodb-table-localsecondaryindex-projection" }, "remarks": "These are in addition to the primary key attributes and index key attributes, which are automatically projected.", "stability": "external", "summary": "Represents attributes that are copied (projected) from the table into the local secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3219 }, "name": "projection", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ProjectionProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnTable.LocalSecondaryIndexProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.PointInTimeRecoverySpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "The settings used to enable point in time recovery.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst pointInTimeRecoverySpecificationProperty: dynamodb.CfnTable.PointInTimeRecoverySpecificationProperty = {\n pointInTimeRecoveryEnabled: false,\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.PointInTimeRecoverySpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3289 }, "name": "PointInTimeRecoverySpecificationProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html#cfn-dynamodb-table-pointintimerecoveryspecification-pointintimerecoveryenabled" }, "stability": "external", "summary": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3295 }, "name": "pointInTimeRecoveryEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnTable.PointInTimeRecoverySpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.ProjectionProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-projection.html", "exampleMetadata": "fixture=_generated" }, "remarks": "These are in addition to the primary key attributes and index key attributes, which are automatically projected.", "stability": "external", "summary": "Represents attributes that are copied (projected) from the table into an index.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst projectionProperty: dynamodb.CfnTable.ProjectionProperty = {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ProjectionProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3356 }, "name": "ProjectionProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-projection.html#cfn-dynamodb-table-projection-nonkeyattributes" }, "remarks": "For local secondary indexes, the total count of `NonKeyAttributes` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.", "stability": "external", "summary": "Represents the non-key attribute names which will be projected into the index." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3364 }, "name": "nonKeyAttributes", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-projection.html#cfn-dynamodb-table-projection-projectiontype" }, "remarks": "- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.", "stability": "external", "summary": "The set of attributes that are projected into the index:." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3374 }, "name": "projectionType", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnTable.ProjectionProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.ProvisionedThroughputProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .", "stability": "external", "summary": "Throughput for the specified table, which consists of values for `ReadCapacityUnits` and `WriteCapacityUnits` .", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst provisionedThroughputProperty: dynamodb.CfnTable.ProvisionedThroughputProperty = {\n readCapacityUnits: 123,\n writeCapacityUnits: 123,\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ProvisionedThroughputProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3438 }, "name": "ProvisionedThroughputProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#cfn-dynamodb-table-provisionedthroughput-readcapacityunits" }, "remarks": "For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", "stability": "external", "summary": "The maximum number of strongly consistent reads consumed per second before DynamoDB returns a `ThrottlingException` ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3446 }, "name": "readCapacityUnits", "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#cfn-dynamodb-table-provisionedthroughput-writecapacityunits" }, "remarks": "For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", "stability": "external", "summary": "The maximum number of writes consumed per second before DynamoDB returns a `ThrottlingException` ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3454 }, "name": "writeCapacityUnits", "type": { "primitive": "number" } } ], "symbolId": "lib/dynamodb.generated:CfnTable.ProvisionedThroughputProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.S3BucketSourceProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "The S3 bucket that is being imported from.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst s3BucketSourceProperty: dynamodb.CfnTable.S3BucketSourceProperty = {\n s3Bucket: 's3Bucket',\n\n // the properties below are optional\n s3BucketOwner: 's3BucketOwner',\n s3KeyPrefix: 's3KeyPrefix',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.S3BucketSourceProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3520 }, "name": "S3BucketSourceProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html#cfn-dynamodb-table-s3bucketsource-s3bucket" }, "stability": "external", "summary": "The S3 bucket that is being imported from." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3526 }, "name": "s3Bucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html#cfn-dynamodb-table-s3bucketsource-s3bucketowner" }, "remarks": "If the bucket is owned by the requester this is optional.", "stability": "external", "summary": "The account number of the S3 bucket that is being imported from." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3532 }, "name": "s3BucketOwner", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html#cfn-dynamodb-table-s3bucketsource-s3keyprefix" }, "stability": "external", "summary": "The key prefix shared by all S3 Objects that are being imported." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3538 }, "name": "s3KeyPrefix", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnTable.S3BucketSourceProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.SSESpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Represents the settings used to enable server-side encryption.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst sSESpecificationProperty: dynamodb.CfnTable.SSESpecificationProperty = {\n sseEnabled: false,\n\n // the properties below are optional\n kmsMasterKeyId: 'kmsMasterKeyId',\n sseType: 'sseType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.SSESpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3606 }, "name": "SSESpecificationProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-sseenabled" }, "remarks": "If enabled (true), server-side encryption type is set to `KMS` and an AWS managed key is used ( AWS KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.", "stability": "external", "summary": "Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3618 }, "name": "sseEnabled", "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-kmsmasterkeyid" }, "remarks": "To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", "stability": "external", "summary": "The AWS KMS key that should be used for the AWS KMS encryption." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3612 }, "name": "kmsMasterKeyId", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-ssetype" }, "remarks": "- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS KMS ( AWS KMS charges apply).", "stability": "external", "summary": "Server-side encryption type. The only supported value is:." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3626 }, "name": "sseType", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnTable.SSESpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.StreamSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Represents the DynamoDB Streams configuration for a table in DynamoDB.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst streamSpecificationProperty: dynamodb.CfnTable.StreamSpecificationProperty = {\n streamViewType: 'streamViewType',\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.StreamSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3694 }, "name": "StreamSpecificationProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html#cfn-dynamodb-table-streamspecification-streamviewtype" }, "remarks": "Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", "stability": "external", "summary": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3705 }, "name": "streamViewType", "type": { "primitive": "string" } } ], "symbolId": "lib/dynamodb.generated:CfnTable.StreamSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnTable.TimeToLiveSpecificationProperty": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-timetolivespecification.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Represents the settings used to enable or disable Time to Live (TTL) for the specified table.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst timeToLiveSpecificationProperty: dynamodb.CfnTable.TimeToLiveSpecificationProperty = {\n attributeName: 'attributeName',\n enabled: false,\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTable.TimeToLiveSpecificationProperty", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3767 }, "name": "TimeToLiveSpecificationProperty", "namespace": "CfnTable", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-timetolivespecification.html#cfn-dynamodb-table-timetolivespecification-attributename" }, "remarks": "> - To update this property, you must first disable TTL and then enable TTL with the new attribute name.", "stability": "external", "summary": "The name of the TTL attribute used to store the expiration time for items in the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3775 }, "name": "attributeName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-timetolivespecification.html#cfn-dynamodb-table-timetolivespecification-enabled" }, "stability": "external", "summary": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 3781 }, "name": "enabled", "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnTable.TimeToLiveSpecificationProperty" }, "@aws-cdk/aws-dynamodb.CfnTableProps": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Properties for defining a `CfnTable`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst cfnTableProps: dynamodb.CfnTableProps = {\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n\n // the properties below are optional\n attributeDefinitions: [{\n attributeName: 'attributeName',\n attributeType: 'attributeType',\n }],\n billingMode: 'billingMode',\n contributorInsightsSpecification: {\n enabled: false,\n },\n deletionProtectionEnabled: false,\n globalSecondaryIndexes: [{\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n\n // the properties below are optional\n contributorInsightsSpecification: {\n enabled: false,\n },\n provisionedThroughput: {\n readCapacityUnits: 123,\n writeCapacityUnits: 123,\n },\n }],\n importSourceSpecification: {\n inputFormat: 'inputFormat',\n s3BucketSource: {\n s3Bucket: 's3Bucket',\n\n // the properties below are optional\n s3BucketOwner: 's3BucketOwner',\n s3KeyPrefix: 's3KeyPrefix',\n },\n\n // the properties below are optional\n inputCompressionType: 'inputCompressionType',\n inputFormatOptions: {\n csv: {\n delimiter: 'delimiter',\n headerList: ['headerList'],\n },\n },\n },\n kinesisStreamSpecification: {\n streamArn: 'streamArn',\n },\n localSecondaryIndexes: [{\n indexName: 'indexName',\n keySchema: [{\n attributeName: 'attributeName',\n keyType: 'keyType',\n }],\n projection: {\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: 'projectionType',\n },\n }],\n pointInTimeRecoverySpecification: {\n pointInTimeRecoveryEnabled: false,\n },\n provisionedThroughput: {\n readCapacityUnits: 123,\n writeCapacityUnits: 123,\n },\n sseSpecification: {\n sseEnabled: false,\n\n // the properties below are optional\n kmsMasterKeyId: 'kmsMasterKeyId',\n sseType: 'sseType',\n },\n streamSpecification: {\n streamViewType: 'streamViewType',\n },\n tableClass: 'tableClass',\n tableName: 'tableName',\n tags: [{\n key: 'key',\n value: 'value',\n }],\n timeToLiveSpecification: {\n attributeName: 'attributeName',\n enabled: false,\n },\n};" }, "fqn": "@aws-cdk/aws-dynamodb.CfnTableProps", "kind": "interface", "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 1997 }, "name": "CfnTableProps", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-keyschema" }, "remarks": "The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", "stability": "external", "summary": "Specifies the attributes that make up the primary key for the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2004 }, "name": "keySchema", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.KeySchemaProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-attributedefinitions" }, "remarks": "This property is required to create a DynamoDB table.\n\nUpdate requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . Replacement if you edit an existing AttributeDefinition.", "stability": "external", "summary": "A list of attributes that describe the key schema for the table and indexes." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2015 }, "name": "attributeDefinitions", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.AttributeDefinitionProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-billingmode" }, "remarks": "Valid values include:\n\n- `PROVISIONED` - We recommend using `PROVISIONED` for predictable workloads. `PROVISIONED` sets the billing mode to [Provisioned Mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual) .\n- `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to [On-Demand Mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand) .\n\nIf not specified, the default is `PROVISIONED` .", "stability": "external", "summary": "Specify how you are charged for read and write throughput and how you manage capacity." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2029 }, "name": "billingMode", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-contributorinsightsspecification" }, "stability": "external", "summary": "The settings used to enable or disable CloudWatch Contributor Insights for the specified table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2036 }, "name": "contributorInsightsSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ContributorInsightsSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-deletionprotectionenabled" }, "remarks": "When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", "stability": "external", "summary": "Determines if a table is protected from deletion." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2043 }, "name": "deletionProtectionEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-globalsecondaryindexes" }, "remarks": "> If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is `ACTIVE` . You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command.\n>\n> If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index.\n>\n> Updates are not supported. The following are exceptions:\n>\n> - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.\n> - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.", "stability": "external", "summary": "Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2059 }, "name": "globalSecondaryIndexes", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.GlobalSecondaryIndexProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-importsourcespecification" }, "remarks": "> If you specify the `ImportSourceSpecification` property, and also specify either the `StreamSpecification` , the `TableClass` property, or the `DeletionProtectionEnabled` property, the IAM entity creating/updating stack must have `UpdateTable` permission.", "stability": "external", "summary": "Specifies the properties of data being imported from the S3 bucket source to the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2068 }, "name": "importSourceSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ImportSourceSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-kinesisstreamspecification" }, "stability": "external", "summary": "The Kinesis Data Streams configuration for the specified table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2075 }, "name": "kinesisStreamSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.KinesisStreamSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-localsecondaryindexes" }, "remarks": "You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.", "stability": "external", "summary": "Local secondary indexes to be created on the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2082 }, "name": "localSecondaryIndexes", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.LocalSecondaryIndexProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-pointintimerecoveryspecification" }, "stability": "external", "summary": "The settings used to enable point in time recovery." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2089 }, "name": "pointInTimeRecoverySpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.PointInTimeRecoverySpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-provisionedthroughput" }, "remarks": "For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .\n\nIf you set `BillingMode` as `PROVISIONED` , you must specify this property. If you set `BillingMode` as `PAY_PER_REQUEST` , you cannot specify this property.", "stability": "external", "summary": "Throughput for the specified table, which consists of values for `ReadCapacityUnits` and `WriteCapacityUnits` ." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2098 }, "name": "provisionedThroughput", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.ProvisionedThroughputProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-ssespecification" }, "stability": "external", "summary": "Specifies the settings to enable server-side encryption." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2105 }, "name": "sseSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.SSESpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-streamspecification" }, "stability": "external", "summary": "The settings for the DynamoDB table stream, which capture changes to items stored in the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2112 }, "name": "streamSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.StreamSpecificationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tableclass" }, "remarks": "Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", "stability": "external", "summary": "The table class of the new table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2119 }, "name": "tableClass", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tablename" }, "remarks": "If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "stability": "external", "summary": "A name for the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2128 }, "name": "tableName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tags" }, "remarks": "For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "stability": "external", "summary": "An array of key-value pairs to apply to this resource." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2137 }, "name": "tags", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/core.CfnTag" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-timetolivespecification" }, "remarks": "> For detailed information about the limits in DynamoDB, see [Limits in Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the Amazon DynamoDB Developer Guide.", "stability": "external", "summary": "Specifies the Time to Live (TTL) settings for the table." }, "immutable": true, "locationInModule": { "filename": "lib/dynamodb.generated.ts", "line": 2146 }, "name": "timeToLiveSpecification", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-dynamodb.CfnTable.TimeToLiveSpecificationProperty" } ] } } } ], "symbolId": "lib/dynamodb.generated:CfnTableProps" }, "@aws-cdk/aws-dynamodb.EnableScalingProps": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Properties for enabling DynamoDB capacity scaling.", "example": "const globalTable = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n replicationRegions: ['us-east-1', 'us-east-2', 'us-west-2'],\n billingMode: dynamodb.BillingMode.PROVISIONED,\n});\n\nglobalTable.autoScaleWriteCapacity({\n minCapacity: 1,\n maxCapacity: 10,\n}).scaleOnUtilization({ targetUtilizationPercent: 75 });", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.EnableScalingProps", "kind": "interface", "locationInModule": { "filename": "lib/scalable-attribute-api.ts", "line": 21 }, "name": "EnableScalingProps", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "Maximum capacity to scale to." }, "immutable": true, "locationInModule": { "filename": "lib/scalable-attribute-api.ts", "line": 30 }, "name": "maxCapacity", "type": { "primitive": "number" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Minimum capacity to scale to." }, "immutable": true, "locationInModule": { "filename": "lib/scalable-attribute-api.ts", "line": 25 }, "name": "minCapacity", "type": { "primitive": "number" } } ], "symbolId": "lib/scalable-attribute-api:EnableScalingProps" }, "@aws-cdk/aws-dynamodb.GlobalSecondaryIndexProps": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Properties for a global secondary index.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst globalSecondaryIndexProps: dynamodb.GlobalSecondaryIndexProps = {\n indexName: 'indexName',\n partitionKey: {\n name: 'name',\n type: dynamodb.AttributeType.BINARY,\n },\n\n // the properties below are optional\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: dynamodb.ProjectionType.KEYS_ONLY,\n readCapacity: 123,\n sortKey: {\n name: 'name',\n type: dynamodb.AttributeType.BINARY,\n },\n writeCapacity: 123,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-dynamodb.GlobalSecondaryIndexProps", "interfaces": [ "@aws-cdk/aws-dynamodb.SecondaryIndexProps", "@aws-cdk/aws-dynamodb.SchemaOptions" ], "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 336 }, "name": "GlobalSecondaryIndexProps", "properties": [ { "abstract": true, "docs": { "default": "5", "remarks": "Can only be provided if table billingMode is Provisioned or undefined.", "stability": "stable", "summary": "The read capacity for the global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 344 }, "name": "readCapacity", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "default": "5", "remarks": "Can only be provided if table billingMode is Provisioned or undefined.", "stability": "stable", "summary": "The write capacity for the global secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 353 }, "name": "writeCapacity", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/table:GlobalSecondaryIndexProps" }, "@aws-cdk/aws-dynamodb.IScalableTableAttribute": { "assembly": "@aws-cdk/aws-dynamodb", "docs": { "stability": "stable", "summary": "Interface for scalable attributes." }, "fqn": "@aws-cdk/aws-dynamodb.IScalableTableAttribute", "kind": "interface", "locationInModule": { "filename": "lib/scalable-attribute-api.ts", "line": 6 }, "methods": [ { "abstract": true, "docs": { "stability": "stable", "summary": "Add scheduled scaling for this scaling attribute." }, "locationInModule": { "filename": "lib/scalable-attribute-api.ts", "line": 10 }, "name": "scaleOnSchedule", "parameters": [ { "name": "id", "type": { "primitive": "string" } }, { "name": "actions", "type": { "fqn": "@aws-cdk/aws-applicationautoscaling.ScalingSchedule" } } ] }, { "abstract": true, "docs": { "stability": "stable", "summary": "Scale out or in to keep utilization at a given level." }, "locationInModule": { "filename": "lib/scalable-attribute-api.ts", "line": 15 }, "name": "scaleOnUtilization", "parameters": [ { "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.UtilizationScalingProps" } } ] } ], "name": "IScalableTableAttribute", "symbolId": "lib/scalable-attribute-api:IScalableTableAttribute" }, "@aws-cdk/aws-dynamodb.ITable": { "assembly": "@aws-cdk/aws-dynamodb", "docs": { "stability": "stable", "summary": "An interface that represents a DynamoDB Table - either created with the CDK, or an existing one." }, "fqn": "@aws-cdk/aws-dynamodb.ITable", "interfaces": [ "@aws-cdk/core.IResource" ], "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 369 }, "methods": [ { "abstract": true, "docs": { "remarks": "If `encryptionKey` is present, appropriate grants to the key needs to be added\nseparately using the `table.encryptionKey.grant*` methods.", "stability": "stable", "summary": "Adds an IAM policy statement associated with this table to an IAM principal's policy." }, "locationInModule": { "filename": "lib/table.ts", "line": 407 }, "name": "grant", "parameters": [ { "docs": { "summary": "The principal (no-op if undefined)." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "The set of actions to allow (i.e. \"dynamodb:PutItem\", \"dynamodb:GetItem\", ...)." }, "name": "actions", "type": { "primitive": "string" }, "variadic": true } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } }, "variadic": true }, { "abstract": true, "docs": { "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits all DynamoDB operations (\"dynamodb:*\") to an IAM principal." }, "locationInModule": { "filename": "lib/table.ts", "line": 482 }, "name": "grantFullAccess", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits an IAM principal all data read operations from this table: BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan." }, "locationInModule": { "filename": "lib/table.ts", "line": 430 }, "name": "grantReadData", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan,\nBatchWriteItem, PutItem, UpdateItem, DeleteItem\n\nAppropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits an IAM principal to all data read/write operations to this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 472 }, "name": "grantReadWriteData", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "If `encryptionKey` is present, appropriate grants to the key needs to be added\nseparately using the `table.encryptionKey.grant*` methods.", "stability": "stable", "summary": "Adds an IAM policy statement associated with this table's stream to an IAM principal's policy." }, "locationInModule": { "filename": "lib/table.ts", "line": 419 }, "name": "grantStream", "parameters": [ { "docs": { "summary": "The principal (no-op if undefined)." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "The set of actions to allow (i.e. \"dynamodb:DescribeStream\", \"dynamodb:GetRecords\", ...)." }, "name": "actions", "type": { "primitive": "string" }, "variadic": true } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } }, "variadic": true }, { "abstract": true, "docs": { "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits an IAM principal all stream data read operations for this table's stream: DescribeStream, GetRecords, GetShardIterator, ListStreams." }, "locationInModule": { "filename": "lib/table.ts", "line": 449 }, "name": "grantStreamRead", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Permits an IAM Principal to list streams attached to current dynamodb table." }, "locationInModule": { "filename": "lib/table.ts", "line": 437 }, "name": "grantTableListStreams", "parameters": [ { "docs": { "summary": "The principal (no-op if undefined)." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits an IAM principal all data write operations to this table: BatchWriteItem, PutItem, UpdateItem, DeleteItem." }, "locationInModule": { "filename": "lib/table.ts", "line": 460 }, "name": "grantWriteData", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Metric for the number of Errors executing all Lambdas." }, "locationInModule": { "filename": "lib/table.ts", "line": 487 }, "name": "metric", "parameters": [ { "name": "metricName", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Metric for the conditional check failed requests." }, "locationInModule": { "filename": "lib/table.ts", "line": 532 }, "name": "metricConditionalCheckFailedRequests", "parameters": [ { "docs": { "summary": "properties of a metric." }, "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Metric for the consumed read capacity units." }, "locationInModule": { "filename": "lib/table.ts", "line": 494 }, "name": "metricConsumedReadCapacityUnits", "parameters": [ { "docs": { "summary": "properties of a metric." }, "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Metric for the consumed write capacity units." }, "locationInModule": { "filename": "lib/table.ts", "line": 501 }, "name": "metricConsumedWriteCapacityUnits", "parameters": [ { "docs": { "summary": "properties of a metric." }, "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Metric for the successful request latency." }, "locationInModule": { "filename": "lib/table.ts", "line": 548 }, "name": "metricSuccessfulRequestLatency", "parameters": [ { "docs": { "summary": "properties of a metric." }, "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "abstract": true, "docs": { "deprecated": "use `metricSystemErrorsForOperations`", "stability": "deprecated", "summary": "Metric for the system errors." }, "locationInModule": { "filename": "lib/table.ts", "line": 510 }, "name": "metricSystemErrors", "parameters": [ { "docs": { "summary": "properties of a metric." }, "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Metric for the system errors this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 518 }, "name": "metricSystemErrorsForOperations", "parameters": [ { "docs": { "summary": "properties of a metric." }, "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-dynamodb.SystemErrorsForOperationsMetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.IMetric" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Metric for throttled requests." }, "locationInModule": { "filename": "lib/table.ts", "line": 540 }, "name": "metricThrottledRequests", "parameters": [ { "docs": { "summary": "properties of a metric." }, "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Metric for the user errors." }, "locationInModule": { "filename": "lib/table.ts", "line": 525 }, "name": "metricUserErrors", "parameters": [ { "docs": { "summary": "properties of a metric." }, "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } } ], "name": "ITable", "properties": [ { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "Arn of the dynamodb table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 375 }, "name": "tableArn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "Table name of the dynamodb table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 382 }, "name": "tableName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Optional KMS encryption key associated with this table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 395 }, "name": "encryptionKey", "optional": true, "type": { "fqn": "@aws-cdk/aws-kms.IKey" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "ARN of the table's stream, if there is one." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 389 }, "name": "tableStreamArn", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/table:ITable" }, "@aws-cdk/aws-dynamodb.LocalSecondaryIndexProps": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Properties for a local secondary index.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst localSecondaryIndexProps: dynamodb.LocalSecondaryIndexProps = {\n indexName: 'indexName',\n sortKey: {\n name: 'name',\n type: dynamodb.AttributeType.BINARY,\n },\n\n // the properties below are optional\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: dynamodb.ProjectionType.KEYS_ONLY,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-dynamodb.LocalSecondaryIndexProps", "interfaces": [ "@aws-cdk/aws-dynamodb.SecondaryIndexProps" ], "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 359 }, "name": "LocalSecondaryIndexProps", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The attribute of a sort key for the local secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 363 }, "name": "sortKey", "type": { "fqn": "@aws-cdk/aws-dynamodb.Attribute" } } ], "symbolId": "lib/table:LocalSecondaryIndexProps" }, "@aws-cdk/aws-dynamodb.Operation": { "assembly": "@aws-cdk/aws-dynamodb", "docs": { "stability": "stable", "summary": "Supported DynamoDB table operations." }, "fqn": "@aws-cdk/aws-dynamodb.Operation", "kind": "enum", "locationInModule": { "filename": "lib/table.ts", "line": 46 }, "members": [ { "docs": { "stability": "stable", "summary": "GetItem." }, "name": "GET_ITEM" }, { "docs": { "stability": "stable", "summary": "BatchGetItem." }, "name": "BATCH_GET_ITEM" }, { "docs": { "stability": "stable", "summary": "Scan." }, "name": "SCAN" }, { "docs": { "stability": "stable", "summary": "Query." }, "name": "QUERY" }, { "docs": { "stability": "stable", "summary": "GetRecords." }, "name": "GET_RECORDS" }, { "docs": { "stability": "stable", "summary": "PutItem." }, "name": "PUT_ITEM" }, { "docs": { "stability": "stable", "summary": "DeleteItem." }, "name": "DELETE_ITEM" }, { "docs": { "stability": "stable", "summary": "UpdateItem." }, "name": "UPDATE_ITEM" }, { "docs": { "stability": "stable", "summary": "BatchWriteItem." }, "name": "BATCH_WRITE_ITEM" }, { "docs": { "stability": "stable", "summary": "TransactWriteItems." }, "name": "TRANSACT_WRITE_ITEMS" }, { "docs": { "stability": "stable", "summary": "TransactGetItems." }, "name": "TRANSACT_GET_ITEMS" }, { "docs": { "stability": "stable", "summary": "ExecuteTransaction." }, "name": "EXECUTE_TRANSACTION" }, { "docs": { "stability": "stable", "summary": "BatchExecuteStatement." }, "name": "BATCH_EXECUTE_STATEMENT" }, { "docs": { "stability": "stable", "summary": "ExecuteStatement." }, "name": "EXECUTE_STATEMENT" } ], "name": "Operation", "symbolId": "lib/table:Operation" }, "@aws-cdk/aws-dynamodb.ProjectionType": { "assembly": "@aws-cdk/aws-dynamodb", "docs": { "see": "https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Projection.html", "stability": "stable", "summary": "The set of attributes that are projected into the index." }, "fqn": "@aws-cdk/aws-dynamodb.ProjectionType", "kind": "enum", "locationInModule": { "filename": "lib/table.ts", "line": 1760 }, "members": [ { "docs": { "stability": "stable", "summary": "Only the index and primary keys are projected into the index." }, "name": "KEYS_ONLY" }, { "docs": { "remarks": "The list of projected attributes is in `nonKeyAttributes`.", "stability": "stable", "summary": "Only the specified table attributes are projected into the index." }, "name": "INCLUDE" }, { "docs": { "stability": "stable", "summary": "All of the table attributes are projected into the index." }, "name": "ALL" } ], "name": "ProjectionType", "symbolId": "lib/table:ProjectionType" }, "@aws-cdk/aws-dynamodb.SchemaOptions": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Represents the table schema attributes.", "example": "declare const table: dynamodb.Table;\nconst schema = table.schema();\nconst partitionKey = schema.partitionKey;\nconst sortKey = schema.sortKey;\n\n// In case you want to get schema details for any secondary index\n// const { partitionKey, sortKey } = table.schema(INDEX_NAME);", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.SchemaOptions", "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 138 }, "name": "SchemaOptions", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "Partition key attribute definition." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 142 }, "name": "partitionKey", "type": { "fqn": "@aws-cdk/aws-dynamodb.Attribute" } }, { "abstract": true, "docs": { "default": "no sort key", "stability": "stable", "summary": "Sort key attribute definition." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 149 }, "name": "sortKey", "optional": true, "type": { "fqn": "@aws-cdk/aws-dynamodb.Attribute" } } ], "symbolId": "lib/table:SchemaOptions" }, "@aws-cdk/aws-dynamodb.SecondaryIndexProps": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Properties for a secondary index.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nconst secondaryIndexProps: dynamodb.SecondaryIndexProps = {\n indexName: 'indexName',\n\n // the properties below are optional\n nonKeyAttributes: ['nonKeyAttributes'],\n projectionType: dynamodb.ProjectionType.KEYS_ONLY,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-dynamodb.SecondaryIndexProps", "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 314 }, "name": "SecondaryIndexProps", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The name of the secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 318 }, "name": "indexName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No additional attributes", "stability": "stable", "summary": "The non-key attributes that are projected into the secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 330 }, "name": "nonKeyAttributes", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "ALL", "stability": "stable", "summary": "The set of attributes that are projected into the secondary index." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 324 }, "name": "projectionType", "optional": true, "type": { "fqn": "@aws-cdk/aws-dynamodb.ProjectionType" } } ], "symbolId": "lib/table:SecondaryIndexProps" }, "@aws-cdk/aws-dynamodb.StreamViewType": { "assembly": "@aws-cdk/aws-dynamodb", "docs": { "see": "https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_StreamSpecification.html", "stability": "stable", "summary": "When an item in the table is modified, StreamViewType determines what information is written to the stream for this table." }, "fqn": "@aws-cdk/aws-dynamodb.StreamViewType", "kind": "enum", "locationInModule": { "filename": "lib/table.ts", "line": 1775 }, "members": [ { "docs": { "stability": "stable", "summary": "The entire item, as it appears after it was modified, is written to the stream." }, "name": "NEW_IMAGE" }, { "docs": { "stability": "stable", "summary": "The entire item, as it appeared before it was modified, is written to the stream." }, "name": "OLD_IMAGE" }, { "docs": { "stability": "stable", "summary": "Both the new and the old item images of the item are written to the stream." }, "name": "NEW_AND_OLD_IMAGES" }, { "docs": { "stability": "stable", "summary": "Only the key attributes of the modified item are written to the stream." }, "name": "KEYS_ONLY" } ], "name": "StreamViewType", "symbolId": "lib/table:StreamViewType" }, "@aws-cdk/aws-dynamodb.SystemErrorsForOperationsMetricOptions": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Options for configuring a system errors metric that considers multiple operations.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudwatch from '@aws-cdk/aws-cloudwatch';\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const dimensions: any;\nconst systemErrorsForOperationsMetricOptions: dynamodb.SystemErrorsForOperationsMetricOptions = {\n account: 'account',\n color: 'color',\n dimensions: {\n dimensionsKey: dimensions,\n },\n dimensionsMap: {\n dimensionsMapKey: 'dimensionsMap',\n },\n label: 'label',\n operations: [dynamodb.Operation.GET_ITEM],\n period: cdk.Duration.minutes(30),\n region: 'region',\n statistic: 'statistic',\n unit: cloudwatch.Unit.SECONDS,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-dynamodb.SystemErrorsForOperationsMetricOptions", "interfaces": [ "@aws-cdk/aws-cloudwatch.MetricOptions" ], "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 32 }, "name": "SystemErrorsForOperationsMetricOptions", "properties": [ { "abstract": true, "docs": { "default": "- All operations available by DynamoDB tables will be considered.", "stability": "stable", "summary": "The operations to apply the metric to." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 39 }, "name": "operations", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-dynamodb.Operation" }, "kind": "array" } } } ], "symbolId": "lib/table:SystemErrorsForOperationsMetricOptions" }, "@aws-cdk/aws-dynamodb.Table": { "assembly": "@aws-cdk/aws-dynamodb", "base": "@aws-cdk/core.Resource", "docs": { "stability": "stable", "summary": "Provides a DynamoDB table.", "example": "const globalTable = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n replicationRegions: ['us-east-1', 'us-east-2', 'us-west-2'],\n billingMode: dynamodb.BillingMode.PROVISIONED,\n});\n\nglobalTable.autoScaleWriteCapacity({\n minCapacity: 1,\n maxCapacity: 10,\n}).scaleOnUtilization({ targetUtilizationPercent: 75 });", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.Table", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/table.ts", "line": 1157 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.TableProps" } } ] }, "interfaces": [ "@aws-cdk/aws-dynamodb.ITable" ], "kind": "class", "locationInModule": { "filename": "lib/table.ts", "line": 1034 }, "methods": [ { "docs": { "stability": "stable", "summary": "Creates a Table construct that represents an external table via table arn." }, "locationInModule": { "filename": "lib/table.ts", "line": 1066 }, "name": "fromTableArn", "parameters": [ { "docs": { "summary": "The parent creating construct (usually `this`)." }, "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "docs": { "summary": "The construct's name." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "The table's ARN." }, "name": "tableArn", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-dynamodb.ITable" } }, "static": true }, { "docs": { "stability": "stable", "summary": "Creates a Table construct that represents an external table." }, "locationInModule": { "filename": "lib/table.ts", "line": 1077 }, "name": "fromTableAttributes", "parameters": [ { "docs": { "summary": "The parent creating construct (usually `this`)." }, "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "docs": { "summary": "The construct's name." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "A `TableAttributes` object." }, "name": "attrs", "type": { "fqn": "@aws-cdk/aws-dynamodb.TableAttributes" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-dynamodb.ITable" } }, "static": true }, { "docs": { "stability": "stable", "summary": "Creates a Table construct that represents an external table via table name." }, "locationInModule": { "filename": "lib/table.ts", "line": 1055 }, "name": "fromTableName", "parameters": [ { "docs": { "summary": "The parent creating construct (usually `this`)." }, "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "docs": { "summary": "The construct's name." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "The table's name." }, "name": "tableName", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-dynamodb.ITable" } }, "static": true }, { "docs": { "deprecated": "Use {@link #grantTableListStreams} for more granular permission", "stability": "deprecated", "summary": "Permits an IAM Principal to list all DynamoDB Streams." }, "locationInModule": { "filename": "lib/table.ts", "line": 1040 }, "name": "grantListStreams", "parameters": [ { "docs": { "summary": "The principal (no-op if undefined)." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } }, "static": true }, { "docs": { "stability": "stable", "summary": "Add a global secondary index of table." }, "locationInModule": { "filename": "lib/table.ts", "line": 1234 }, "name": "addGlobalSecondaryIndex", "parameters": [ { "docs": { "summary": "the property of global secondary index." }, "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.GlobalSecondaryIndexProps" } } ] }, { "docs": { "stability": "stable", "summary": "Add a local secondary index of table." }, "locationInModule": { "filename": "lib/table.ts", "line": 1265 }, "name": "addLocalSecondaryIndex", "parameters": [ { "docs": { "summary": "the property of local secondary index." }, "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.LocalSecondaryIndexProps" } } ] }, { "docs": { "returns": "An object to configure additional AutoScaling settings for this attribute", "stability": "stable", "summary": "Enable read capacity scaling for the given GSI." }, "locationInModule": { "filename": "lib/table.ts", "line": 1342 }, "name": "autoScaleGlobalSecondaryIndexReadCapacity", "parameters": [ { "name": "indexName", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.EnableScalingProps" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-dynamodb.IScalableTableAttribute" } } }, { "docs": { "returns": "An object to configure additional AutoScaling settings for this attribute", "stability": "stable", "summary": "Enable write capacity scaling for the given GSI." }, "locationInModule": { "filename": "lib/table.ts", "line": 1368 }, "name": "autoScaleGlobalSecondaryIndexWriteCapacity", "parameters": [ { "name": "indexName", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.EnableScalingProps" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-dynamodb.IScalableTableAttribute" } } }, { "docs": { "returns": "An object to configure additional AutoScaling settings", "stability": "stable", "summary": "Enable read capacity scaling for this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 1294 }, "name": "autoScaleReadCapacity", "parameters": [ { "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.EnableScalingProps" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-dynamodb.IScalableTableAttribute" } } }, { "docs": { "returns": "An object to configure additional AutoScaling settings for this attribute", "stability": "stable", "summary": "Enable write capacity scaling for this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 1316 }, "name": "autoScaleWriteCapacity", "parameters": [ { "name": "props", "type": { "fqn": "@aws-cdk/aws-dynamodb.EnableScalingProps" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-dynamodb.IScalableTableAttribute" } } }, { "docs": { "remarks": "If `encryptionKey` is present, appropriate grants to the key needs to be added\nseparately using the `table.encryptionKey.grant*` methods.", "stability": "stable", "summary": "Adds an IAM policy statement associated with this table to an IAM principal's policy." }, "locationInModule": { "filename": "lib/table.ts", "line": 641 }, "name": "grant", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "docs": { "summary": "The principal (no-op if undefined)." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "The set of actions to allow (i.e. \"dynamodb:PutItem\", \"dynamodb:GetItem\", ...)." }, "name": "actions", "type": { "primitive": "string" }, "variadic": true } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } }, "variadic": true }, { "docs": { "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits all DynamoDB operations (\"dynamodb:*\") to an IAM principal." }, "locationInModule": { "filename": "lib/table.ts", "line": 765 }, "name": "grantFullAccess", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits an IAM principal all data read operations from this table: BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan, DescribeTable." }, "locationInModule": { "filename": "lib/table.ts", "line": 689 }, "name": "grantReadData", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan,\nBatchWriteItem, PutItem, UpdateItem, DeleteItem, DescribeTable\n\nAppropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits an IAM principal to all data read/write operations to this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 751 }, "name": "grantReadWriteData", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "If `encryptionKey` is present, appropriate grants to the key needs to be added\nseparately using the `table.encryptionKey.grant*` methods.", "stability": "stable", "summary": "Adds an IAM policy statement associated with this table's stream to an IAM principal's policy." }, "locationInModule": { "filename": "lib/table.ts", "line": 667 }, "name": "grantStream", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "docs": { "summary": "The principal (no-op if undefined)." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "The set of actions to allow (i.e. \"dynamodb:DescribeStream\", \"dynamodb:GetRecords\", ...)." }, "name": "actions", "type": { "primitive": "string" }, "variadic": true } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } }, "variadic": true }, { "docs": { "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits an IAM principal all stream data read operations for this table's stream: DescribeStream, GetRecords, GetShardIterator, ListStreams." }, "locationInModule": { "filename": "lib/table.ts", "line": 721 }, "name": "grantStreamRead", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "stability": "stable", "summary": "Permits an IAM Principal to list streams attached to current dynamodb table." }, "locationInModule": { "filename": "lib/table.ts", "line": 699 }, "name": "grantTableListStreams", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "docs": { "summary": "The principal (no-op if undefined)." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.", "stability": "stable", "summary": "Permits an IAM principal all data write operations to this table: BatchWriteItem, PutItem, UpdateItem, DeleteItem, DescribeTable." }, "locationInModule": { "filename": "lib/table.ts", "line": 735 }, "name": "grantWriteData", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "docs": { "summary": "The principal to grant access to." }, "name": "grantee", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "By default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.", "stability": "stable", "summary": "Return the given named metric for this Table." }, "locationInModule": { "filename": "lib/table.ts", "line": 776 }, "name": "metric", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "name": "metricName", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "docs": { "remarks": "By default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.", "stability": "stable", "summary": "Metric for the conditional check failed requests this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 850 }, "name": "metricConditionalCheckFailedRequests", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "docs": { "remarks": "By default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.", "stability": "stable", "summary": "Metric for the consumed read capacity units this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 793 }, "name": "metricConsumedReadCapacityUnits", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "docs": { "remarks": "By default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.", "stability": "stable", "summary": "Metric for the consumed write capacity units this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 803 }, "name": "metricConsumedWriteCapacityUnits", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "docs": { "remarks": "By default, the metric will be calculated as an average over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.", "stability": "stable", "summary": "Metric for the successful request latency this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 883 }, "name": "metricSuccessfulRequestLatency", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "docs": { "deprecated": "use `metricSystemErrorsForOperations`.", "stability": "deprecated", "summary": "Metric for the system errors this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 812 }, "name": "metricSystemErrors", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "docs": { "remarks": "This will sum errors across all possible operations.\nNote that by default, each individual metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.", "stability": "stable", "summary": "Metric for the system errors this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 907 }, "name": "metricSystemErrorsForOperations", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-dynamodb.SystemErrorsForOperationsMetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.IMetric" } } }, { "docs": { "deprecated": "Do not use this function. It returns an invalid metric. Use `metricThrottledRequestsForOperation` instead.", "remarks": "Default: sum over 5 minutes", "stability": "deprecated", "summary": "How many requests are throttled on this table." }, "locationInModule": { "filename": "lib/table.ts", "line": 861 }, "name": "metricThrottledRequests", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "docs": { "remarks": "Default: sum over 5 minutes", "stability": "stable", "summary": "How many requests are throttled on this table, for the given operation." }, "locationInModule": { "filename": "lib/table.ts", "line": 870 }, "name": "metricThrottledRequestsForOperation", "parameters": [ { "name": "operation", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "docs": { "remarks": "Note that this metric reports user errors across all\nthe tables in the account and region the table resides in.\n\nBy default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.", "stability": "stable", "summary": "Metric for the user errors." }, "locationInModule": { "filename": "lib/table.ts", "line": 834 }, "name": "metricUserErrors", "overrides": "@aws-cdk/aws-dynamodb.ITable", "parameters": [ { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-cloudwatch.Metric" } } }, { "docs": { "returns": "Schema of table or index.", "stability": "stable", "summary": "Get schema attributes of table or index." }, "locationInModule": { "filename": "lib/table.ts", "line": 1394 }, "name": "schema", "parameters": [ { "name": "indexName", "optional": true, "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-dynamodb.SchemaOptions" } } }, { "docs": { "returns": "an array of validation error message", "stability": "stable", "summary": "Validate the table construct." }, "locationInModule": { "filename": "lib/table.ts", "line": 1413 }, "name": "validate", "overrides": "@aws-cdk/core.Construct", "protected": true, "returns": { "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } } } ], "name": "Table", "properties": [ { "docs": { "stability": "stable", "summary": "Whether this table has indexes." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 1663 }, "name": "hasIndex", "protected": true, "type": { "primitive": "boolean" } }, { "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 629 }, "name": "regionalArns", "protected": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "Arn of the dynamodb table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 1125 }, "name": "tableArn", "overrides": "@aws-cdk/aws-dynamodb.ITable", "type": { "primitive": "string" } }, { "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "Table name of the dynamodb table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 1130 }, "name": "tableName", "overrides": "@aws-cdk/aws-dynamodb.ITable", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "KMS encryption key, if this table uses a customer-managed encryption key." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 1120 }, "name": "encryptionKey", "optional": true, "overrides": "@aws-cdk/aws-dynamodb.ITable", "type": { "fqn": "@aws-cdk/aws-kms.IKey" } }, { "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "ARN of the table's stream, if there is one." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 1135 }, "name": "tableStreamArn", "optional": true, "overrides": "@aws-cdk/aws-dynamodb.ITable", "type": { "primitive": "string" } } ], "symbolId": "lib/table:Table" }, "@aws-cdk/aws-dynamodb.TableAttributes": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Reference to a dynamodb table.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nimport * as kms from '@aws-cdk/aws-kms';\n\ndeclare const key: kms.Key;\nconst tableAttributes: dynamodb.TableAttributes = {\n encryptionKey: key,\n globalIndexes: ['globalIndexes'],\n localIndexes: ['localIndexes'],\n tableArn: 'tableArn',\n tableName: 'tableName',\n tableStreamArn: 'tableStreamArn',\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-dynamodb.TableAttributes", "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 554 }, "name": "TableAttributes", "properties": [ { "abstract": true, "docs": { "default": "- no key", "stability": "stable", "summary": "KMS encryption key, if this table uses a customer-managed encryption key." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 583 }, "name": "encryptionKey", "optional": true, "type": { "fqn": "@aws-cdk/aws-kms.IKey" } }, { "abstract": true, "docs": { "default": "- no global indexes", "remarks": "Note that you need to set either this property,\nor {@link localIndexes},\nif you want methods like grantReadData()\nto grant permissions for indexes as well as the table itself.", "stability": "stable", "summary": "The name of the global indexes set for this Table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 594 }, "name": "globalIndexes", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- no local indexes", "remarks": "Note that you need to set either this property,\nor {@link globalIndexes},\nif you want methods like grantReadData()\nto grant permissions for indexes as well as the table itself.", "stability": "stable", "summary": "The name of the local indexes set for this Table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 605 }, "name": "localIndexes", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- no table arn", "remarks": "One of this, or {@link tableName}, is required.", "stability": "stable", "summary": "The ARN of the dynamodb table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 561 }, "name": "tableArn", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- no table name", "remarks": "One of this, or {@link tableArn}, is required.", "stability": "stable", "summary": "The table name of the dynamodb table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 569 }, "name": "tableName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- no table stream", "stability": "stable", "summary": "The ARN of the table's stream." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 576 }, "name": "tableStreamArn", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/table:TableAttributes" }, "@aws-cdk/aws-dynamodb.TableClass": { "assembly": "@aws-cdk/aws-dynamodb", "docs": { "see": "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.TableClasses.html", "stability": "stable", "summary": "DynamoDB's table class.", "example": "const table = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n tableClass: dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.TableClass", "kind": "enum", "locationInModule": { "filename": "lib/table.ts", "line": 1791 }, "members": [ { "docs": { "stability": "stable", "summary": "Default table class for DynamoDB." }, "name": "STANDARD" }, { "docs": { "stability": "stable", "summary": "Table class for DynamoDB that reduces storage costs compared to existing DynamoDB Standard tables." }, "name": "STANDARD_INFREQUENT_ACCESS" } ], "name": "TableClass", "symbolId": "lib/table:TableClass" }, "@aws-cdk/aws-dynamodb.TableEncryption": { "assembly": "@aws-cdk/aws-dynamodb", "docs": { "stability": "stable", "summary": "What kind of server-side encryption to apply to this table.", "example": "const table = new dynamodb.Table(this, 'MyTable', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n encryption: dynamodb.TableEncryption.CUSTOMER_MANAGED,\n});\n\n// You can access the CMK that was added to the stack on your behalf by the Table construct via:\nconst tableEncryptionKey = table.encryptionKey;", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.TableEncryption", "kind": "enum", "locationInModule": { "filename": "lib/table.ts", "line": 111 }, "members": [ { "docs": { "stability": "stable", "summary": "Server-side KMS encryption with a master key owned by AWS." }, "name": "DEFAULT" }, { "docs": { "remarks": "If `encryptionKey` is specified, this key will be used, otherwise, one will be defined.\n\n> **NOTE**: if `encryptionKey` is not specified and the `Table` construct creates\n> a KMS key for you, the key will be created with default permissions. If you are using\n> CDKv2, these permissions will be sufficient to enable the key for use with DynamoDB tables.\n> If you are using CDKv1, make sure the feature flag `@aws-cdk/aws-kms:defaultKeyPolicies`\n> is set to `true` in your `cdk.json`.", "stability": "stable", "summary": "Server-side KMS encryption with a customer master key managed by customer." }, "name": "CUSTOMER_MANAGED" }, { "docs": { "stability": "stable", "summary": "Server-side KMS encryption with a master key managed by AWS." }, "name": "AWS_MANAGED" } ], "name": "TableEncryption", "symbolId": "lib/table:TableEncryption" }, "@aws-cdk/aws-dynamodb.TableOptions": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "remarks": "Use {@link TableProps} for all table properties", "stability": "stable", "summary": "Properties of a DynamoDB Table.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as dynamodb from '@aws-cdk/aws-dynamodb';\nimport * as kms from '@aws-cdk/aws-kms';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const key: kms.Key;\nconst tableOptions: dynamodb.TableOptions = {\n partitionKey: {\n name: 'name',\n type: dynamodb.AttributeType.BINARY,\n },\n\n // the properties below are optional\n billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,\n contributorInsightsEnabled: false,\n encryption: dynamodb.TableEncryption.DEFAULT,\n encryptionKey: key,\n pointInTimeRecovery: false,\n readCapacity: 123,\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n replicationRegions: ['replicationRegions'],\n replicationTimeout: cdk.Duration.minutes(30),\n serverSideEncryption: false,\n sortKey: {\n name: 'name',\n type: dynamodb.AttributeType.BINARY,\n },\n stream: dynamodb.StreamViewType.NEW_IMAGE,\n tableClass: dynamodb.TableClass.STANDARD,\n timeToLiveAttribute: 'timeToLiveAttribute',\n waitForReplicationToFinish: false,\n writeCapacity: 123,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-dynamodb.TableOptions", "interfaces": [ "@aws-cdk/aws-dynamodb.SchemaOptions" ], "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 157 }, "name": "TableOptions", "properties": [ { "abstract": true, "docs": { "default": "PROVISIONED if `replicationRegions` is not specified, PAY_PER_REQUEST otherwise", "stability": "stable", "summary": "Specify how you are charged for read and write throughput and how you manage capacity." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 182 }, "name": "billingMode", "optional": true, "type": { "fqn": "@aws-cdk/aws-dynamodb.BillingMode" } }, { "abstract": true, "docs": { "default": "false", "stability": "stable", "summary": "Whether CloudWatch contributor insights is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 290 }, "name": "contributorInsightsEnabled", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- server-side encryption is enabled with an AWS owned customer master key", "remarks": "This property cannot be set if `serverSideEncryption` is set.\n\n> **NOTE**: if you set this to `CUSTOMER_MANAGED` and `encryptionKey` is not\n> specified, the key that the Tablet generates for you will be created with\n> default permissions. If you are using CDKv2, these permissions will be\n> sufficient to enable the key for use with DynamoDB tables. If you are\n> using CDKv1, make sure the feature flag\n> `@aws-cdk/aws-kms:defaultKeyPolicies` is set to `true` in your `cdk.json`.", "stability": "stable", "summary": "Whether server-side encryption with an AWS managed customer master key is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 222 }, "name": "encryption", "optional": true, "type": { "fqn": "@aws-cdk/aws-dynamodb.TableEncryption" } }, { "abstract": true, "docs": { "default": "- If `encryption` is set to `TableEncryption.CUSTOMER_MANAGED` and this\nproperty is undefined, a new KMS key will be created and associated with this table.", "remarks": "This property can only be set if `encryption` is set to `TableEncryption.CUSTOMER_MANAGED`.", "stability": "stable", "summary": "External KMS key to use for table encryption." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 232 }, "name": "encryptionKey", "optional": true, "type": { "fqn": "@aws-cdk/aws-kms.IKey" } }, { "abstract": true, "docs": { "default": "- point-in-time recovery is disabled", "stability": "stable", "summary": "Whether point-in-time recovery is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 188 }, "name": "pointInTimeRecovery", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "5", "remarks": "Careful if you add Global Secondary Indexes, as\nthose will share the table's provisioned throughput.\n\nCan only be provided if billingMode is Provisioned.", "stability": "stable", "summary": "The read capacity for the table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 166 }, "name": "readCapacity", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "default": "RemovalPolicy.RETAIN", "stability": "stable", "summary": "The removal policy to apply to the DynamoDB Table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 253 }, "name": "removalPolicy", "optional": true, "type": { "fqn": "@aws-cdk/core.RemovalPolicy" } }, { "abstract": true, "docs": { "default": "- no replica tables are created", "stability": "stable", "summary": "Regions where replica tables will be created." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 260 }, "name": "replicationRegions", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "Duration.minutes(30)", "stability": "stable", "summary": "The timeout for a table replication operation in a single region." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 267 }, "name": "replicationTimeout", "optional": true, "type": { "fqn": "@aws-cdk/core.Duration" } }, { "abstract": true, "docs": { "default": "- server-side encryption is enabled with an AWS owned customer master key", "deprecated": "This property is deprecated. In order to obtain the same behavior as\nenabling this, set the `encryption` property to `TableEncryption.AWS_MANAGED` instead.", "remarks": "This property cannot be set if `encryption` and/or `encryptionKey` is set.", "stability": "deprecated", "summary": "Whether server-side encryption with an AWS managed customer master key is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 200 }, "name": "serverSideEncryption", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- streams are disabled unless `replicationRegions` is specified", "stability": "stable", "summary": "When an item in the table is modified, StreamViewType determines what information is written to the stream for this table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 246 }, "name": "stream", "optional": true, "type": { "fqn": "@aws-cdk/aws-dynamodb.StreamViewType" } }, { "abstract": true, "docs": { "default": "STANDARD", "stability": "stable", "summary": "Specify the table class." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 206 }, "name": "tableClass", "optional": true, "type": { "fqn": "@aws-cdk/aws-dynamodb.TableClass" } }, { "abstract": true, "docs": { "default": "- TTL is disabled", "stability": "stable", "summary": "The name of TTL attribute." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 238 }, "name": "timeToLiveAttribute", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "true", "remarks": "If set to false, the CloudFormation resource will mark the resource as\ncreated and replication will be completed asynchronously. This property is\nignored if replicationRegions property is not set.\n\nDO NOT UNSET this property if adding/removing multiple replicationRegions\nin one deployment, as CloudFormation only supports one region replication\nat a time. CDK overcomes this limitation by waiting for replication to\nfinish before starting new replicationRegion.", "see": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-replicas", "stability": "stable", "summary": "Indicates whether CloudFormation stack waits for replication to finish." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 283 }, "name": "waitForReplicationToFinish", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "5", "remarks": "Careful if you add Global Secondary Indexes, as\nthose will share the table's provisioned throughput.\n\nCan only be provided if billingMode is Provisioned.", "stability": "stable", "summary": "The write capacity for the table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 175 }, "name": "writeCapacity", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/table:TableOptions" }, "@aws-cdk/aws-dynamodb.TableProps": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Properties for a DynamoDB Table.", "example": "const globalTable = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n replicationRegions: ['us-east-1', 'us-east-2', 'us-west-2'],\n billingMode: dynamodb.BillingMode.PROVISIONED,\n});\n\nglobalTable.autoScaleWriteCapacity({\n minCapacity: 1,\n maxCapacity: 10,\n}).scaleOnUtilization({ targetUtilizationPercent: 75 });", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.TableProps", "interfaces": [ "@aws-cdk/aws-dynamodb.TableOptions" ], "kind": "interface", "locationInModule": { "filename": "lib/table.ts", "line": 296 }, "name": "TableProps", "properties": [ { "abstract": true, "docs": { "default": "- no Kinesis Data Stream", "stability": "stable", "summary": "Kinesis Data Stream to capture item-level changes for the table." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 308 }, "name": "kinesisStream", "optional": true, "type": { "fqn": "@aws-cdk/aws-kinesis.IStream" } }, { "abstract": true, "docs": { "default": "", "stability": "stable", "summary": "Enforces a particular physical table name." }, "immutable": true, "locationInModule": { "filename": "lib/table.ts", "line": 301 }, "name": "tableName", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/table:TableProps" }, "@aws-cdk/aws-dynamodb.UtilizationScalingProps": { "assembly": "@aws-cdk/aws-dynamodb", "datatype": true, "docs": { "stability": "stable", "summary": "Properties for enabling DynamoDB utilization tracking.", "example": "const globalTable = new dynamodb.Table(this, 'Table', {\n partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },\n replicationRegions: ['us-east-1', 'us-east-2', 'us-west-2'],\n billingMode: dynamodb.BillingMode.PROVISIONED,\n});\n\nglobalTable.autoScaleWriteCapacity({\n minCapacity: 1,\n maxCapacity: 10,\n}).scaleOnUtilization({ targetUtilizationPercent: 75 });", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-dynamodb.UtilizationScalingProps", "interfaces": [ "@aws-cdk/aws-applicationautoscaling.BaseTargetTrackingProps" ], "kind": "interface", "locationInModule": { "filename": "lib/scalable-attribute-api.ts", "line": 36 }, "name": "UtilizationScalingProps", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "Target utilization percentage for the attribute." }, "immutable": true, "locationInModule": { "filename": "lib/scalable-attribute-api.ts", "line": 40 }, "name": "targetUtilizationPercent", "type": { "primitive": "number" } } ], "symbolId": "lib/scalable-attribute-api:UtilizationScalingProps" } }, "version": "1.204.0", "fingerprint": "**********" }