{ "author": { "name": "Amazon Web Services", "organization": true, "roles": [ "author" ], "url": "https://aws.amazon.com" }, "dependencies": { "@aws-cdk/aws-events": "1.204.0", "@aws-cdk/aws-iam": "1.204.0", "@aws-cdk/aws-kms": "1.204.0", "@aws-cdk/core": "1.204.0", "@aws-cdk/cx-api": "1.204.0", "constructs": "^3.3.69" }, "dependencyClosure": { "@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-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/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/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::S3", "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", "s3" ], "license": "Apache-2.0", "metadata": { "jsii": { "compiledWithDeprecationWarnings": true, "pacmak": { "hasDefaultInterfaces": true }, "rosetta": { "strict": true } } }, "name": "@aws-cdk/aws-s3", "readme": { "markdown": "# Amazon S3 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\nDefine an unencrypted S3 bucket.\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyFirstBucket');\n```\n\n`Bucket` constructs expose the following deploy-time attributes:\n\n * `bucketArn` - the ARN of the bucket (i.e. `arn:aws:s3:::bucket_name`)\n * `bucketName` - the name of the bucket (i.e. `bucket_name`)\n * `bucketWebsiteUrl` - the Website URL of the bucket (i.e.\n `http://bucket_name.s3-website-us-west-1.amazonaws.com`)\n * `bucketDomainName` - the URL of the bucket (i.e. `bucket_name.s3.amazonaws.com`)\n * `bucketDualStackDomainName` - the dual-stack URL of the bucket (i.e.\n `bucket_name.s3.dualstack.eu-west-1.amazonaws.com`)\n * `bucketRegionalDomainName` - the regional URL of the bucket (i.e.\n `bucket_name.s3.eu-west-1.amazonaws.com`)\n * `arnForObjects(pattern)` - the ARN of an object or objects within the bucket (i.e.\n `arn:aws:s3:::bucket_name/exampleobject.png` or\n `arn:aws:s3:::bucket_name/Development/*`)\n * `urlForObject(key)` - the HTTP URL of an object within the bucket (i.e.\n `https://s3.cn-north-1.amazonaws.com.cn/china-bucket/mykey`)\n * `virtualHostedUrlForObject(key)` - the virtual-hosted style HTTP URL of an object\n within the bucket (i.e. `https://china-bucket-s3.cn-north-1.amazonaws.com.cn/mykey`)\n * `s3UrlForObject(key)` - the S3 URL of an object within the bucket (i.e.\n `s3://bucket/mykey`)\n\n## Encryption\n\nDefine a KMS-encrypted bucket:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n});\n\n// you can access the encryption key:\nassert(bucket.encryptionKey instanceof kms.Key);\n```\n\nYou can also supply your own key:\n\n```ts\nconst myKmsKey = new kms.Key(this, 'MyKey');\n\nconst bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n encryptionKey: myKmsKey,\n});\n\nassert(bucket.encryptionKey === myKmsKey);\n```\n\nEnable KMS-SSE encryption via [S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html):\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n bucketKeyEnabled: true,\n});\n```\n\nUse `BucketEncryption.ManagedKms` to use the S3 master KMS key:\n\n```ts\nconst bucket = new s3.Bucket(this, 'Buck', {\n encryption: s3.BucketEncryption.KMS_MANAGED,\n});\n\nassert(bucket.encryptionKey == null);\n```\n\n## Permissions\n\nA bucket policy will be automatically created for the bucket upon the first call to\n`addToResourcePolicy(statement)`:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBucket');\nconst result = bucket.addToResourcePolicy(new iam.PolicyStatement({\n actions: ['s3:GetObject'],\n resources: [bucket.arnForObjects('file.txt')],\n principals: [new iam.AccountRootPrincipal()],\n}));\n```\n\nIf you try to add a policy statement to an existing bucket, this method will\nnot do anything:\n\n```ts\nconst bucket = s3.Bucket.fromBucketName(this, 'existingBucket', 'bucket-name');\n\n// No policy statement will be added to the resource\nconst result = bucket.addToResourcePolicy(new iam.PolicyStatement({\n actions: ['s3:GetObject'],\n resources: [bucket.arnForObjects('file.txt')],\n principals: [new iam.AccountRootPrincipal()],\n}));\n```\n\nThat's because it's not possible to tell whether the bucket\nalready has a policy attached, let alone to re-use that policy to add more\nstatements to it. We recommend that you always check the result of the call:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBucket');\nconst result = bucket.addToResourcePolicy(new iam.PolicyStatement({\n actions: ['s3:GetObject'],\n resources: [bucket.arnForObjects('file.txt')],\n principals: [new iam.AccountRootPrincipal()],\n}));\n\nif (!result.statementAdded) {\n // Uh-oh! Someone probably made a mistake here.\n}\n```\n\nThe bucket policy can be directly accessed after creation to add statements or\nadjust the removal policy.\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBucket');\nbucket.policy?.applyRemovalPolicy(cdk.RemovalPolicy.RETAIN);\n```\n\nMost of the time, you won't have to manipulate the bucket policy directly.\nInstead, buckets have \"grant\" methods called to give prepackaged sets of permissions\nto other resources. For example:\n\n```ts\ndeclare const myLambda: lambda.Function;\n\nconst bucket = new s3.Bucket(this, 'MyBucket');\nbucket.grantReadWrite(myLambda);\n```\n\nWill give the Lambda's execution role permissions to read and write\nfrom the bucket.\n\n## AWS Foundational Security Best Practices\n\n### Enforcing SSL\n\nTo require all requests use Secure Socket Layer (SSL):\n\n```ts\nconst bucket = new s3.Bucket(this, 'Bucket', {\n enforceSSL: true,\n});\n```\n\n## Sharing buckets between stacks\n\nTo use a bucket in a different stack in the same CDK application, pass the object to the other stack:\n\n```ts lit=test/integ.bucket-sharing.lit.ts\n\n/**\n * Stack that defines the bucket\n */\nclass Producer extends cdk.Stack {\n public readonly myBucket: s3.Bucket;\n\n constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {\n super(scope, id, props);\n\n const bucket = new s3.Bucket(this, 'MyBucket', {\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n });\n this.myBucket = bucket;\n }\n}\n\ninterface ConsumerProps extends cdk.StackProps {\n userBucket: s3.IBucket;\n}\n\n/**\n * Stack that consumes the bucket\n */\nclass Consumer extends cdk.Stack {\n constructor(scope: cdk.App, id: string, props: ConsumerProps) {\n super(scope, id, props);\n\n const user = new iam.User(this, 'MyUser');\n props.userBucket.grantReadWrite(user);\n }\n}\n\nconst producer = new Producer(app, 'ProducerStack');\nnew Consumer(app, 'ConsumerStack', { userBucket: producer.myBucket });\n```\n\n## Importing existing buckets\n\nTo import an existing bucket into your CDK application, use the `Bucket.fromBucketAttributes`\nfactory method. This method accepts `BucketAttributes` which describes the properties of an already\nexisting bucket:\n\n```ts\ndeclare const myLambda: lambda.Function;\nconst bucket = s3.Bucket.fromBucketAttributes(this, 'ImportedBucket', {\n bucketArn: 'arn:aws:s3:::my-bucket',\n});\n\n// now you can just call methods on the bucket\nbucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(myLambda), {prefix: 'home/myusername/*'});\n```\n\nAlternatively, short-hand factories are available as `Bucket.fromBucketName` and\n`Bucket.fromBucketArn`, which will derive all bucket attributes from the bucket\nname or ARN respectively:\n\n```ts\nconst byName = s3.Bucket.fromBucketName(this, 'BucketByName', 'my-bucket');\nconst byArn = s3.Bucket.fromBucketArn(this, 'BucketByArn', 'arn:aws:s3:::my-bucket');\n```\n\nThe bucket's region defaults to the current stack's region, but can also be explicitly set in cases where one of the bucket's\nregional properties needs to contain the correct values.\n\n```ts\nconst myCrossRegionBucket = s3.Bucket.fromBucketAttributes(this, 'CrossRegionImport', {\n bucketArn: 'arn:aws:s3:::my-bucket',\n region: 'us-east-1',\n});\n// myCrossRegionBucket.bucketRegionalDomainName === 'my-bucket.s3.us-east-1.amazonaws.com'\n```\n\n## Bucket Notifications\n\nThe Amazon S3 notification feature enables you to receive notifications when\ncertain events happen in your bucket as described under [S3 Bucket\nNotifications] of the S3 Developer Guide.\n\nTo subscribe for bucket notifications, use the `bucket.addEventNotification` method. The\n`bucket.addObjectCreatedNotification` and `bucket.addObjectRemovedNotification` can also be used for\nthese common use cases.\n\nThe following example will subscribe an SNS topic to be notified of all `s3:ObjectCreated:*` events:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBucket');\nconst topic = new sns.Topic(this, 'MyTopic');\nbucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.SnsDestination(topic));\n```\n\nThis call will also ensure that the topic policy can accept notifications for\nthis specific bucket.\n\nSupported S3 notification targets are exposed by the `@aws-cdk/aws-s3-notifications` package.\n\nIt is also possible to specify S3 object key filters when subscribing. The\nfollowing example will notify `myQueue` when objects prefixed with `foo/` and\nhave the `.jpg` suffix are removed from the bucket.\n\n```ts\ndeclare const myQueue: sqs.Queue;\nconst bucket = new s3.Bucket(this, 'MyBucket');\nbucket.addEventNotification(s3.EventType.OBJECT_REMOVED,\n new s3n.SqsDestination(myQueue),\n { prefix: 'foo/', suffix: '.jpg' });\n```\n\nAdding notifications on existing buckets:\n\n```ts\ndeclare const topic: sns.Topic;\nconst bucket = s3.Bucket.fromBucketAttributes(this, 'ImportedBucket', {\n bucketArn: 'arn:aws:s3:::my-bucket',\n});\nbucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.SnsDestination(topic));\n```\n\nWhen you add an event notification to a bucket, a custom resource is created to\nmanage the notifications. By default, a new role is created for the Lambda\nfunction that implements this feature. If you want to use your own role instead,\nyou should provide it in the `Bucket` constructor:\n\n```ts\ndeclare const myRole: iam.IRole;\nconst bucket = new s3.Bucket(this, 'MyBucket', {\n notificationsHandlerRole: myRole,\n});\n```\n\nWhatever role you provide, the CDK will try to modify it by adding the\npermissions from `AWSLambdaBasicExecutionRole` (an AWS managed policy) as well\nas the permissions `s3:PutBucketNotification` and `s3:GetBucketNotification`.\nIf you’re passing an imported role, and you don’t want this to happen, configure\nit to be immutable:\n\n```ts\nconst importedRole = iam.Role.fromRoleArn(this, 'role', 'arn:aws:iam::123456789012:role/RoleName', {\n mutable: false,\n});\n```\n\n> If you provide an imported immutable role, make sure that it has at least all\n> the permissions mentioned above. Otherwise, the deployment will fail!\n\n[S3 Bucket Notifications]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html\n\n\n### EventBridge notifications\n\nAmazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket.\nUnlike other destinations, you don't need to select which event types you want to deliver.\n\nThe following example will enable EventBridge notifications:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyEventBridgeBucket', {\n eventBridgeEnabled: true,\n});\n```\n\n[S3 EventBridge notifications]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html\n\n## Block Public Access\n\nUse `blockPublicAccess` to specify [block public access settings] on the bucket.\n\nEnable all block public access settings:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBlockedBucket', {\n blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,\n});\n```\n\nBlock and ignore public ACLs:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBlockedBucket', {\n blockPublicAccess: s3.BlockPublicAccess.BLOCK_ACLS,\n});\n```\n\nAlternatively, specify the settings manually:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBlockedBucket', {\n blockPublicAccess: new s3.BlockPublicAccess({ blockPublicPolicy: true }),\n});\n```\n\nWhen `blockPublicPolicy` is set to `true`, `grantPublicRead()` throws an error.\n\n[block public access settings]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html\n\n## Logging configuration\n\nUse `serverAccessLogsBucket` to describe where server access logs are to be stored.\n\n```ts\nconst accessLogsBucket = new s3.Bucket(this, 'AccessLogsBucket');\n\nconst bucket = new s3.Bucket(this, 'MyBucket', {\n serverAccessLogsBucket: accessLogsBucket,\n});\n```\n\nIt's also possible to specify a prefix for Amazon S3 to assign to all log object keys.\n\n```ts\nconst accessLogsBucket = new s3.Bucket(this, 'AccessLogsBucket');\n\nconst bucket = new s3.Bucket(this, 'MyBucket', {\n serverAccessLogsBucket: accessLogsBucket,\n serverAccessLogsPrefix: 'logs',\n});\n```\n\n[S3 Server access logging]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html\n\n## S3 Inventory\n\nAn [inventory](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) contains a list of the objects in the source bucket and metadata for each object. The inventory lists are stored in the destination bucket as a CSV file compressed with GZIP, as an Apache optimized row columnar (ORC) file compressed with ZLIB, or as an Apache Parquet (Parquet) file compressed with Snappy.\n\nYou can configure multiple inventory lists for a bucket. You can configure what object metadata to include in the inventory, whether to list all object versions or only current versions, where to store the inventory list file output, and whether to generate the inventory on a daily or weekly basis.\n\n```ts\nconst inventoryBucket = new s3.Bucket(this, 'InventoryBucket');\n\nconst dataBucket = new s3.Bucket(this, 'DataBucket', {\n inventories: [\n {\n frequency: s3.InventoryFrequency.DAILY,\n includeObjectVersions: s3.InventoryObjectVersion.CURRENT,\n destination: {\n bucket: inventoryBucket,\n },\n },\n {\n frequency: s3.InventoryFrequency.WEEKLY,\n includeObjectVersions: s3.InventoryObjectVersion.ALL,\n destination: {\n bucket: inventoryBucket,\n prefix: 'with-all-versions',\n },\n },\n ],\n});\n```\n\nIf the destination bucket is created as part of the same CDK application, the necessary permissions will be automatically added to the bucket policy.\nHowever, if you use an imported bucket (i.e `Bucket.fromXXX()`), you'll have to make sure it contains the following policy document:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"InventoryAndAnalyticsExamplePolicy\",\n \"Effect\": \"Allow\",\n \"Principal\": { \"Service\": \"s3.amazonaws.com\" },\n \"Action\": \"s3:PutObject\",\n \"Resource\": [\"arn:aws:s3:::destinationBucket/*\"]\n }\n ]\n}\n```\n\n## Website redirection\n\nYou can use the two following properties to specify the bucket [redirection policy]. Please note that these methods cannot both be applied to the same bucket.\n\n[redirection policy]: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects\n\n### Static redirection\n\nYou can statically redirect a to a given Bucket URL or any other host name with `websiteRedirect`:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyRedirectedBucket', {\n websiteRedirect: { hostName: 'www.example.com' },\n});\n```\n\n### Routing rules\n\nAlternatively, you can also define multiple `websiteRoutingRules`, to define complex, conditional redirections:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyRedirectedBucket', {\n websiteRoutingRules: [{\n hostName: 'www.example.com',\n httpRedirectCode: '302',\n protocol: s3.RedirectProtocol.HTTPS,\n replaceKey: s3.ReplaceKey.prefixWith('test/'),\n condition: {\n httpErrorCodeReturnedEquals: '200',\n keyPrefixEquals: 'prefix',\n },\n }],\n});\n```\n\n## Filling the bucket as part of deployment\n\nTo put files into a bucket as part of a deployment (for example, to host a\nwebsite), see the `@aws-cdk/aws-s3-deployment` package, which provides a\nresource that can do just that.\n\n## The URL for objects\n\nS3 provides two types of URLs for accessing objects via HTTP(S). Path-Style and\n[Virtual Hosted-Style](https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html)\nURL. Path-Style is a classic way and will be\n[deprecated](https://aws.amazon.com/jp/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story).\nWe recommend to use Virtual Hosted-Style URL for newly made bucket.\n\nYou can generate both of them.\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBucket');\nbucket.urlForObject('objectname'); // Path-Style URL\nbucket.virtualHostedUrlForObject('objectname'); // Virtual Hosted-Style URL\nbucket.virtualHostedUrlForObject('objectname', { regional: false }); // Virtual Hosted-Style URL but non-regional\n```\n\n## Object Ownership\n\nYou can use one of following properties to specify the bucket [object Ownership].\n\n[object Ownership]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html\n\n### Object writer\n\nThe Uploading account will own the object.\n\n```ts\nnew s3.Bucket(this, 'MyBucket', {\n objectOwnership: s3.ObjectOwnership.OBJECT_WRITER,\n});\n```\n\n### Bucket owner preferred\n\nThe bucket owner will own the object if the object is uploaded with the bucket-owner-full-control canned ACL. Without this setting and canned ACL, the object is uploaded and remains owned by the uploading account.\n\n```ts\nnew s3.Bucket(this, 'MyBucket', {\n objectOwnership: s3.ObjectOwnership.BUCKET_OWNER_PREFERRED,\n});\n```\n\n### Bucket owner enforced (recommended)\n\nACLs are disabled, and the bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. The bucket uses policies to define access control.\n\n```ts\nnew s3.Bucket(this, 'MyBucket', {\n objectOwnership: s3.ObjectOwnership.BUCKET_OWNER_ENFORCED,\n});\n```\n\n## Bucket deletion\n\nWhen a bucket is removed from a stack (or the stack is deleted), the S3\nbucket will be removed according to its removal policy (which by default will\nsimply orphan the bucket and leave it in your AWS account). If the removal\npolicy is set to `RemovalPolicy.DESTROY`, the bucket will be deleted as long\nas it does not contain any objects.\n\nTo override this and force all objects to get deleted during bucket deletion,\nenable the`autoDeleteObjects` option.\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyTempFileBucket', {\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n autoDeleteObjects: true,\n});\n```\n\n**Warning** if you have deployed a bucket with `autoDeleteObjects: true`,\nswitching this to `false` in a CDK version *before* `1.126.0` will lead to\nall objects in the bucket being deleted. Be sure to update your bucket resources\nby deploying with CDK version `1.126.0` or later **before** switching this value to `false`.\n\n## Transfer Acceleration\n\n[Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html) can be configured to enable fast, easy, and secure transfers of files over long distances:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBucket', {\n transferAcceleration: true,\n});\n```\n\nTo access the bucket that is enabled for Transfer Acceleration, you must use a special endpoint. The URL can be generated using method `transferAccelerationUrlForObject`:\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBucket', {\n transferAcceleration: true,\n});\nbucket.transferAccelerationUrlForObject('objectname');\n```\n\n## Intelligent Tiering\n\n[Intelligent Tiering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering.html) can be configured to automatically move files to glacier:\n\n```ts\nnew s3.Bucket(this, 'MyBucket', {\n intelligentTieringConfigurations: [{\n name: 'foo',\n prefix: 'folder/name',\n archiveAccessTierTime: cdk.Duration.days(90),\n deepArchiveAccessTierTime: cdk.Duration.days(180),\n tags: [{key: 'tagname', value: 'tagvalue'}]\n }],\n});\n\n```\n\n## Lifecycle Rule\n\n[Managing lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) can be configured transition or expiration actions.\n\n```ts\nconst bucket = new s3.Bucket(this, 'MyBucket', {\n lifecycleRules: [{\n abortIncompleteMultipartUploadAfter: cdk.Duration.minutes(30),\n enabled: false,\n expiration: cdk.Duration.days(30),\n expirationDate: new Date(),\n expiredObjectDeleteMarker: false,\n id: 'id',\n noncurrentVersionExpiration: cdk.Duration.days(30),\n\n // the properties below are optional\n noncurrentVersionsToRetain: 123,\n noncurrentVersionTransitions: [{\n storageClass: s3.StorageClass.GLACIER,\n transitionAfter: cdk.Duration.days(30),\n\n // the properties below are optional\n noncurrentVersionsToRetain: 123,\n }],\n objectSizeGreaterThan: 500,\n prefix: 'prefix',\n objectSizeLessThan: 10000,\n transitions: [{\n storageClass: s3.StorageClass.GLACIER,\n\n // the properties below are optional\n transitionAfter: cdk.Duration.days(30),\n transitionDate: new Date(),\n }],\n }]\n});\n```\n" }, "repository": { "directory": "packages/@aws-cdk/aws-s3", "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.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" } }, "types": { "@aws-cdk/aws-s3.BlockPublicAccess": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "example": "const bucket = new s3.Bucket(this, 'MyBlockedBucket', {\n blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.BlockPublicAccess", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 980 }, "parameters": [ { "name": "options", "type": { "fqn": "@aws-cdk/aws-s3.BlockPublicAccessOptions" } } ] }, "kind": "class", "locationInModule": { "filename": "lib/bucket.ts", "line": 962 }, "name": "BlockPublicAccess", "properties": [ { "const": true, "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 970 }, "name": "BLOCK_ACLS", "static": true, "type": { "fqn": "@aws-cdk/aws-s3.BlockPublicAccess" } }, { "const": true, "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 963 }, "name": "BLOCK_ALL", "static": true, "type": { "fqn": "@aws-cdk/aws-s3.BlockPublicAccess" } }, { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 975 }, "name": "blockPublicAcls", "optional": true, "type": { "primitive": "boolean" } }, { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 976 }, "name": "blockPublicPolicy", "optional": true, "type": { "primitive": "boolean" } }, { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 977 }, "name": "ignorePublicAcls", "optional": true, "type": { "primitive": "boolean" } }, { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 978 }, "name": "restrictPublicBuckets", "optional": true, "type": { "primitive": "boolean" } } ], "symbolId": "lib/bucket:BlockPublicAccess" }, "@aws-cdk/aws-s3.BlockPublicAccessOptions": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "example": "const bucket = new s3.Bucket(this, 'MyBlockedBucket', {\n blockPublicAccess: new s3.BlockPublicAccess({ blockPublicPolicy: true }),\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.BlockPublicAccessOptions", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 932 }, "name": "BlockPublicAccessOptions", "properties": [ { "abstract": true, "docs": { "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-options", "stability": "stable", "summary": "Whether to block public ACLs." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 938 }, "name": "blockPublicAcls", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-options", "stability": "stable", "summary": "Whether to block public policy." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 945 }, "name": "blockPublicPolicy", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-options", "stability": "stable", "summary": "Whether to ignore public ACLs." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 952 }, "name": "ignorePublicAcls", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-options", "stability": "stable", "summary": "Whether to restrict public access." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 959 }, "name": "restrictPublicBuckets", "optional": true, "type": { "primitive": "boolean" } } ], "symbolId": "lib/bucket:BlockPublicAccessOptions" }, "@aws-cdk/aws-s3.Bucket": { "assembly": "@aws-cdk/aws-s3", "base": "@aws-cdk/aws-s3.BucketBase", "docs": { "remarks": "This bucket does not yet have all features that exposed by the underlying\nBucketResource.", "stability": "stable", "summary": "An S3 bucket with associated policy objects.", "example": "declare const ecrRepository: ecr.Repository;\n\nnew codebuild.Project(this, 'Project', {\n environment: {\n buildImage: codebuild.WindowsBuildImage.fromEcrRepository(ecrRepository, 'v1.0', codebuild.WindowsImageType.SERVER_2019),\n // optional certificate to include in the build image\n certificate: {\n bucket: s3.Bucket.fromBucketName(this, 'Bucket', 'my-bucket'),\n objectKey: 'path/to/cert.pem',\n },\n },\n // ...\n})", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.Bucket", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1662 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.BucketProps" } } ] }, "kind": "class", "locationInModule": { "filename": "lib/bucket.ts", "line": 1527 }, "methods": [ { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1529 }, "name": "fromBucketArn", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "bucketArn", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-s3.IBucket" } }, "static": true }, { "docs": { "stability": "stable", "summary": "Creates a Bucket construct that represents an external bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1545 }, "name": "fromBucketAttributes", "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": { "remarks": "Can be obtained from a call to\n`bucket.export()` or manually created.", "summary": "A `BucketAttributes` object." }, "name": "attrs", "type": { "fqn": "@aws-cdk/aws-s3.BucketAttributes" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-s3.IBucket" } }, "static": true }, { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1533 }, "name": "fromBucketName", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "bucketName", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-s3.IBucket" } }, "static": true }, { "docs": { "stability": "stable", "summary": "Thrown an exception if the given bucket name is not valid." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1599 }, "name": "validateBucketName", "parameters": [ { "docs": { "summary": "name of the bucket." }, "name": "physicalName", "type": { "primitive": "string" } } ], "static": true }, { "docs": { "stability": "stable", "summary": "Adds a cross-origin access configuration for objects in an Amazon S3 bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1784 }, "name": "addCorsRule", "parameters": [ { "docs": { "summary": "The CORS configuration rule to add." }, "name": "rule", "type": { "fqn": "@aws-cdk/aws-s3.CorsRule" } } ] }, { "docs": { "stability": "stable", "summary": "Add an inventory configuration." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1793 }, "name": "addInventory", "parameters": [ { "docs": { "summary": "configuration to add." }, "name": "inventory", "type": { "fqn": "@aws-cdk/aws-s3.Inventory" } } ] }, { "docs": { "stability": "stable", "summary": "Add a lifecycle rule to the bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1760 }, "name": "addLifecycleRule", "parameters": [ { "docs": { "summary": "The rule to add." }, "name": "rule", "type": { "fqn": "@aws-cdk/aws-s3.LifecycleRule" } } ] }, { "docs": { "stability": "stable", "summary": "Adds a metrics configuration for the CloudWatch request metrics from the bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1775 }, "name": "addMetric", "parameters": [ { "docs": { "summary": "The metric configuration to add." }, "name": "metric", "type": { "fqn": "@aws-cdk/aws-s3.BucketMetrics" } } ] } ], "name": "Bucket", "properties": [ { "docs": { "stability": "stable", "summary": "The ARN of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1640 }, "name": "bucketArn", "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The IPv4 DNS name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1642 }, "name": "bucketDomainName", "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The IPv6 DNS name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1645 }, "name": "bucketDualStackDomainName", "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The name of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1641 }, "name": "bucketName", "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The regional domain name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1646 }, "name": "bucketRegionalDomainName", "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The Domain name of the static website." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1644 }, "name": "bucketWebsiteDomainName", "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The URL of the static website." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1643 }, "name": "bucketWebsiteUrl", "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "Optional KMS encryption key associated with this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1648 }, "name": "encryptionKey", "optional": true, "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "fqn": "@aws-cdk/aws-kms.IKey" } }, { "docs": { "stability": "stable", "summary": "If this bucket has been configured for static website hosting." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1649 }, "name": "isWebsite", "optional": true, "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "primitive": "boolean" } }, { "docs": { "stability": "stable", "summary": "Indicates if a bucket resource policy should automatically created upon the first call to `addToResourcePolicy`." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1651 }, "name": "autoCreatePolicy", "overrides": "@aws-cdk/aws-s3.BucketBase", "protected": true, "type": { "primitive": "boolean" } }, { "docs": { "stability": "stable", "summary": "Whether to disallow public access." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1652 }, "name": "disallowPublicAccess", "optional": true, "overrides": "@aws-cdk/aws-s3.BucketBase", "protected": true, "type": { "primitive": "boolean" } }, { "docs": { "remarks": "If `autoCreatePolicy` is true, a `BucketPolicy` will be created upon the\nfirst call to addToResourcePolicy(s).", "stability": "stable", "summary": "The resource policy associated with this bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 1650 }, "name": "policy", "optional": true, "overrides": "@aws-cdk/aws-s3.BucketBase", "type": { "fqn": "@aws-cdk/aws-s3.BucketPolicy" } } ], "symbolId": "lib/bucket:Bucket" }, "@aws-cdk/aws-s3.BucketAccessControl": { "assembly": "@aws-cdk/aws-s3", "docs": { "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html", "stability": "stable", "summary": "Default bucket access control types.", "example": "const bucket = new s3.Bucket(this, 'MyBucket');\n\nnew iot.TopicRule(this, 'TopicRule', {\n sql: iot.IotSql.fromStringAsVer20160323(\"SELECT * FROM 'device/+/data'\"),\n actions: [\n new actions.S3PutObjectAction(bucket, {\n accessControl: s3.BucketAccessControl.PUBLIC_READ,\n }),\n ],\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.BucketAccessControl", "kind": "enum", "locationInModule": { "filename": "lib/bucket.ts", "line": 2457 }, "members": [ { "docs": { "remarks": "No one else has access rights.", "stability": "stable", "summary": "Owner gets FULL_CONTROL." }, "name": "PRIVATE" }, { "docs": { "remarks": "The AllUsers group gets READ access.", "stability": "stable", "summary": "Owner gets FULL_CONTROL." }, "name": "PUBLIC_READ" }, { "docs": { "remarks": "The AllUsers group gets READ and WRITE access.\nGranting this on a bucket is generally not recommended.", "stability": "stable", "summary": "Owner gets FULL_CONTROL." }, "name": "PUBLIC_READ_WRITE" }, { "docs": { "remarks": "The AuthenticatedUsers group gets READ access.", "stability": "stable", "summary": "Owner gets FULL_CONTROL." }, "name": "AUTHENTICATED_READ" }, { "docs": { "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html", "stability": "stable", "summary": "The LogDelivery group gets WRITE and READ_ACP permissions on the bucket." }, "name": "LOG_DELIVERY_WRITE" }, { "docs": { "remarks": "Bucket owner gets READ access.\nIf you specify this canned ACL when creating a bucket, Amazon S3 ignores it.", "stability": "stable", "summary": "Object owner gets FULL_CONTROL." }, "name": "BUCKET_OWNER_READ" }, { "docs": { "remarks": "If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.", "stability": "stable", "summary": "Both the object owner and the bucket owner get FULL_CONTROL over the object." }, "name": "BUCKET_OWNER_FULL_CONTROL" }, { "docs": { "remarks": "Amazon EC2 gets READ access to GET an Amazon Machine Image (AMI) bundle from Amazon S3.", "stability": "stable", "summary": "Owner gets FULL_CONTROL." }, "name": "AWS_EXEC_READ" } ], "name": "BucketAccessControl", "symbolId": "lib/bucket:BucketAccessControl" }, "@aws-cdk/aws-s3.BucketAttributes": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "A reference to a bucket outside this stack.", "example": "declare const myLambda: lambda.Function;\nconst bucket = s3.Bucket.fromBucketAttributes(this, 'ImportedBucket', {\n bucketArn: 'arn:aws:s3:::my-bucket',\n});\n\n// now you can just call methods on the bucket\nbucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(myLambda), {prefix: 'home/myusername/*'});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.BucketAttributes", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 361 }, "name": "BucketAttributes", "properties": [ { "abstract": true, "docs": { "default": "- it's assumed the bucket belongs to the same account as the scope it's being imported into", "stability": "stable", "summary": "The account this existing bucket belongs to." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 422 }, "name": "account", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "remarks": "At least one of bucketArn or bucketName must be\ndefined in order to initialize a bucket ref.", "stability": "stable", "summary": "The ARN of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 366 }, "name": "bucketArn", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "Inferred from bucket name", "stability": "stable", "summary": "The domain name of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 381 }, "name": "bucketDomainName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The IPv6 DNS name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 398 }, "name": "bucketDualStackDomainName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "remarks": "If the underlying value of ARN is a string, the\nname will be parsed from the ARN. Otherwise, the name is optional, but\nsome features that require the bucket name such as auto-creating a bucket\npolicy, won't work.", "stability": "stable", "summary": "The name of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 374 }, "name": "bucketName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The regional domain name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 393 }, "name": "bucketRegionalDomainName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "false", "remarks": "This should be true for\nregions launched since 2014.", "stability": "stable", "summary": "The format of the website URL of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 406 }, "name": "bucketWebsiteNewUrlFormat", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "Inferred from bucket name", "stability": "stable", "summary": "The website URL of the bucket (if static web hosting is enabled)." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 388 }, "name": "bucketWebsiteUrl", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 408 }, "name": "encryptionKey", "optional": true, "type": { "fqn": "@aws-cdk/aws-kms.IKey" } }, { "abstract": true, "docs": { "default": "false", "stability": "stable", "summary": "If this bucket has been configured for static website hosting." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 415 }, "name": "isWebsite", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- a new role will be created.", "stability": "stable", "summary": "The role to be used by the notifications handler." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 436 }, "name": "notificationsHandlerRole", "optional": true, "type": { "fqn": "@aws-cdk/aws-iam.IRole" } }, { "abstract": true, "docs": { "default": "- it's assumed the bucket is in the same region as the scope it's being imported into", "stability": "stable", "summary": "The region this existing bucket is in." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 429 }, "name": "region", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/bucket:BucketAttributes" }, "@aws-cdk/aws-s3.BucketBase": { "abstract": true, "assembly": "@aws-cdk/aws-s3", "base": "@aws-cdk/core.Resource", "docs": { "remarks": "Buckets can be either defined within this stack:\n\n new Bucket(this, 'MyBucket', { props });\n\nOr imported from an existing bucket:\n\n Bucket.import(this, 'MyImportedBucket', { bucketArn: ... });\n\nYou can also export a bucket and import it into another stack:\n\n const ref = myBucket.export();\n Bucket.import(this, 'MyImportedBucket', ref);", "stability": "stable", "summary": "Represents an S3 Bucket." }, "fqn": "@aws-cdk/aws-s3.BucketBase", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 498 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@aws-cdk/core.ResourceProps" } } ] }, "interfaces": [ "@aws-cdk/aws-s3.IBucket" ], "kind": "class", "locationInModule": { "filename": "lib/bucket.ts", "line": 456 }, "methods": [ { "docs": { "example": " declare const myLambda: lambda.Function;\n const bucket = new s3.Bucket(this, 'MyBucket');\n bucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(myLambda), {prefix: 'home/myusername/*'});", "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html", "stability": "stable", "summary": "Adds a bucket notification event destination." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 843 }, "name": "addEventNotification", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "The event to trigger the notification." }, "name": "event", "type": { "fqn": "@aws-cdk/aws-s3.EventType" } }, { "docs": { "summary": "The notification destination (Lambda, SNS Topic or SQS Queue)." }, "name": "dest", "type": { "fqn": "@aws-cdk/aws-s3.IBucketNotificationDestination" } }, { "docs": { "remarks": "Each filter must include a `prefix` and/or `suffix`\nthat will be matched against the s3 object key. Refer to the S3 Developer Guide\nfor details about allowed filter rules.", "summary": "S3 object key filter rules to determine which objects trigger this event." }, "name": "filters", "type": { "fqn": "@aws-cdk/aws-s3.NotificationKeyFilter" }, "variadic": true } ], "variadic": true }, { "docs": { "remarks": "This is identical to calling\n`onEvent(EventType.OBJECT_CREATED)`.", "stability": "stable", "summary": "Subscribes a destination to receive notifications when an object is created in the bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 865 }, "name": "addObjectCreatedNotification", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "The notification destination (see onEvent)." }, "name": "dest", "type": { "fqn": "@aws-cdk/aws-s3.IBucketNotificationDestination" } }, { "docs": { "summary": "Filters (see onEvent)." }, "name": "filters", "type": { "fqn": "@aws-cdk/aws-s3.NotificationKeyFilter" }, "variadic": true } ], "variadic": true }, { "docs": { "remarks": "This is identical to calling\n`onEvent(EventType.OBJECT_REMOVED)`.", "stability": "stable", "summary": "Subscribes a destination to receive notifications when an object is removed from the bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 877 }, "name": "addObjectRemovedNotification", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "The notification destination (see onEvent)." }, "name": "dest", "type": { "fqn": "@aws-cdk/aws-s3.IBucketNotificationDestination" } }, { "docs": { "summary": "Filters (see onEvent)." }, "name": "filters", "type": { "fqn": "@aws-cdk/aws-s3.NotificationKeyFilter" }, "variadic": true } ], "variadic": true }, { "docs": { "remarks": "Note that the policy statement may or may not be added to the policy.\nFor example, when an `IBucket` is created from an existing bucket,\nit's not possible to tell whether the bucket already has a policy\nattached, let alone to re-use that policy to add more statements to it.\nSo it's safest to do nothing in these cases.", "returns": "metadata about the execution of this method. If the policy\nwas not added, the value of `statementAdded` will be `false`. You\nshould always check this value to make sure that the operation was\nactually carried out. Otherwise, synthesis and deploy will terminate\nsilently, which may be confusing.", "stability": "stable", "summary": "Adds a statement to the resource policy for a principal (i.e. account/role/service) to perform actions on this bucket and/or its contents. Use `bucketArn` and `arnForObjects(keys)` to obtain ARNs for this bucket or objects." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 603 }, "name": "addToResourcePolicy", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "the policy statement to be added to the bucket's policy." }, "name": "permission", "type": { "fqn": "@aws-cdk/aws-iam.PolicyStatement" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.AddToResourcePolicyResult" } } }, { "docs": { "remarks": "To represent all keys, specify ``\"*\"``.\n\nIf you need to specify a keyPattern with multiple components, concatenate them into a single string, e.g.:\n\n arnForObjects(`home/${team}/${user}/*`)", "stability": "stable", "summary": "Returns an ARN that represents all objects within the bucket that match the key pattern specified." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 714 }, "name": "arnForObjects", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "name": "keyPattern", "type": { "primitive": "string" } } ], "returns": { "type": { "primitive": "string" } } }, { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 881 }, "name": "enableEventBridgeNotification", "protected": true }, { "docs": { "stability": "stable", "summary": "Grants s3:DeleteObject* permission to an IAM principal for objects in this bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 765 }, "name": "grantDelete", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "The principal." }, "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "Restrict the permission to a certain key pattern (default '*')." }, "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "IMPORTANT: This permission allows anyone to perform actions on S3 objects\nin this bucket, which is useful for when you configure your bucket as a\nwebsite and want everyone to be able to read objects in the bucket without\nneeding to authenticate.\n\nWithout arguments, this method will grant read (\"s3:GetObject\") access to\nall objects (\"*\") in the bucket.\n\nThe method returns the `iam.Grant` object, which can then be modified\nas needed. For example, you can add a condition that will restrict access only\nto an IPv4 range like this:\n\n const grant = bucket.grantPublicAccess();\n grant.resourceStatement!.addCondition(‘IpAddress’, { “aws:SourceIp”: “54.240.143.0/24” });\n\nNote that if this `IBucket` refers to an existing bucket, possibly not\nmanaged by CloudFormation, this method will have no effect, since it's\nimpossible to modify the policy of an existing bucket.", "stability": "stable", "summary": "Allows unrestricted access to objects from this bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 807 }, "name": "grantPublicAccess", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "the prefix of S3 object keys (e.g. `home/*`). Default is \"*\"." }, "name": "keyPrefix", "optional": true, "type": { "primitive": "string" } }, { "docs": { "remarks": "Default is \"s3:GetObject\".", "summary": "the set of S3 actions to allow." }, "name": "allowedActions", "type": { "primitive": "string" }, "variadic": true } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } }, "variadic": true }, { "docs": { "remarks": "If encryption is used, permission to use the key to encrypt the contents\nof written files will also be granted to the same principal.", "stability": "stable", "summary": "Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 748 }, "name": "grantPut", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "The principal." }, "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "Restrict the permission to a certain key pattern (default '*')." }, "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set,\ncalling {@link grantWrite} or {@link grantReadWrite} no longer grants permissions to modify the ACLs of the objects;\nin this case, if you need to modify object ACLs, call this method explicitly.", "stability": "stable", "summary": "Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 753 }, "name": "grantPutAcl", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "If encryption is used, permission to use the key to decrypt the contents\nof the bucket will also be granted to the same principal.", "stability": "stable", "summary": "Grant read permissions for this bucket and it's contents to an IAM principal (Role/Group/User)." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 728 }, "name": "grantRead", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "The principal." }, "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "Restrict the permission to a certain key pattern (default '*')." }, "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "If an encryption key is used, permission to use the key for\nencrypt/decrypt will also be granted.\n\nBefore CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,\nwhich could be used to grant read/write object access to IAM principals in other accounts.\nIf you want to get rid of that behavior, update your CDK version to 1.85.0 or later,\nand make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`\nin the `context` key of your cdk.json file.\nIf you've already updated, but still need the principal to have permissions to modify the ACLs,\nuse the {@link grantPutAcl} method.", "stability": "stable", "summary": "Grants read/write permissions for this bucket and it's contents to an IAM principal (Role/Group/User)." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 770 }, "name": "grantReadWrite", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "If encryption is used, permission to use the key to encrypt the contents\nof written files will also be granted to the same principal.\n\nBefore CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,\nwhich could be used to grant read/write object access to IAM principals in other accounts.\nIf you want to get rid of that behavior, update your CDK version to 1.85.0 or later,\nand make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`\nin the `context` key of your cdk.json file.\nIf you've already updated, but still need the principal to have permissions to modify the ACLs,\nuse the {@link grantPutAcl} method.", "stability": "stable", "summary": "Grant write permissions to this bucket to an IAM principal." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 734 }, "name": "grantWrite", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "docs": { "remarks": "Requires that there exists at least one CloudTrail Trail in your account\nthat captures the event. This method will not create the Trail.", "stability": "stable", "summary": "Define a CloudWatch event that triggers when something happens to this repository." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 511 }, "name": "onCloudTrailEvent", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "The id of the rule." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "Options for adding the rule." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.OnCloudTrailBucketEventOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-events.Rule" } } }, { "docs": { "remarks": "Note that some tools like `aws s3 cp` will automatically use either\nPutObject or the multipart upload API depending on the file size,\nso using `onCloudTrailWriteObject` may be preferable.\n\nRequires that there exists at least one CloudTrail Trail in your account\nthat captures the event. This method will not create the Trail.", "stability": "stable", "summary": "Defines an AWS CloudWatch event that triggers when an object is uploaded to the specified paths (keys) in this bucket using the PutObject API call." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 540 }, "name": "onCloudTrailPutObject", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "The id of the rule." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "Options for adding the rule." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.OnCloudTrailBucketEventOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-events.Rule" } } }, { "docs": { "remarks": "This includes\nthe events PutObject, CopyObject, and CompleteMultipartUpload.\n\nNote that some tools like `aws s3 cp` will automatically use either\nPutObject or the multipart upload API depending on the file size,\nso using this method may be preferable to `onCloudTrailPutObject`.\n\nRequires that there exists at least one CloudTrail Trail in your account\nthat captures the event. This method will not create the Trail.", "stability": "stable", "summary": "Defines an AWS CloudWatch event that triggers when an object at the specified paths (keys) in this bucket are written to." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 565 }, "name": "onCloudTrailWriteObject", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "summary": "The id of the rule." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "Options for adding the rule." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.OnCloudTrailBucketEventOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-events.Rule" } } }, { "docs": { "remarks": "- `s3://onlybucket`\n- `s3://bucket/key`", "returns": "an ObjectS3Url token", "stability": "stable", "summary": "The S3 URL of an S3 object. For example:." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 697 }, "name": "s3UrlForObject", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "remarks": "If not specified, the S3 URL of the\nbucket is returned.", "summary": "The S3 key of the object." }, "name": "key", "optional": true, "type": { "primitive": "string" } } ], "returns": { "type": { "primitive": "string" } } }, { "docs": { "remarks": "Specify `dualStack: true` at the options\nfor dual-stack endpoint (connect to the bucket over IPv6). For example:\n\n- `https://bucket.s3-accelerate.amazonaws.com`\n- `https://bucket.s3-accelerate.amazonaws.com/key`", "returns": "an TransferAccelerationUrl token", "stability": "stable", "summary": "The https Transfer Acceleration URL of an S3 object." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 655 }, "name": "transferAccelerationUrlForObject", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "remarks": "If not specified, the URL of the\nbucket is returned.", "summary": "The S3 key of the object." }, "name": "key", "optional": true, "type": { "primitive": "string" } }, { "docs": { "summary": "Options for generating URL." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.TransferAccelerationUrlOptions" } } ], "returns": { "type": { "primitive": "string" } } }, { "docs": { "remarks": "- `https://s3.us-west-1.amazonaws.com/onlybucket`\n- `https://s3.us-west-1.amazonaws.com/bucket/key`\n- `https://s3.cn-north-1.amazonaws.com.cn/china-bucket/mykey`", "returns": "an ObjectS3Url token", "stability": "stable", "summary": "The https URL of an S3 object. Specify `regional: false` at the options for non-regional URLs. For example:." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 634 }, "name": "urlForObject", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "remarks": "If not specified, the URL of the\nbucket is returned.", "summary": "The S3 key of the object." }, "name": "key", "optional": true, "type": { "primitive": "string" } } ], "returns": { "type": { "primitive": "string" } } }, { "docs": { "remarks": "This method can be implemented by derived constructs in order to perform\nvalidation logic. It is called on all constructs before synthesis.", "stability": "stable", "summary": "Validate the current construct." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 616 }, "name": "validate", "overrides": "@aws-cdk/core.Construct", "protected": true, "returns": { "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } } }, { "docs": { "remarks": "- `https://only-bucket.s3.us-west-1.amazonaws.com`\n- `https://bucket.s3.us-west-1.amazonaws.com/key`\n- `https://bucket.s3.amazonaws.com/key`\n- `https://china-bucket.s3.cn-north-1.amazonaws.com.cn/mykey`", "returns": "an ObjectS3Url token", "stability": "stable", "summary": "The virtual hosted-style URL of an S3 object. Specify `regional: false` at the options for non-regional URL. For example:." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 678 }, "name": "virtualHostedUrlForObject", "overrides": "@aws-cdk/aws-s3.IBucket", "parameters": [ { "docs": { "remarks": "If not specified, the URL of the\nbucket is returned.", "summary": "The S3 key of the object." }, "name": "key", "optional": true, "type": { "primitive": "string" } }, { "docs": { "summary": "Options for generating URL." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.VirtualHostedStyleUrlOptions" } } ], "returns": { "type": { "primitive": "string" } } } ], "name": "BucketBase", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The ARN of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 457 }, "name": "bucketArn", "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The IPv4 DNS name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 459 }, "name": "bucketDomainName", "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The IPv6 DNS name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 463 }, "name": "bucketDualStackDomainName", "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The name of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 458 }, "name": "bucketName", "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The regional domain name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 462 }, "name": "bucketRegionalDomainName", "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The Domain name of the static website." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 461 }, "name": "bucketWebsiteDomainName", "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The URL of the static website." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 460 }, "name": "bucketWebsiteUrl", "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Optional KMS encryption key associated with this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 468 }, "name": "encryptionKey", "optional": true, "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "fqn": "@aws-cdk/aws-kms.IKey" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "If this bucket has been configured for static website hosting." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 473 }, "name": "isWebsite", "optional": true, "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Indicates if a bucket resource policy should automatically created upon the first call to `addToResourcePolicy`." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 487 }, "name": "autoCreatePolicy", "protected": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Whether to disallow public access." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 492 }, "name": "disallowPublicAccess", "optional": true, "protected": true, "type": { "primitive": "boolean" } }, { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket.ts", "line": 496 }, "name": "notificationsHandlerRole", "optional": true, "protected": true, "type": { "fqn": "@aws-cdk/aws-iam.IRole" } }, { "abstract": true, "docs": { "remarks": "If `autoCreatePolicy` is true, a `BucketPolicy` will be created upon the\nfirst call to addToResourcePolicy(s).", "stability": "stable", "summary": "The resource policy associated with this bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 481 }, "name": "policy", "optional": true, "overrides": "@aws-cdk/aws-s3.IBucket", "type": { "fqn": "@aws-cdk/aws-s3.BucketPolicy" } } ], "symbolId": "lib/bucket:BucketBase" }, "@aws-cdk/aws-s3.BucketEncryption": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "summary": "What kind of server-side encryption to apply to this bucket.", "example": "const bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n});\n\n// you can access the encryption key:\nassert(bucket.encryptionKey instanceof kms.Key);", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.BucketEncryption", "kind": "enum", "locationInModule": { "filename": "lib/bucket.ts", "line": 2178 }, "members": [ { "docs": { "stability": "stable", "summary": "Objects in the bucket are not encrypted." }, "name": "UNENCRYPTED" }, { "docs": { "stability": "stable", "summary": "Server-side KMS encryption with a master key managed by KMS." }, "name": "KMS_MANAGED" }, { "docs": { "stability": "stable", "summary": "Server-side encryption with a master key managed by S3." }, "name": "S3_MANAGED" }, { "docs": { "remarks": "If `encryptionKey` is specified, this key will be used, otherwise, one will be defined.", "stability": "stable", "summary": "Server-side encryption with a KMS key managed by the user." }, "name": "KMS" } ], "name": "BucketEncryption", "symbolId": "lib/bucket:BucketEncryption" }, "@aws-cdk/aws-s3.BucketMetrics": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Specifies a metrics configuration for the CloudWatch request metrics from an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const tagFilters: any;\nconst bucketMetrics: s3.BucketMetrics = {\n id: 'id',\n\n // the properties below are optional\n prefix: 'prefix',\n tagFilters: {\n tagFiltersKey: tagFilters,\n },\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.BucketMetrics", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 991 }, "name": "BucketMetrics", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The ID used to identify the metrics configuration." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 995 }, "name": "id", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The prefix that an object must have to be included in the metrics results." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 999 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "remarks": "The metrics configuration includes only objects that meet the filter's criteria.", "stability": "stable", "summary": "Specifies a list of tag filters to use as a metrics configuration filter." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1004 }, "name": "tagFilters", "optional": true, "type": { "collection": { "elementtype": { "primitive": "any" }, "kind": "map" } } } ], "symbolId": "lib/bucket:BucketMetrics" }, "@aws-cdk/aws-s3.BucketNotificationDestinationConfig": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Represents the properties of a notification destination.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const dependable: cdk.IDependable;\nconst bucketNotificationDestinationConfig: s3.BucketNotificationDestinationConfig = {\n arn: 'arn',\n type: s3.BucketNotificationDestinationType.LAMBDA,\n\n // the properties below are optional\n dependencies: [dependable],\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.BucketNotificationDestinationConfig", "kind": "interface", "locationInModule": { "filename": "lib/destination.ts", "line": 25 }, "name": "BucketNotificationDestinationConfig", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The ARN of the destination (i.e. Lambda, SNS, SQS)." }, "immutable": true, "locationInModule": { "filename": "lib/destination.ts", "line": 34 }, "name": "arn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The notification type." }, "immutable": true, "locationInModule": { "filename": "lib/destination.ts", "line": 29 }, "name": "type", "type": { "fqn": "@aws-cdk/aws-s3.BucketNotificationDestinationType" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Any additional dependencies that should be resolved before the bucket notification can be configured (for example, the SNS Topic Policy resource)." }, "immutable": true, "locationInModule": { "filename": "lib/destination.ts", "line": 40 }, "name": "dependencies", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/core.IDependable" }, "kind": "array" } } } ], "symbolId": "lib/destination:BucketNotificationDestinationConfig" }, "@aws-cdk/aws-s3.BucketNotificationDestinationType": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "summary": "Supported types of notification destinations." }, "fqn": "@aws-cdk/aws-s3.BucketNotificationDestinationType", "kind": "enum", "locationInModule": { "filename": "lib/destination.ts", "line": 46 }, "members": [ { "docs": { "stability": "stable" }, "name": "LAMBDA" }, { "docs": { "stability": "stable" }, "name": "QUEUE" }, { "docs": { "stability": "stable" }, "name": "TOPIC" } ], "name": "BucketNotificationDestinationType", "symbolId": "lib/destination:BucketNotificationDestinationType" }, "@aws-cdk/aws-s3.BucketPolicy": { "assembly": "@aws-cdk/aws-s3", "base": "@aws-cdk/core.Resource", "docs": { "remarks": "Policies define the operations that are allowed on this resource.\n\nYou almost never need to define this construct directly.\n\nAll AWS resources that support resource policies have a method called\n`addToResourcePolicy()`, which will automatically create a new resource\npolicy if one doesn't exist yet, otherwise it will add to the existing\npolicy.\n\nPrefer to use `addToResourcePolicy()` instead.", "stability": "stable", "summary": "The bucket policy for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const bucket: s3.Bucket;\nconst bucketPolicy = new s3.BucketPolicy(this, 'MyBucketPolicy', {\n bucket: bucket,\n\n // the properties below are optional\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n});", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.BucketPolicy", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/bucket-policy.ts", "line": 46 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@aws-cdk/aws-s3.BucketPolicyProps" } } ] }, "kind": "class", "locationInModule": { "filename": "lib/bucket-policy.ts", "line": 35 }, "methods": [ { "docs": { "stability": "stable", "summary": "Sets the removal policy for the BucketPolicy." }, "locationInModule": { "filename": "lib/bucket-policy.ts", "line": 67 }, "name": "applyRemovalPolicy", "overrides": "@aws-cdk/core.Resource", "parameters": [ { "docs": { "summary": "the RemovalPolicy to set." }, "name": "removalPolicy", "type": { "fqn": "@aws-cdk/core.RemovalPolicy" } } ] } ], "name": "BucketPolicy", "properties": [ { "docs": { "remarks": "For more information, see Access Policy Language Overview in the Amazon\nSimple Storage Service Developer Guide.", "stability": "stable", "summary": "A policy document containing permissions to add to the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket-policy.ts", "line": 42 }, "name": "document", "type": { "fqn": "@aws-cdk/aws-iam.PolicyDocument" } } ], "symbolId": "lib/bucket-policy:BucketPolicy" }, "@aws-cdk/aws-s3.BucketPolicyProps": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const bucket: s3.Bucket;\nconst bucketPolicyProps: s3.BucketPolicyProps = {\n bucket: bucket,\n\n // the properties below are optional\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.BucketPolicyProps", "kind": "interface", "locationInModule": { "filename": "lib/bucket-policy.ts", "line": 7 }, "name": "BucketPolicyProps", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The Amazon S3 bucket that the policy applies to." }, "immutable": true, "locationInModule": { "filename": "lib/bucket-policy.ts", "line": 11 }, "name": "bucket", "type": { "fqn": "@aws-cdk/aws-s3.IBucket" } }, { "abstract": true, "docs": { "default": "- RemovalPolicy.DESTROY.", "stability": "stable", "summary": "Policy to apply when the policy is removed from this stack." }, "immutable": true, "locationInModule": { "filename": "lib/bucket-policy.ts", "line": 18 }, "name": "removalPolicy", "optional": true, "type": { "fqn": "@aws-cdk/core.RemovalPolicy" } } ], "symbolId": "lib/bucket-policy:BucketPolicyProps" }, "@aws-cdk/aws-s3.BucketProps": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "example": "const sourceBucket = new s3.Bucket(this, 'MyBucket', {\n versioned: true, // a Bucket used as a source in CodePipeline must be versioned\n});\n\nconst pipeline = new codepipeline.Pipeline(this, 'MyPipeline');\nconst sourceOutput = new codepipeline.Artifact();\nconst sourceAction = new codepipeline_actions.S3SourceAction({\n actionName: 'S3Source',\n bucket: sourceBucket,\n bucketKey: 'path/to/file.zip',\n output: sourceOutput,\n});\npipeline.addStage({\n stageName: 'Source',\n actions: [sourceAction],\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.BucketProps", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 1284 }, "name": "BucketProps", "properties": [ { "abstract": true, "docs": { "default": "BucketAccessControl.PRIVATE", "stability": "stable", "summary": "Specifies a canned ACL that grants predefined permissions to the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1412 }, "name": "accessControl", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.BucketAccessControl" } }, { "abstract": true, "docs": { "default": "false", "remarks": "Requires the `removalPolicy` to be set to `RemovalPolicy.DESTROY`.\n\n**Warning** if you have deployed a bucket with `autoDeleteObjects: true`,\nswitching this to `false` in a CDK version *before* `1.126.0` will lead to\nall objects in the bucket being deleted. Be sure to update your bucket resources\nby deploying with CDK version `1.126.0` or later **before** switching this value to `false`.", "stability": "stable", "summary": "Whether all objects should be automatically deleted when the bucket is removed from the stack or when the stack is deleted." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1352 }, "name": "autoDeleteObjects", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- CloudFormation defaults will apply. New buckets and objects don't allow public access, but users can modify bucket policies or object permissions to allow public access", "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html", "stability": "stable", "summary": "The block public access configuration of this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1430 }, "name": "blockPublicAccess", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.BlockPublicAccess" } }, { "abstract": true, "docs": { "default": "- false", "remarks": "Only relevant, when Encryption is set to {@link BucketEncryption.KMS}", "stability": "stable", "summary": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1323 }, "name": "bucketKeyEnabled", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- Assigned by CloudFormation (recommended).", "stability": "stable", "summary": "Physical name of this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1330 }, "name": "bucketName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No CORS configuration.", "see": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html", "stability": "stable", "summary": "The CORS configuration of this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1448 }, "name": "cors", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.CorsRule" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- `Kms` if `encryptionKey` is specified, or `Unencrypted` otherwise.", "remarks": "If you choose KMS, you can specify a KMS key via `encryptionKey`. If\nencryption key is not specified, a key will automatically be created.", "stability": "stable", "summary": "The kind of server-side encryption to apply to this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1293 }, "name": "encryption", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.BucketEncryption" } }, { "abstract": true, "docs": { "default": "- If encryption is set to \"Kms\" and this property is undefined,\na new KMS key will be created and associated with this bucket.", "remarks": "The 'encryption' property must be either not specified or set to \"Kms\".\nAn error will be emitted if encryption is set to \"Unencrypted\" or\n\"Managed\".", "stability": "stable", "summary": "External KMS key to use for bucket encryption." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1305 }, "name": "encryptionKey", "optional": true, "type": { "fqn": "@aws-cdk/aws-kms.IKey" } }, { "abstract": true, "docs": { "default": "false", "remarks": "S3.5 of the AWS Foundational Security Best Practices Regarding S3.", "see": "https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-ssl-requests-only.html", "stability": "stable", "summary": "Enforces SSL for requests." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1313 }, "name": "enforceSSL", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "false", "stability": "stable", "summary": "Whether this bucket should send notifications to Amazon EventBridge or not." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1366 }, "name": "eventBridgeEnabled", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "No Intelligent Tiiering Configurations.", "see": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering.html", "stability": "stable", "summary": "Inteligent Tiering Configurations." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1502 }, "name": "intelligentTieringConfigurations", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.IntelligentTieringConfiguration" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No inventory configuration", "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html", "stability": "stable", "summary": "The inventory configuration of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1470 }, "name": "inventories", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.Inventory" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No lifecycle rules.", "stability": "stable", "summary": "Rules that define how Amazon S3 manages objects during their lifetime." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1373 }, "name": "lifecycleRules", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.LifecycleRule" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No metrics configuration.", "see": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html", "stability": "stable", "summary": "The metrics configuration of this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1439 }, "name": "metrics", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.BucketMetrics" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- a new role will be created.", "stability": "stable", "summary": "The role to be used by the notifications handler." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1493 }, "name": "notificationsHandlerRole", "optional": true, "type": { "fqn": "@aws-cdk/aws-iam.IRole" } }, { "abstract": true, "docs": { "default": "- No ObjectOwnership configuration, uploading account will own the object.", "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html", "stability": "stable", "summary": "The objectOwnership of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1479 }, "name": "objectOwnership", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.ObjectOwnership" } }, { "abstract": true, "docs": { "default": "false", "remarks": "Similar to calling `bucket.grantPublicAccess()`", "stability": "stable", "summary": "Grants public read access to all objects in the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1420 }, "name": "publicReadAccess", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- The bucket will be orphaned.", "stability": "stable", "summary": "Policy to apply when the bucket is removed from this stack." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1337 }, "name": "removalPolicy", "optional": true, "type": { "fqn": "@aws-cdk/core.RemovalPolicy" } }, { "abstract": true, "docs": { "default": "- If \"serverAccessLogsPrefix\" undefined - access logs disabled, otherwise - log to current bucket.", "stability": "stable", "summary": "Destination bucket for the server access logs." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1454 }, "name": "serverAccessLogsBucket", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.IBucket" } }, { "abstract": true, "docs": { "default": "- No log file prefix", "remarks": "If defined without \"serverAccessLogsBucket\", enables access logs to current bucket with this prefix.", "stability": "stable", "summary": "Optional log file prefix to use for the bucket's access logs." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1461 }, "name": "serverAccessLogsPrefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "false", "stability": "stable", "summary": "Whether this bucket should have transfer acceleration turned on or not." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1486 }, "name": "transferAcceleration", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "false", "stability": "stable", "summary": "Whether this bucket should have versioning turned on or not." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1359 }, "name": "versioned", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- No error document.", "stability": "stable", "summary": "The name of the error document (e.g. \"404.html\") for the website. `websiteIndexDocument` must also be set if this is set." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1389 }, "name": "websiteErrorDocument", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No index document.", "stability": "stable", "summary": "The name of the index document (e.g. \"index.html\") for the website. Enables static website hosting for this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1381 }, "name": "websiteIndexDocument", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No redirection.", "remarks": "If you specify this property, you can't specify \"websiteIndexDocument\", \"websiteErrorDocument\" nor , \"websiteRoutingRules\".", "stability": "stable", "summary": "Specifies the redirect behavior of all requests to a website endpoint of a bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1398 }, "name": "websiteRedirect", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.RedirectTarget" } }, { "abstract": true, "docs": { "default": "- No redirection rules.", "stability": "stable", "summary": "Rules that define when a redirect is applied and the redirect behavior." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1405 }, "name": "websiteRoutingRules", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.RoutingRule" }, "kind": "array" } } } ], "symbolId": "lib/bucket:BucketProps" }, "@aws-cdk/aws-s3.CfnAccessPoint": { "assembly": "@aws-cdk/aws-s3", "base": "@aws-cdk/core.CfnResource", "docs": { "custom": { "cloudformationResource": "AWS::S3::AccessPoint", "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets.", "stability": "external", "summary": "A CloudFormation `AWS::S3::AccessPoint`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const policy: any;\nconst cfnAccessPoint = new s3.CfnAccessPoint(this, 'MyCfnAccessPoint', {\n bucket: 'bucket',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n name: 'name',\n policy: policy,\n publicAccessBlockConfiguration: {\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n },\n vpcConfiguration: {\n vpcId: 'vpcId',\n },\n});" }, "fqn": "@aws-cdk/aws-s3.CfnAccessPoint", "initializer": { "docs": { "stability": "external", "summary": "Create a new `AWS::S3::AccessPoint`." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 235 }, "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-s3.CfnAccessPointProps" } } ] }, "interfaces": [ "@aws-cdk/core.IInspectable" ], "kind": "class", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 135 }, "methods": [ { "docs": { "stability": "external", "summary": "Examines the CloudFormation resource and discloses attributes." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 257 }, "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/s3.generated.ts", "line": 273 }, "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": "CfnAccessPoint", "properties": [ { "const": true, "docs": { "stability": "external", "summary": "The CloudFormation resource type name for this resource class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 139 }, "name": "CFN_RESOURCE_TYPE_NAME", "static": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "Alias" }, "stability": "external", "summary": "The alias for this access point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 164 }, "name": "attrAlias", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "Arn" }, "stability": "external", "summary": "This property contains the details of the ARN for the access point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 170 }, "name": "attrArn", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "Name" }, "stability": "external", "summary": "The name of this access point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 176 }, "name": "attrName", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "NetworkOrigin" }, "remarks": "If `VpcConfiguration` is specified for this access point, then `NetworkOrigin` is `VPC` , and the access point doesn't allow access from the internet. Otherwise, `NetworkOrigin` is `Internet` , and the access point allows access from the internet, subject to the access point and bucket access policies.\n\n*Allowed values* : `VPC` | `Internet`", "stability": "external", "summary": "Indicates whether this access point allows access from the internet." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 184 }, "name": "attrNetworkOrigin", "type": { "primitive": "string" } }, { "docs": { "stability": "external" }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 262 }, "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-s3-accesspoint.html#cfn-s3-accesspoint-bucket" }, "stability": "external", "summary": "The name of the bucket associated with this access point." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 191 }, "name": "bucket", "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policy" }, "stability": "external", "summary": "The access point policy associated with this access point." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 212 }, "name": "policy", "type": { "primitive": "any" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucketaccountid" }, "stability": "external", "summary": "The AWS account ID associated with the S3 bucket associated with this access point." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 198 }, "name": "bucketAccountId", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-name" }, "remarks": "If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.", "stability": "external", "summary": "The name of this access point." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 205 }, "name": "name", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-publicaccessblockconfiguration" }, "remarks": "You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 219 }, "name": "publicAccessBlockConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnAccessPoint.PublicAccessBlockConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-vpcconfiguration" }, "stability": "external", "summary": "The Virtual Private Cloud (VPC) configuration for this access point, if one exists." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 226 }, "name": "vpcConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnAccessPoint.VpcConfigurationProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnAccessPoint" }, "@aws-cdk/aws-s3.CfnAccessPoint.PublicAccessBlockConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst publicAccessBlockConfigurationProperty: s3.CfnAccessPoint.PublicAccessBlockConfigurationProperty = {\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnAccessPoint.PublicAccessBlockConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 287 }, "name": "PublicAccessBlockConfigurationProperty", "namespace": "CfnAccessPoint", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicacls" }, "remarks": "Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", "stability": "external", "summary": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 299 }, "name": "blockPublicAcls", "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-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicpolicy" }, "remarks": "Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", "stability": "external", "summary": "Specifies whether Amazon S3 should block public bucket policies for this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 307 }, "name": "blockPublicPolicy", "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-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-ignorepublicacls" }, "remarks": "Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", "stability": "external", "summary": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 315 }, "name": "ignorePublicAcls", "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-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-restrictpublicbuckets" }, "remarks": "Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", "stability": "external", "summary": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 323 }, "name": "restrictPublicBuckets", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/s3.generated:CfnAccessPoint.PublicAccessBlockConfigurationProperty" }, "@aws-cdk/aws-s3.CfnAccessPoint.VpcConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "The Virtual Private Cloud (VPC) configuration for this access point.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst vpcConfigurationProperty: s3.CfnAccessPoint.VpcConfigurationProperty = {\n vpcId: 'vpcId',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnAccessPoint.VpcConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 393 }, "name": "VpcConfigurationProperty", "namespace": "CfnAccessPoint", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html#cfn-s3-accesspoint-vpcconfiguration-vpcid" }, "stability": "external", "summary": "If this field is specified, the access point will only allow connections from the specified VPC ID." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 399 }, "name": "vpcId", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnAccessPoint.VpcConfigurationProperty" }, "@aws-cdk/aws-s3.CfnAccessPointProps": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Properties for defining a `CfnAccessPoint`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const policy: any;\nconst cfnAccessPointProps: s3.CfnAccessPointProps = {\n bucket: 'bucket',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n name: 'name',\n policy: policy,\n publicAccessBlockConfiguration: {\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n },\n vpcConfiguration: {\n vpcId: 'vpcId',\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnAccessPointProps", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 19 }, "name": "CfnAccessPointProps", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucket" }, "stability": "external", "summary": "The name of the bucket associated with this access point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 26 }, "name": "bucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucketaccountid" }, "stability": "external", "summary": "The AWS account ID associated with the S3 bucket associated with this access point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 33 }, "name": "bucketAccountId", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-name" }, "remarks": "If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.", "stability": "external", "summary": "The name of this access point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 40 }, "name": "name", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policy" }, "stability": "external", "summary": "The access point policy associated with this access point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 47 }, "name": "policy", "optional": true, "type": { "primitive": "any" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-publicaccessblockconfiguration" }, "remarks": "You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 54 }, "name": "publicAccessBlockConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnAccessPoint.PublicAccessBlockConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-vpcconfiguration" }, "stability": "external", "summary": "The Virtual Private Cloud (VPC) configuration for this access point, if one exists." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 61 }, "name": "vpcConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnAccessPoint.VpcConfigurationProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnAccessPointProps" }, "@aws-cdk/aws-s3.CfnBucket": { "assembly": "@aws-cdk/aws-s3", "base": "@aws-cdk/core.CfnResource", "docs": { "custom": { "cloudformationResource": "AWS::S3::Bucket", "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html", "exampleMetadata": "infused" }, "remarks": "The `AWS::S3::Bucket` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n\nTo control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) .\n\n> You can only delete empty buckets. Deletion fails for buckets that have contents.", "stability": "external", "summary": "A CloudFormation `AWS::S3::Bucket`.", "example": "declare const cfnTemplate: cfn_inc.CfnInclude;\nconst cfnBucket = cfnTemplate.getResource('Bucket') as s3.CfnBucket;\n\nconst role = new iam.Role(this, 'Role', {\n assumedBy: new iam.AnyPrincipal(),\n});\nrole.addToPolicy(new iam.PolicyStatement({\n actions: ['s3:*'],\n resources: [cfnBucket.attrArn],\n}));" }, "fqn": "@aws-cdk/aws-s3.CfnBucket", "initializer": { "docs": { "stability": "external", "summary": "Create a new `AWS::S3::Bucket`." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 954 }, "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", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.CfnBucketProps" } } ] }, "interfaces": [ "@aws-cdk/core.IInspectable" ], "kind": "class", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 728 }, "methods": [ { "docs": { "stability": "external", "summary": "Examines the CloudFormation resource and discloses attributes." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 995 }, "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/s3.generated.ts", "line": 1025 }, "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": "CfnBucket", "properties": [ { "const": true, "docs": { "stability": "external", "summary": "The CloudFormation resource type name for this resource class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 732 }, "name": "CFN_RESOURCE_TYPE_NAME", "static": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "Arn" }, "remarks": "Example: `arn:aws:s3:::DOC-EXAMPLE-BUCKET`", "stability": "external", "summary": "Returns the Amazon Resource Name (ARN) of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 759 }, "name": "attrArn", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "DomainName" }, "remarks": "Example: `DOC-EXAMPLE-BUCKET.s3.amazonaws.com`", "stability": "external", "summary": "Returns the IPv4 DNS name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 767 }, "name": "attrDomainName", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "DualStackDomainName" }, "remarks": "Example: `DOC-EXAMPLE-BUCKET.s3.dualstack.us-east-2.amazonaws.com`\n\nFor more information about dual-stack endpoints, see [Using Amazon S3 Dual-Stack Endpoints](https://docs.aws.amazon.com/AmazonS3/latest/dev/dual-stack-endpoints.html) .", "stability": "external", "summary": "Returns the IPv6 DNS name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 777 }, "name": "attrDualStackDomainName", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "RegionalDomainName" }, "remarks": "Example: `DOC-EXAMPLE-BUCKET.s3.us-east-2.amazonaws.com`", "stability": "external", "summary": "Returns the regional domain name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 785 }, "name": "attrRegionalDomainName", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "WebsiteURL" }, "remarks": "Example (IPv4): `http://DOC-EXAMPLE-BUCKET.s3-website.us-east-2.amazonaws.com`\n\nExample (IPv6): `http://DOC-EXAMPLE-BUCKET.s3.dualstack.us-east-2.amazonaws.com`", "stability": "external", "summary": "Returns the Amazon S3 website endpoint for the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 795 }, "name": "attrWebsiteUrl", "type": { "primitive": "string" } }, { "docs": { "stability": "external" }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1000 }, "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-properties-s3-bucket.html#cfn-s3-bucket-tags" }, "stability": "external", "summary": "An arbitrary set of tags (key-value pairs) for this S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 931 }, "name": "tags", "type": { "fqn": "@aws-cdk/core.TagManager" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accelerateconfiguration" }, "remarks": "For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Configures the transfer acceleration state for an Amazon S3 bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 802 }, "name": "accelerateConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.AccelerateConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accesscontrol" }, "remarks": "For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* .\n\nBe aware that the syntax for this property differs from the information provided in the *Amazon S3 User Guide* . The AccessControl property is case-sensitive and must be one of the following values: Private, PublicRead, PublicReadWrite, AuthenticatedRead, LogDeliveryWrite, BucketOwnerRead, BucketOwnerFullControl, or AwsExecRead.", "stability": "external", "summary": "A canned access control list (ACL) that grants predefined permissions to the bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 811 }, "name": "accessControl", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-analyticsconfigurations" }, "stability": "external", "summary": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 818 }, "name": "analyticsConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.AnalyticsConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-bucketencryption" }, "remarks": "For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS) bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 825 }, "name": "bucketEncryption", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.BucketEncryptionProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-name" }, "remarks": "If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) . For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide* .\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", "stability": "external", "summary": "A name for the bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 834 }, "name": "bucketName", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-crossoriginconfig" }, "remarks": "For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 841 }, "name": "corsConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.CorsConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-intelligenttieringconfigurations" }, "stability": "external", "summary": "Defines how Amazon S3 handles Intelligent-Tiering storage." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 848 }, "name": "intelligentTieringConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.IntelligentTieringConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-inventoryconfigurations" }, "remarks": "For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .", "stability": "external", "summary": "Specifies the inventory configuration for an Amazon S3 bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 855 }, "name": "inventoryConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.InventoryConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-lifecycleconfig" }, "remarks": "For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 862 }, "name": "lifecycleConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.LifecycleConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-loggingconfig" }, "stability": "external", "summary": "Settings that define where logs are stored." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 869 }, "name": "loggingConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.LoggingConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-metricsconfigurations" }, "remarks": "If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) .", "stability": "external", "summary": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 876 }, "name": "metricsConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.MetricsConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-notification" }, "stability": "external", "summary": "Configuration that defines how Amazon S3 handles bucket notifications." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 883 }, "name": "notificationConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.NotificationConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockconfiguration" }, "remarks": "The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .\n\n> - The `DefaultRetention` settings require both a mode and a period.\n> - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.\n> - You can only enable Object Lock for new buckets. If you want to turn on Object Lock for an existing bucket, contact AWS Support.", "stability": "external", "summary": "Places an Object Lock configuration on the specified bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 894 }, "name": "objectLockConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ObjectLockConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockenabled" }, "remarks": "Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", "stability": "external", "summary": "Indicates whether this bucket has an Object Lock configuration enabled." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 901 }, "name": "objectLockEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-ownershipcontrols" }, "stability": "external", "summary": "Configuration that defines how Amazon S3 handles Object Ownership rules." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 908 }, "name": "ownershipControls", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.OwnershipControlsProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-publicaccessblockconfiguration" }, "stability": "external", "summary": "Configuration that defines how Amazon S3 handles public access." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 915 }, "name": "publicAccessBlockConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.PublicAccessBlockConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-replicationconfiguration" }, "remarks": "To enable replication, you must also enable versioning by using the `VersioningConfiguration` property.\n\nAmazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", "stability": "external", "summary": "Configuration for replicating objects in an S3 bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 924 }, "name": "replicationConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-versioning" }, "remarks": "You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.", "stability": "external", "summary": "Enables multiple versions of all objects in this bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 938 }, "name": "versioningConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.VersioningConfigurationProperty" } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-websiteconfiguration" }, "remarks": "For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) .", "stability": "external", "summary": "Information used to configure the bucket as a static website." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 945 }, "name": "websiteConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.WebsiteConfigurationProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket" }, "@aws-cdk/aws-s3.CfnBucket.AbortIncompleteMultipartUploadProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-abortincompletemultipartupload.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst abortIncompleteMultipartUploadProperty: s3.CfnBucket.AbortIncompleteMultipartUploadProperty = {\n daysAfterInitiation: 123,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.AbortIncompleteMultipartUploadProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1039 }, "name": "AbortIncompleteMultipartUploadProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-abortincompletemultipartupload.html#cfn-s3-bucket-abortincompletemultipartupload-daysafterinitiation" }, "stability": "external", "summary": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1045 }, "name": "daysAfterInitiation", "type": { "primitive": "number" } } ], "symbolId": "lib/s3.generated:CfnBucket.AbortIncompleteMultipartUploadProperty" }, "@aws-cdk/aws-s3.CfnBucket.AccelerateConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accelerateconfiguration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Configures the transfer acceleration state for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst accelerateConfigurationProperty: s3.CfnBucket.AccelerateConfigurationProperty = {\n accelerationStatus: 'accelerationStatus',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.AccelerateConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1107 }, "name": "AccelerateConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accelerateconfiguration.html#cfn-s3-bucket-accelerateconfiguration-accelerationstatus" }, "stability": "external", "summary": "Specifies the transfer acceleration status of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1113 }, "name": "accelerationStatus", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.AccelerateConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.AccessControlTranslationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accesscontroltranslation.html", "exampleMetadata": "fixture=_generated" }, "remarks": "If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", "stability": "external", "summary": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst accessControlTranslationProperty: s3.CfnBucket.AccessControlTranslationProperty = {\n owner: 'owner',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.AccessControlTranslationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1175 }, "name": "AccessControlTranslationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accesscontroltranslation.html#cfn-s3-bucket-accesscontroltranslation-owner" }, "remarks": "For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference* .", "stability": "external", "summary": "Specifies the replica ownership." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1181 }, "name": "owner", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.AccessControlTranslationProperty" }, "@aws-cdk/aws-s3.CfnBucket.AnalyticsConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst analyticsConfigurationProperty: s3.CfnBucket.AnalyticsConfigurationProperty = {\n id: 'id',\n storageClassAnalysis: {\n dataExport: {\n destination: {\n bucketArn: 'bucketArn',\n format: 'format',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n prefix: 'prefix',\n },\n outputSchemaVersion: 'outputSchemaVersion',\n },\n },\n\n // the properties below are optional\n prefix: 'prefix',\n tagFilters: [{\n key: 'key',\n value: 'value',\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.AnalyticsConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1243 }, "name": "AnalyticsConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-id" }, "stability": "external", "summary": "The ID that identifies the analytics configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1249 }, "name": "id", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-storageclassanalysis" }, "stability": "external", "summary": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1261 }, "name": "storageClassAnalysis", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.StorageClassAnalysisProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-prefix" }, "stability": "external", "summary": "The prefix that an object must have to be included in the analytics results." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1255 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-tagfilters" }, "remarks": "The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.", "stability": "external", "summary": "The tags to use when evaluating an analytics filter." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1269 }, "name": "tagFilters", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TagFilterProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.AnalyticsConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.BucketEncryptionProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-bucketencryption.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS) bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst bucketEncryptionProperty: s3.CfnBucket.BucketEncryptionProperty = {\n serverSideEncryptionConfiguration: [{\n bucketKeyEnabled: false,\n serverSideEncryptionByDefault: {\n sseAlgorithm: 'sseAlgorithm',\n\n // the properties below are optional\n kmsMasterKeyId: 'kmsMasterKeyId',\n },\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.BucketEncryptionProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1341 }, "name": "BucketEncryptionProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-bucketencryption.html#cfn-s3-bucket-bucketencryption-serversideencryptionconfiguration" }, "stability": "external", "summary": "Specifies the default server-side-encryption configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1347 }, "name": "serverSideEncryptionConfiguration", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ServerSideEncryptionRuleProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.BucketEncryptionProperty" }, "@aws-cdk/aws-s3.CfnBucket.CorsConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst corsConfigurationProperty: s3.CfnBucket.CorsConfigurationProperty = {\n corsRules: [{\n allowedMethods: ['allowedMethods'],\n allowedOrigins: ['allowedOrigins'],\n\n // the properties below are optional\n allowedHeaders: ['allowedHeaders'],\n exposedHeaders: ['exposedHeaders'],\n id: 'id',\n maxAge: 123,\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.CorsConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1409 }, "name": "CorsConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html#cfn-s3-bucket-cors-corsrule" }, "remarks": "You can add up to 100 rules to the configuration.", "stability": "external", "summary": "A set of origins and methods (cross-origin access that you want to allow)." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1415 }, "name": "corsRules", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.CorsRuleProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.CorsConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.CorsRuleProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies a cross-origin access rule for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst corsRuleProperty: s3.CfnBucket.CorsRuleProperty = {\n allowedMethods: ['allowedMethods'],\n allowedOrigins: ['allowedOrigins'],\n\n // the properties below are optional\n allowedHeaders: ['allowedHeaders'],\n exposedHeaders: ['exposedHeaders'],\n id: 'id',\n maxAge: 123,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.CorsRuleProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1477 }, "name": "CorsRuleProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedmethods" }, "remarks": "*Allowed values* : `GET` | `PUT` | `HEAD` | `POST` | `DELETE`", "stability": "external", "summary": "An HTTP method that you allow the origin to run." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1491 }, "name": "allowedMethods", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedorigins" }, "stability": "external", "summary": "One or more origins you want customers to be able to access the bucket from." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1497 }, "name": "allowedOrigins", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedheaders" }, "remarks": "These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", "stability": "external", "summary": "Headers that are specified in the `Access-Control-Request-Headers` header." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1483 }, "name": "allowedHeaders", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-exposedheaders" }, "stability": "external", "summary": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object)." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1503 }, "name": "exposedHeaders", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-id" }, "remarks": "The value must be no more than 255 characters.", "stability": "external", "summary": "A unique identifier for this rule." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1509 }, "name": "id", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-maxage" }, "stability": "external", "summary": "The time in seconds that your browser is to cache the preflight response for the specified resource." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1515 }, "name": "maxAge", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/s3.generated:CfnBucket.CorsRuleProperty" }, "@aws-cdk/aws-s3.CfnBucket.DataExportProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst dataExportProperty: s3.CfnBucket.DataExportProperty = {\n destination: {\n bucketArn: 'bucketArn',\n format: 'format',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n prefix: 'prefix',\n },\n outputSchemaVersion: 'outputSchemaVersion',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.DataExportProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1593 }, "name": "DataExportProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html#cfn-s3-bucket-dataexport-destination" }, "stability": "external", "summary": "The place to store the data for an analysis." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1599 }, "name": "destination", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.DestinationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html#cfn-s3-bucket-dataexport-outputschemaversion" }, "remarks": "Must be `V_1` .", "stability": "external", "summary": "The version of the output schema to use when exporting data." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1605 }, "name": "outputSchemaVersion", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.DataExportProperty" }, "@aws-cdk/aws-s3.CfnBucket.DefaultRetentionProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html", "exampleMetadata": "fixture=_generated" }, "remarks": "> - The `DefaultRetention` settings require both a mode and a period.\n> - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.", "stability": "external", "summary": "The container element for specifying the default Object Lock retention settings for new objects placed in the specified bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst defaultRetentionProperty: s3.CfnBucket.DefaultRetentionProperty = {\n days: 123,\n mode: 'mode',\n years: 123,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.DefaultRetentionProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1674 }, "name": "DefaultRetentionProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-days" }, "remarks": "If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", "stability": "external", "summary": "The number of days that you want to specify for the default retention period." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1680 }, "name": "days", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-mode" }, "remarks": "If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", "stability": "external", "summary": "The default Object Lock retention mode you want to apply to new objects placed in the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1686 }, "name": "mode", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-years" }, "remarks": "If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", "stability": "external", "summary": "The number of years that you want to specify for the default retention period." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1692 }, "name": "years", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/s3.generated:CfnBucket.DefaultRetentionProperty" }, "@aws-cdk/aws-s3.CfnBucket.DeleteMarkerReplicationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html", "exampleMetadata": "fixture=_generated" }, "remarks": "If you specify a `Filter` in your replication configuration, you must also include a `DeleteMarkerReplication` element. If your `Filter` includes a `Tag` element, the `DeleteMarkerReplication` `Status` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) .\n\nFor more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) .\n\n> If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) .", "stability": "external", "summary": "Specifies whether Amazon S3 replicates delete markers.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst deleteMarkerReplicationProperty: s3.CfnBucket.DeleteMarkerReplicationProperty = {\n status: 'status',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.DeleteMarkerReplicationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1763 }, "name": "DeleteMarkerReplicationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html#cfn-s3-bucket-deletemarkerreplication-status" }, "remarks": "Disabled by default.", "stability": "external", "summary": "Indicates whether to replicate delete markers." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1769 }, "name": "status", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.DeleteMarkerReplicationProperty" }, "@aws-cdk/aws-s3.CfnBucket.DestinationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst destinationProperty: s3.CfnBucket.DestinationProperty = {\n bucketArn: 'bucketArn',\n format: 'format',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n prefix: 'prefix',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.DestinationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1830 }, "name": "DestinationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-bucketarn" }, "stability": "external", "summary": "The Amazon Resource Name (ARN) of the bucket to which data is exported." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1844 }, "name": "bucketArn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-format" }, "remarks": "*Allowed values* : `CSV` | `ORC` | `Parquet`", "stability": "external", "summary": "Specifies the file format used when exporting data to Amazon S3." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1852 }, "name": "format", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-bucketaccountid" }, "remarks": "If no account ID is provided, the owner is not validated before exporting data.\n\n> Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.", "stability": "external", "summary": "The account ID that owns the destination S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1838 }, "name": "bucketAccountId", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-prefix" }, "remarks": "The prefix is prepended to all results.", "stability": "external", "summary": "The prefix to use when exporting data." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1858 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.DestinationProperty" }, "@aws-cdk/aws-s3.CfnBucket.EncryptionConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-encryptionconfiguration.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst encryptionConfigurationProperty: s3.CfnBucket.EncryptionConfigurationProperty = {\n replicaKmsKeyId: 'replicaKmsKeyId',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.EncryptionConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1930 }, "name": "EncryptionConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-encryptionconfiguration.html#cfn-s3-bucket-encryptionconfiguration-replicakmskeyid" }, "remarks": "Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", "stability": "external", "summary": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 1936 }, "name": "replicaKmsKeyId", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.EncryptionConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.EventBridgeConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-eventbridgeconfig.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*", "stability": "external", "summary": "Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide* .", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst eventBridgeConfigurationProperty: s3.CfnBucket.EventBridgeConfigurationProperty = {\n eventBridgeEnabled: false,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.EventBridgeConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2000 }, "name": "EventBridgeConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-eventbridgeconfig.html#cfn-s3-bucket-eventbridgeconfiguration-eventbridgeenabled" }, "stability": "external", "summary": "Enables delivery of events to Amazon EventBridge." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2006 }, "name": "eventBridgeEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.EventBridgeConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.FilterRuleProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or prefix of the key name.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst filterRuleProperty: s3.CfnBucket.FilterRuleProperty = {\n name: 'name',\n value: 'value',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.FilterRuleProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2067 }, "name": "FilterRuleProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key-rules-name" }, "remarks": "The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2073 }, "name": "name", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key-rules-value" }, "stability": "external", "summary": "The value that the filter searches for in object key names." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2079 }, "name": "value", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.FilterRuleProperty" }, "@aws-cdk/aws-s3.CfnBucket.IntelligentTieringConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) .", "stability": "external", "summary": "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst intelligentTieringConfigurationProperty: s3.CfnBucket.IntelligentTieringConfigurationProperty = {\n id: 'id',\n status: 'status',\n tierings: [{\n accessTier: 'accessTier',\n days: 123,\n }],\n\n // the properties below are optional\n prefix: 'prefix',\n tagFilters: [{\n key: 'key',\n value: 'value',\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.IntelligentTieringConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2147 }, "name": "IntelligentTieringConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-id" }, "stability": "external", "summary": "The ID used to identify the S3 Intelligent-Tiering configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2153 }, "name": "id", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-status" }, "stability": "external", "summary": "Specifies the status of the configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2165 }, "name": "status", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-tierings" }, "remarks": "At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` .\n\n> You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.", "stability": "external", "summary": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2179 }, "name": "tierings", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TieringProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-prefix" }, "stability": "external", "summary": "An object key name prefix that identifies the subset of objects to which the rule applies." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2159 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-tagfilters" }, "stability": "external", "summary": "A container for a key-value pair." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2171 }, "name": "tagFilters", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TagFilterProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.IntelligentTieringConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.InventoryConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .", "stability": "external", "summary": "Specifies the inventory configuration for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst inventoryConfigurationProperty: s3.CfnBucket.InventoryConfigurationProperty = {\n destination: {\n bucketArn: 'bucketArn',\n format: 'format',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n prefix: 'prefix',\n },\n enabled: false,\n id: 'id',\n includedObjectVersions: 'includedObjectVersions',\n scheduleFrequency: 'scheduleFrequency',\n\n // the properties below are optional\n optionalFields: ['optionalFields'],\n prefix: 'prefix',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.InventoryConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2255 }, "name": "InventoryConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-destination" }, "stability": "external", "summary": "Contains information about where to publish the inventory results." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2261 }, "name": "destination", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.DestinationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-enabled" }, "remarks": "If set to `True` , an inventory list is generated. If set to `False` , no inventory list is generated.", "stability": "external", "summary": "Specifies whether the inventory is enabled or disabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2267 }, "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-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-id" }, "stability": "external", "summary": "The ID used to identify the inventory configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2273 }, "name": "id", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-includedobjectversions" }, "remarks": "If set to `All` , the list includes all the object versions, which adds the version-related fields `VersionId` , `IsLatest` , and `DeleteMarker` to the list. If set to `Current` , the list does not contain these version-related fields.", "stability": "external", "summary": "Object versions to include in the inventory list." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2279 }, "name": "includedObjectVersions", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-schedulefrequency" }, "remarks": "*Allowed values* : `Daily` | `Weekly`", "stability": "external", "summary": "Specifies the schedule for generating inventory results." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2301 }, "name": "scheduleFrequency", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-optionalfields" }, "remarks": "*Valid values* : `Size | LastModifiedDate | StorageClass | ETag | IsMultipartUploaded | ReplicationStatus | EncryptionStatus | ObjectLockRetainUntilDate | ObjectLockMode | ObjectLockLegalHoldStatus | IntelligentTieringAccessTier | BucketKeyStatus`", "stability": "external", "summary": "Contains the optional fields that are included in the inventory results." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2287 }, "name": "optionalFields", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-prefix" }, "stability": "external", "summary": "Specifies the inventory filter prefix." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2293 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.InventoryConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.LambdaConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Describes the AWS Lambda functions to invoke and the events for which to invoke them.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst lambdaConfigurationProperty: s3.CfnBucket.LambdaConfigurationProperty = {\n event: 'event',\n function: 'function',\n\n // the properties below are optional\n filter: {\n s3Key: {\n rules: [{\n name: 'name',\n value: 'value',\n }],\n },\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.LambdaConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2385 }, "name": "LambdaConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-event" }, "remarks": "For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The Amazon S3 bucket event for which to invoke the AWS Lambda function." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2391 }, "name": "event", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-function" }, "stability": "external", "summary": "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2403 }, "name": "function", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-filter" }, "remarks": "For example, you can create a filter so that only image files with a `.jpg` extension invoke the function when they are added to the Amazon S3 bucket.", "stability": "external", "summary": "The filtering rules that determine which objects invoke the AWS Lambda function." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2397 }, "name": "filter", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.NotificationFilterProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.LambdaConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.LifecycleConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst lifecycleConfigurationProperty: s3.CfnBucket.LifecycleConfigurationProperty = {\n rules: [{\n status: 'status',\n\n // the properties below are optional\n abortIncompleteMultipartUpload: {\n daysAfterInitiation: 123,\n },\n expirationDate: new Date(),\n expirationInDays: 123,\n expiredObjectDeleteMarker: false,\n id: 'id',\n noncurrentVersionExpiration: {\n noncurrentDays: 123,\n\n // the properties below are optional\n newerNoncurrentVersions: 123,\n },\n noncurrentVersionExpirationInDays: 123,\n noncurrentVersionTransition: {\n storageClass: 'storageClass',\n transitionInDays: 123,\n\n // the properties below are optional\n newerNoncurrentVersions: 123,\n },\n noncurrentVersionTransitions: [{\n storageClass: 'storageClass',\n transitionInDays: 123,\n\n // the properties below are optional\n newerNoncurrentVersions: 123,\n }],\n objectSizeGreaterThan: 123,\n objectSizeLessThan: 123,\n prefix: 'prefix',\n tagFilters: [{\n key: 'key',\n value: 'value',\n }],\n transition: {\n storageClass: 'storageClass',\n\n // the properties below are optional\n transitionDate: new Date(),\n transitionInDays: 123,\n },\n transitions: [{\n storageClass: 'storageClass',\n\n // the properties below are optional\n transitionDate: new Date(),\n transitionInDays: 123,\n }],\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.LifecycleConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2472 }, "name": "LifecycleConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html#cfn-s3-bucket-lifecycleconfig-rules" }, "stability": "external", "summary": "A lifecycle rule for individual objects in an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2478 }, "name": "rules", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.RuleProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.LifecycleConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.LoggingConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference* .\n\n> To successfully complete the `AWS::S3::Bucket LoggingConfiguration` request, you must have `s3:PutObject` and `s3:PutObjectAcl` in your IAM permissions.", "stability": "external", "summary": "Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst loggingConfigurationProperty: s3.CfnBucket.LoggingConfigurationProperty = {\n destinationBucketName: 'destinationBucketName',\n logFilePrefix: 'logFilePrefix',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.LoggingConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2542 }, "name": "LoggingConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html#cfn-s3-bucket-loggingconfig-destinationbucketname" }, "remarks": "You can store log files in any bucket that you own. By default, logs are stored in the bucket where the `LoggingConfiguration` property is defined.", "stability": "external", "summary": "The name of the bucket where Amazon S3 should store server access log files." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2548 }, "name": "destinationBucketName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html#cfn-s3-bucket-loggingconfig-logfileprefix" }, "remarks": "If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.", "stability": "external", "summary": "A prefix for all log object keys." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2554 }, "name": "logFilePrefix", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.LoggingConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.MetricsConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For examples, see [AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#aws-properties-s3-bucket--examples) . For more information, see [PUT Bucket metrics](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) in the *Amazon S3 API Reference* .", "stability": "external", "summary": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst metricsConfigurationProperty: s3.CfnBucket.MetricsConfigurationProperty = {\n id: 'id',\n\n // the properties below are optional\n accessPointArn: 'accessPointArn',\n prefix: 'prefix',\n tagFilters: [{\n key: 'key',\n value: 'value',\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.MetricsConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2695 }, "name": "MetricsConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-id" }, "remarks": "This can be any value you choose that helps you identify your metrics configuration.", "stability": "external", "summary": "The ID used to identify the metrics configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2707 }, "name": "id", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-accesspointarn" }, "remarks": "The metrics configuration only includes objects that meet the filter's criteria.", "stability": "external", "summary": "The access point that was used while performing operations on the object." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2701 }, "name": "accessPointArn", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-prefix" }, "stability": "external", "summary": "The prefix that an object must have to be included in the metrics results." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2713 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-tagfilters" }, "remarks": "The metrics configuration includes only objects that meet the filter's criteria.", "stability": "external", "summary": "Specifies a list of tag filters to use as a metrics configuration filter." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2719 }, "name": "tagFilters", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TagFilterProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.MetricsConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.MetricsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "A container specifying replication metrics-related settings enabling replication metrics and events.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst metricsProperty: s3.CfnBucket.MetricsProperty = {\n status: 'status',\n\n // the properties below are optional\n eventThreshold: {\n minutes: 123,\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.MetricsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2618 }, "name": "MetricsProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-status" }, "stability": "external", "summary": "Specifies whether the replication metrics are enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2630 }, "name": "status", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-eventthreshold" }, "stability": "external", "summary": "A container specifying the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2624 }, "name": "eventThreshold", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationTimeValueProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.MetricsProperty" }, "@aws-cdk/aws-s3.CfnBucket.NoncurrentVersionExpirationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.", "stability": "external", "summary": "Specifies when noncurrent object versions expire.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst noncurrentVersionExpirationProperty: s3.CfnBucket.NoncurrentVersionExpirationProperty = {\n noncurrentDays: 123,\n\n // the properties below are optional\n newerNoncurrentVersions: 123,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.NoncurrentVersionExpirationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2790 }, "name": "NoncurrentVersionExpirationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration-noncurrentdays" }, "remarks": "For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2802 }, "name": "noncurrentDays", "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration-newernoncurrentversions" }, "remarks": "If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies how many noncurrent versions Amazon S3 will retain." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2796 }, "name": "newerNoncurrentVersions", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/s3.generated:CfnBucket.NoncurrentVersionExpirationProperty" }, "@aws-cdk/aws-s3.CfnBucket.NoncurrentVersionTransitionProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html", "exampleMetadata": "fixture=_generated" }, "remarks": "If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the `STANDARD_IA` , `ONEZONE_IA` , `INTELLIGENT_TIERING` , `GLACIER_IR` , `GLACIER` , or `DEEP_ARCHIVE` storage class at a specific period in the object's lifetime. If you specify this property, don't specify the `NoncurrentVersionTransitions` property.", "stability": "external", "summary": "Container for the transition rule that describes when noncurrent objects transition to the `STANDARD_IA` , `ONEZONE_IA` , `INTELLIGENT_TIERING` , `GLACIER_IR` , `GLACIER` , or `DEEP_ARCHIVE` storage class.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst noncurrentVersionTransitionProperty: s3.CfnBucket.NoncurrentVersionTransitionProperty = {\n storageClass: 'storageClass',\n transitionInDays: 123,\n\n // the properties below are optional\n newerNoncurrentVersions: 123,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.NoncurrentVersionTransitionProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2867 }, "name": "NoncurrentVersionTransitionProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition-storageclass" }, "stability": "external", "summary": "The class of storage used to store the object." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2879 }, "name": "storageClass", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition-transitionindays" }, "remarks": "For information about the noncurrent days calculations, see [How Amazon S3 Calculates How Long an Object Has Been Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2885 }, "name": "transitionInDays", "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition-newernoncurrentversions" }, "remarks": "If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies how many noncurrent versions Amazon S3 will retain." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2873 }, "name": "newerNoncurrentVersions", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/s3.generated:CfnBucket.NoncurrentVersionTransitionProperty" }, "@aws-cdk/aws-s3.CfnBucket.NotificationConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html", "exampleMetadata": "fixture=_generated" }, "remarks": "> If you create the target resource and related permissions in the same template, you might have a circular dependency.\n>\n> For example, you might use the `AWS::Lambda::Permission` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function ( AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.\n>\n> To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.\n>\n> For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3) .", "stability": "external", "summary": "Describes the notification configuration for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst notificationConfigurationProperty: s3.CfnBucket.NotificationConfigurationProperty = {\n eventBridgeConfiguration: {\n eventBridgeEnabled: false,\n },\n lambdaConfigurations: [{\n event: 'event',\n function: 'function',\n\n // the properties below are optional\n filter: {\n s3Key: {\n rules: [{\n name: 'name',\n value: 'value',\n }],\n },\n },\n }],\n queueConfigurations: [{\n event: 'event',\n queue: 'queue',\n\n // the properties below are optional\n filter: {\n s3Key: {\n rules: [{\n name: 'name',\n value: 'value',\n }],\n },\n },\n }],\n topicConfigurations: [{\n event: 'event',\n topic: 'topic',\n\n // the properties below are optional\n filter: {\n s3Key: {\n rules: [{\n name: 'name',\n value: 'value',\n }],\n },\n },\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.NotificationConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2962 }, "name": "NotificationConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-eventbridgeconfig" }, "stability": "external", "summary": "Enables delivery of events to Amazon EventBridge." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2968 }, "name": "eventBridgeConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.EventBridgeConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig" }, "stability": "external", "summary": "Describes the AWS Lambda functions to invoke and the events for which to invoke them." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2974 }, "name": "lambdaConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.LambdaConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-queueconfig" }, "stability": "external", "summary": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2980 }, "name": "queueConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.QueueConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-topicconfig" }, "stability": "external", "summary": "The topic to which notifications are sent and the events for which notifications are generated." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 2986 }, "name": "topicConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TopicConfigurationProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.NotificationConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.NotificationFilterProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies object key name filtering rules.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst notificationFilterProperty: s3.CfnBucket.NotificationFilterProperty = {\n s3Key: {\n rules: [{\n name: 'name',\n value: 'value',\n }],\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.NotificationFilterProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3056 }, "name": "NotificationFilterProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key" }, "stability": "external", "summary": "A container for object key name prefix and suffix filtering rules." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3062 }, "name": "s3Key", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.S3KeyFilterProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.NotificationFilterProperty" }, "@aws-cdk/aws-s3.CfnBucket.ObjectLockConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .", "stability": "external", "summary": "Places an Object Lock configuration on the specified bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst objectLockConfigurationProperty: s3.CfnBucket.ObjectLockConfigurationProperty = {\n objectLockEnabled: 'objectLockEnabled',\n rule: {\n defaultRetention: {\n days: 123,\n mode: 'mode',\n years: 123,\n },\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ObjectLockConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3124 }, "name": "ObjectLockConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html#cfn-s3-bucket-objectlockconfiguration-objectlockenabled" }, "remarks": "Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", "stability": "external", "summary": "Indicates whether this bucket has an Object Lock configuration enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3130 }, "name": "objectLockEnabled", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html#cfn-s3-bucket-objectlockconfiguration-rule" }, "remarks": "Enable this rule when you apply `ObjectLockConfiguration` to a bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", "stability": "external", "summary": "Specifies the Object Lock rule for the specified object." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3136 }, "name": "rule", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ObjectLockRuleProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.ObjectLockConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.ObjectLockRuleProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Enable the this rule when you apply `ObjectLockConfiguration` to a bucket.", "stability": "external", "summary": "Specifies the Object Lock rule for the specified object.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst objectLockRuleProperty: s3.CfnBucket.ObjectLockRuleProperty = {\n defaultRetention: {\n days: 123,\n mode: 'mode',\n years: 123,\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ObjectLockRuleProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3200 }, "name": "ObjectLockRuleProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html#cfn-s3-bucket-objectlockrule-defaultretention" }, "remarks": "If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", "stability": "external", "summary": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3206 }, "name": "defaultRetention", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.DefaultRetentionProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.ObjectLockRuleProperty" }, "@aws-cdk/aws-s3.CfnBucket.OwnershipControlsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html", "exampleMetadata": "fixture=_generated" }, "remarks": "S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the container element for Object Ownership rules.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst ownershipControlsProperty: s3.CfnBucket.OwnershipControlsProperty = {\n rules: [{\n objectOwnership: 'objectOwnership',\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.OwnershipControlsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3269 }, "name": "OwnershipControlsProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html#cfn-s3-bucket-ownershipcontrols-rules" }, "stability": "external", "summary": "Specifies the container element for Object Ownership rules." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3275 }, "name": "rules", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.OwnershipControlsRuleProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.OwnershipControlsProperty" }, "@aws-cdk/aws-s3.CfnBucket.OwnershipControlsRuleProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrolsrule.html", "exampleMetadata": "fixture=_generated" }, "remarks": "S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies an Object Ownership rule.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst ownershipControlsRuleProperty: s3.CfnBucket.OwnershipControlsRuleProperty = {\n objectOwnership: 'objectOwnership',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.OwnershipControlsRuleProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3339 }, "name": "OwnershipControlsRuleProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrolsrule.html#cfn-s3-bucket-ownershipcontrolsrule-objectownership" }, "remarks": "*Allowed values* : `BucketOwnerEnforced` | `ObjectWriter` | `BucketOwnerPreferred`", "stability": "external", "summary": "Specifies an Object Ownership rule." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3347 }, "name": "objectOwnership", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.OwnershipControlsRuleProperty" }, "@aws-cdk/aws-s3.CfnBucket.PublicAccessBlockConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst publicAccessBlockConfigurationProperty: s3.CfnBucket.PublicAccessBlockConfigurationProperty = {\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.PublicAccessBlockConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3408 }, "name": "PublicAccessBlockConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicacls" }, "remarks": "Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", "stability": "external", "summary": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3420 }, "name": "blockPublicAcls", "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-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicpolicy" }, "remarks": "Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", "stability": "external", "summary": "Specifies whether Amazon S3 should block public bucket policies for this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3428 }, "name": "blockPublicPolicy", "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-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-ignorepublicacls" }, "remarks": "Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", "stability": "external", "summary": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3436 }, "name": "ignorePublicAcls", "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-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-restrictpublicbuckets" }, "remarks": "Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", "stability": "external", "summary": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3444 }, "name": "restrictPublicBuckets", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.PublicAccessBlockConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.QueueConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst queueConfigurationProperty: s3.CfnBucket.QueueConfigurationProperty = {\n event: 'event',\n queue: 'queue',\n\n // the properties below are optional\n filter: {\n s3Key: {\n rules: [{\n name: 'name',\n value: 'value',\n }],\n },\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.QueueConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3514 }, "name": "QueueConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-event" }, "remarks": "For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3520 }, "name": "event", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-queue" }, "remarks": "FIFO queues are not allowed when enabling an SQS queue as the event notification destination.", "stability": "external", "summary": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3532 }, "name": "queue", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-filter" }, "remarks": "For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The filtering rules that determine which objects trigger notifications." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3526 }, "name": "filter", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.NotificationFilterProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.QueueConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.RedirectAllRequestsToProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst redirectAllRequestsToProperty: s3.CfnBucket.RedirectAllRequestsToProperty = {\n hostName: 'hostName',\n\n // the properties below are optional\n protocol: 'protocol',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.RedirectAllRequestsToProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3601 }, "name": "RedirectAllRequestsToProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html#cfn-s3-websiteconfiguration-redirectallrequeststo-hostname" }, "stability": "external", "summary": "Name of the host where requests are redirected." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3607 }, "name": "hostName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html#cfn-s3-websiteconfiguration-redirectallrequeststo-protocol" }, "remarks": "The default is the protocol that is used in the original request.", "stability": "external", "summary": "Protocol to use when redirecting requests." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3613 }, "name": "protocol", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.RedirectAllRequestsToProperty" }, "@aws-cdk/aws-s3.CfnBucket.RedirectRuleProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html", "exampleMetadata": "fixture=_generated" }, "remarks": "In the event of an error, you can specify a different error code to return.", "stability": "external", "summary": "Specifies how requests are redirected.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst redirectRuleProperty: s3.CfnBucket.RedirectRuleProperty = {\n hostName: 'hostName',\n httpRedirectCode: 'httpRedirectCode',\n protocol: 'protocol',\n replaceKeyPrefixWith: 'replaceKeyPrefixWith',\n replaceKeyWith: 'replaceKeyWith',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.RedirectRuleProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3678 }, "name": "RedirectRuleProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-hostname" }, "stability": "external", "summary": "The host name to use in the redirect request." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3684 }, "name": "hostName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-httpredirectcode" }, "remarks": "Not required if one of the siblings is present.", "stability": "external", "summary": "The HTTP redirect code to use on the response." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3690 }, "name": "httpRedirectCode", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-protocol" }, "remarks": "The default is the protocol that is used in the original request.", "stability": "external", "summary": "Protocol to use when redirecting requests." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3696 }, "name": "protocol", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-replacekeyprefixwith" }, "remarks": "For example, to redirect requests for all pages with prefix `docs/` (objects in the `docs/` folder) to `documents/` , you can set a condition block with `KeyPrefixEquals` set to `docs/` and in the Redirect set `ReplaceKeyPrefixWith` to `/documents` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", "stability": "external", "summary": "The object key prefix to use in the redirect request." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3704 }, "name": "replaceKeyPrefixWith", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-replacekeywith" }, "remarks": "For example, redirect request to `error.html` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyPrefixWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", "stability": "external", "summary": "The specific object key to use in the redirect request." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3712 }, "name": "replaceKeyWith", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.RedirectRuleProperty" }, "@aws-cdk/aws-s3.CfnBucket.ReplicaModificationsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicamodifications.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "A filter that you can specify for selection for modifications on replicas.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst replicaModificationsProperty: s3.CfnBucket.ReplicaModificationsProperty = {\n status: 'status',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicaModificationsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3785 }, "name": "ReplicaModificationsProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicamodifications.html#cfn-s3-bucket-replicamodifications-status" }, "remarks": "*Allowed values* : `Enabled` | `Disabled`", "stability": "external", "summary": "Specifies whether Amazon S3 replicates modifications on replicas." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3793 }, "name": "status", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.ReplicaModificationsProperty" }, "@aws-cdk/aws-s3.CfnBucket.ReplicationConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.", "stability": "external", "summary": "A container for replication rules.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst replicationConfigurationProperty: s3.CfnBucket.ReplicationConfigurationProperty = {\n role: 'role',\n rules: [{\n destination: {\n bucket: 'bucket',\n\n // the properties below are optional\n accessControlTranslation: {\n owner: 'owner',\n },\n account: 'account',\n encryptionConfiguration: {\n replicaKmsKeyId: 'replicaKmsKeyId',\n },\n metrics: {\n status: 'status',\n\n // the properties below are optional\n eventThreshold: {\n minutes: 123,\n },\n },\n replicationTime: {\n status: 'status',\n time: {\n minutes: 123,\n },\n },\n storageClass: 'storageClass',\n },\n status: 'status',\n\n // the properties below are optional\n deleteMarkerReplication: {\n status: 'status',\n },\n filter: {\n and: {\n prefix: 'prefix',\n tagFilters: [{\n key: 'key',\n value: 'value',\n }],\n },\n prefix: 'prefix',\n tagFilter: {\n key: 'key',\n value: 'value',\n },\n },\n id: 'id',\n prefix: 'prefix',\n priority: 123,\n sourceSelectionCriteria: {\n replicaModifications: {\n status: 'status',\n },\n sseKmsEncryptedObjects: {\n status: 'status',\n },\n },\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3855 }, "name": "ReplicationConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html#cfn-s3-bucket-replicationconfiguration-role" }, "remarks": "For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3861 }, "name": "role", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html#cfn-s3-bucket-replicationconfiguration-rules" }, "remarks": "A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.", "stability": "external", "summary": "A container for one or more replication rules." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3867 }, "name": "rules", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationRuleProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.ReplicationConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.ReplicationDestinationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst replicationDestinationProperty: s3.CfnBucket.ReplicationDestinationProperty = {\n bucket: 'bucket',\n\n // the properties below are optional\n accessControlTranslation: {\n owner: 'owner',\n },\n account: 'account',\n encryptionConfiguration: {\n replicaKmsKeyId: 'replicaKmsKeyId',\n },\n metrics: {\n status: 'status',\n\n // the properties below are optional\n eventThreshold: {\n minutes: 123,\n },\n },\n replicationTime: {\n status: 'status',\n time: {\n minutes: 123,\n },\n },\n storageClass: 'storageClass',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationDestinationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3933 }, "name": "ReplicationDestinationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationconfiguration-rules-destination-bucket" }, "stability": "external", "summary": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3953 }, "name": "bucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-accesscontroltranslation" }, "remarks": "If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", "stability": "external", "summary": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3939 }, "name": "accessControlTranslation", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.AccessControlTranslationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-account" }, "remarks": "In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS account that owns the destination bucket by specifying the `AccessControlTranslation` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide* .\n\nIf you specify the `AccessControlTranslation` property, the `Account` property is required.", "stability": "external", "summary": "Destination bucket owner account ID." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3947 }, "name": "account", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-encryptionconfiguration" }, "stability": "external", "summary": "Specifies encryption-related information." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3959 }, "name": "encryptionConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.EncryptionConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-metrics" }, "stability": "external", "summary": "A container specifying replication metrics-related settings enabling replication metrics and events." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3965 }, "name": "metrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.MetricsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-replicationtime" }, "remarks": "Must be specified together with a `Metrics` block.", "stability": "external", "summary": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3971 }, "name": "replicationTime", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationTimeProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationconfiguration-rules-destination-storageclass" }, "remarks": "By default, Amazon S3 uses the storage class of the source object to create the object replica.\n\nFor valid values, see the `StorageClass` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference* .", "stability": "external", "summary": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 3979 }, "name": "storageClass", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.ReplicationDestinationProperty" }, "@aws-cdk/aws-s3.CfnBucket.ReplicationRuleAndOperatorProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter.\n\nFor example:\n\n- If you specify both a `Prefix` and a `TagFilter` , wrap these filters in an `And` tag.\n- If you specify a filter based on multiple tags, wrap the `TagFilter` elements in an `And` tag", "stability": "external", "summary": "A container for specifying rule filters.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst replicationRuleAndOperatorProperty: s3.CfnBucket.ReplicationRuleAndOperatorProperty = {\n prefix: 'prefix',\n tagFilters: [{\n key: 'key',\n value: 'value',\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationRuleAndOperatorProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4206 }, "name": "ReplicationRuleAndOperatorProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html#cfn-s3-bucket-replicationruleandoperator-prefix" }, "stability": "external", "summary": "An object key name prefix that identifies the subset of objects to which the rule applies." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4212 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html#cfn-s3-bucket-replicationruleandoperator-tagfilters" }, "stability": "external", "summary": "An array of tags containing key and value pairs." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4218 }, "name": "tagFilters", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TagFilterProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.ReplicationRuleAndOperatorProperty" }, "@aws-cdk/aws-s3.CfnBucket.ReplicationRuleFilterProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html", "exampleMetadata": "fixture=_generated" }, "remarks": "A `Filter` must specify exactly one `Prefix` , `TagFilter` , or an `And` child element.", "stability": "external", "summary": "A filter that identifies the subset of objects to which the replication rule applies.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst replicationRuleFilterProperty: s3.CfnBucket.ReplicationRuleFilterProperty = {\n and: {\n prefix: 'prefix',\n tagFilters: [{\n key: 'key',\n value: 'value',\n }],\n },\n prefix: 'prefix',\n tagFilter: {\n key: 'key',\n value: 'value',\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationRuleFilterProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4282 }, "name": "ReplicationRuleFilterProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-and" }, "remarks": "The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:\n\n- If you specify both a `Prefix` and a `TagFilter` , wrap these filters in an `And` tag.\n- If you specify a filter based on multiple tags, wrap the `TagFilter` elements in an `And` tag.", "stability": "external", "summary": "A container for specifying rule filters." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4291 }, "name": "and", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationRuleAndOperatorProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-prefix" }, "remarks": "> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", "stability": "external", "summary": "An object key name prefix that identifies the subset of objects to which the rule applies." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4299 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-tagfilter" }, "remarks": "The rule applies only to objects that have the tag in their tag set.", "stability": "external", "summary": "A container for specifying a tag key and value." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4307 }, "name": "tagFilter", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TagFilterProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.ReplicationRuleFilterProperty" }, "@aws-cdk/aws-s3.CfnBucket.ReplicationRuleProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies which Amazon S3 objects to replicate and where to store the replicas.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst replicationRuleProperty: s3.CfnBucket.ReplicationRuleProperty = {\n destination: {\n bucket: 'bucket',\n\n // the properties below are optional\n accessControlTranslation: {\n owner: 'owner',\n },\n account: 'account',\n encryptionConfiguration: {\n replicaKmsKeyId: 'replicaKmsKeyId',\n },\n metrics: {\n status: 'status',\n\n // the properties below are optional\n eventThreshold: {\n minutes: 123,\n },\n },\n replicationTime: {\n status: 'status',\n time: {\n minutes: 123,\n },\n },\n storageClass: 'storageClass',\n },\n status: 'status',\n\n // the properties below are optional\n deleteMarkerReplication: {\n status: 'status',\n },\n filter: {\n and: {\n prefix: 'prefix',\n tagFilters: [{\n key: 'key',\n value: 'value',\n }],\n },\n prefix: 'prefix',\n tagFilter: {\n key: 'key',\n value: 'value',\n },\n },\n id: 'id',\n prefix: 'prefix',\n priority: 123,\n sourceSelectionCriteria: {\n replicaModifications: {\n status: 'status',\n },\n sseKmsEncryptedObjects: {\n status: 'status',\n },\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationRuleProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4059 }, "name": "ReplicationRuleProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-destination" }, "stability": "external", "summary": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC)." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4075 }, "name": "destination", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationDestinationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-status" }, "stability": "external", "summary": "Specifies whether the rule is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4117 }, "name": "status", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-deletemarkerreplication" }, "remarks": "If you specify a `Filter` in your replication configuration, you must also include a `DeleteMarkerReplication` element. If your `Filter` includes a `Tag` element, the `DeleteMarkerReplication` `Status` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) .\n\nFor more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) .\n\n> If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) .", "stability": "external", "summary": "Specifies whether Amazon S3 replicates delete markers." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4069 }, "name": "deleteMarkerReplication", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.DeleteMarkerReplicationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-filter" }, "remarks": "A `Filter` must specify exactly one `Prefix` , `TagFilter` , or an `And` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n\n> V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.", "stability": "external", "summary": "A filter that identifies the subset of objects to which the replication rule applies." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4083 }, "name": "filter", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationRuleFilterProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-id" }, "remarks": "The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".", "stability": "external", "summary": "A unique identifier for the rule." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4089 }, "name": "id", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-prefix" }, "remarks": "The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", "stability": "external", "summary": "An object key name prefix that identifies the object or objects to which the rule applies." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4097 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-priority" }, "remarks": "Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.\n\nFor more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The priority indicates which rule has precedence whenever two or more replication rules conflict." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4105 }, "name": "priority", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-sourceselectioncriteria" }, "remarks": "You can choose to enable or disable the replication of these objects.", "stability": "external", "summary": "A container that describes additional filters for identifying the source objects that you want to replicate." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4111 }, "name": "sourceSelectionCriteria", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.SourceSelectionCriteriaProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.ReplicationRuleProperty" }, "@aws-cdk/aws-s3.CfnBucket.ReplicationTimeProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Must be specified together with a `Metrics` block.", "stability": "external", "summary": "A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst replicationTimeProperty: s3.CfnBucket.ReplicationTimeProperty = {\n status: 'status',\n time: {\n minutes: 123,\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationTimeProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4374 }, "name": "ReplicationTimeProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html#cfn-s3-bucket-replicationtime-status" }, "stability": "external", "summary": "Specifies whether the replication time is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4380 }, "name": "status", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html#cfn-s3-bucket-replicationtime-time" }, "stability": "external", "summary": "A container specifying the time by which replication should be complete for all objects and operations on objects." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4386 }, "name": "time", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationTimeValueProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.ReplicationTimeProperty" }, "@aws-cdk/aws-s3.CfnBucket.ReplicationTimeValueProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtimevalue.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics `EventThreshold` .", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst replicationTimeValueProperty: s3.CfnBucket.ReplicationTimeValueProperty = {\n minutes: 123,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationTimeValueProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4452 }, "name": "ReplicationTimeValueProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtimevalue.html#cfn-s3-bucket-replicationtimevalue-minutes" }, "remarks": "Valid value: 15", "stability": "external", "summary": "Contains an integer specifying time in minutes." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4460 }, "name": "minutes", "type": { "primitive": "number" } } ], "symbolId": "lib/s3.generated:CfnBucket.ReplicationTimeValueProperty" }, "@aws-cdk/aws-s3.CfnBucket.RoutingRuleConditionProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For example, 1. If request is for pages in the `/docs` folder, redirect to the `/documents` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", "stability": "external", "summary": "A container for describing a condition that must be met for the specified redirect to apply.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst routingRuleConditionProperty: s3.CfnBucket.RoutingRuleConditionProperty = {\n httpErrorCodeReturnedEquals: 'httpErrorCodeReturnedEquals',\n keyPrefixEquals: 'keyPrefixEquals',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.RoutingRuleConditionProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4599 }, "name": "RoutingRuleConditionProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition-httperrorcodereturnedequals" }, "remarks": "In the event of an error, if the error code equals this value, then the specified redirect is applied.\n\nRequired when parent element `Condition` is specified and sibling `KeyPrefixEquals` is not specified. If both are specified, then both must be true for the redirect to be applied.", "stability": "external", "summary": "The HTTP error code when the redirect is applied." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4607 }, "name": "httpErrorCodeReturnedEquals", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition-keyprefixequals" }, "remarks": "For example, to redirect requests for `ExamplePage.html` , the key prefix will be `ExamplePage.html` . To redirect request for all pages with the prefix `docs/` , the key prefix will be `/docs` , which identifies all objects in the docs/ folder.\n\nRequired when the parent element `Condition` is specified and sibling `HttpErrorCodeReturnedEquals` is not specified. If both conditions are specified, both must be true for the redirect to be applied.", "stability": "external", "summary": "The object key name prefix when the redirect is applied." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4615 }, "name": "keyPrefixEquals", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.RoutingRuleConditionProperty" }, "@aws-cdk/aws-s3.CfnBucket.RoutingRuleProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the redirect behavior and when a redirect is applied.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst routingRuleProperty: s3.CfnBucket.RoutingRuleProperty = {\n redirectRule: {\n hostName: 'hostName',\n httpRedirectCode: 'httpRedirectCode',\n protocol: 'protocol',\n replaceKeyPrefixWith: 'replaceKeyPrefixWith',\n replaceKeyWith: 'replaceKeyWith',\n },\n\n // the properties below are optional\n routingRuleCondition: {\n httpErrorCodeReturnedEquals: 'httpErrorCodeReturnedEquals',\n keyPrefixEquals: 'keyPrefixEquals',\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.RoutingRuleProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4522 }, "name": "RoutingRuleProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html#cfn-s3-websiteconfiguration-routingrules-redirectrule" }, "remarks": "You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", "stability": "external", "summary": "Container for redirect information." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4528 }, "name": "redirectRule", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.RedirectRuleProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition" }, "remarks": "For example, 1. If request is for pages in the `/docs` folder, redirect to the `/documents` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", "stability": "external", "summary": "A container for describing a condition that must be met for the specified redirect to apply." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4534 }, "name": "routingRuleCondition", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.RoutingRuleConditionProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.RoutingRuleProperty" }, "@aws-cdk/aws-s3.CfnBucket.RuleProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference* .\n\nYou must specify at least one of the following properties: `AbortIncompleteMultipartUpload` , `ExpirationDate` , `ExpirationInDays` , `NoncurrentVersionExpirationInDays` , `NoncurrentVersionTransition` , `NoncurrentVersionTransitions` , `Transition` , or `Transitions` .", "stability": "external", "summary": "Specifies lifecycle rules for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst ruleProperty: s3.CfnBucket.RuleProperty = {\n status: 'status',\n\n // the properties below are optional\n abortIncompleteMultipartUpload: {\n daysAfterInitiation: 123,\n },\n expirationDate: new Date(),\n expirationInDays: 123,\n expiredObjectDeleteMarker: false,\n id: 'id',\n noncurrentVersionExpiration: {\n noncurrentDays: 123,\n\n // the properties below are optional\n newerNoncurrentVersions: 123,\n },\n noncurrentVersionExpirationInDays: 123,\n noncurrentVersionTransition: {\n storageClass: 'storageClass',\n transitionInDays: 123,\n\n // the properties below are optional\n newerNoncurrentVersions: 123,\n },\n noncurrentVersionTransitions: [{\n storageClass: 'storageClass',\n transitionInDays: 123,\n\n // the properties below are optional\n newerNoncurrentVersions: 123,\n }],\n objectSizeGreaterThan: 123,\n objectSizeLessThan: 123,\n prefix: 'prefix',\n tagFilters: [{\n key: 'key',\n value: 'value',\n }],\n transition: {\n storageClass: 'storageClass',\n\n // the properties below are optional\n transitionDate: new Date(),\n transitionInDays: 123,\n },\n transitions: [{\n storageClass: 'storageClass',\n\n // the properties below are optional\n transitionDate: new Date(),\n transitionInDays: 123,\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.RuleProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4681 }, "name": "RuleProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-status" }, "remarks": "If `Disabled` , the rule is not currently being applied.", "stability": "external", "summary": "If `Enabled` , the rule is currently being applied." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4761 }, "name": "status", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-abortincompletemultipartupload" }, "stability": "external", "summary": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4687 }, "name": "abortIncompleteMultipartUpload", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.AbortIncompleteMultipartUploadProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-expirationdate" }, "remarks": "The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", "stability": "external", "summary": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4693 }, "name": "expirationDate", "optional": true, "type": { "union": { "types": [ { "primitive": "date" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-expirationindays" }, "remarks": "If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", "stability": "external", "summary": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4699 }, "name": "expirationInDays", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-expiredobjectdeletemarker" }, "remarks": "If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with `ExpirationInDays` , `ExpirationDate` , or `TagFilters` .", "stability": "external", "summary": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4705 }, "name": "expiredObjectDeleteMarker", "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-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-id" }, "remarks": "The value can't be longer than 255 characters.", "stability": "external", "summary": "Unique identifier for the rule." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4711 }, "name": "id", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration" }, "remarks": "Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.", "stability": "external", "summary": "Specifies when noncurrent object versions expire." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4717 }, "name": "noncurrentVersionExpiration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.NoncurrentVersionExpirationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpirationindays" }, "stability": "external", "summary": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4723 }, "name": "noncurrentVersionExpirationInDays", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition" }, "stability": "external", "summary": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransitions` property." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4729 }, "name": "noncurrentVersionTransition", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.NoncurrentVersionTransitionProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransitions" }, "remarks": "If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransition` property.", "stability": "external", "summary": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4735 }, "name": "noncurrentVersionTransitions", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.NoncurrentVersionTransitionProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-objectsizegreaterthan" }, "remarks": "Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the minimum object size in bytes for this rule to apply to." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4741 }, "name": "objectSizeGreaterThan", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-objectsizelessthan" }, "remarks": "Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the maximum object size in bytes for this rule to apply to." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4747 }, "name": "objectSizeLessThan", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-prefix" }, "remarks": "> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", "stability": "external", "summary": "Object key prefix that identifies one or more objects to which this rule applies." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4755 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-tagfilters" }, "stability": "external", "summary": "Tags to use to identify a subset of objects to which the lifecycle rule applies." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4767 }, "name": "tagFilters", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TagFilterProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-transition" }, "stability": "external", "summary": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transitions` property." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4773 }, "name": "transition", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TransitionProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-transitions" }, "remarks": "If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transition` property.", "stability": "external", "summary": "One or more transition rules that specify when an object transitions to a specified storage class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4779 }, "name": "transitions", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.TransitionProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.RuleProperty" }, "@aws-cdk/aws-s3.CfnBucket.S3KeyFilterProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .\n\n> The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.", "stability": "external", "summary": "A container for object key name prefix and suffix filtering rules.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst s3KeyFilterProperty: s3.CfnBucket.S3KeyFilterProperty = {\n rules: [{\n name: 'name',\n value: 'value',\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.S3KeyFilterProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4888 }, "name": "S3KeyFilterProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key-rules" }, "stability": "external", "summary": "A list of containers for the key-value pair that defines the criteria for the filter rule." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4894 }, "name": "rules", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.FilterRuleProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.S3KeyFilterProperty" }, "@aws-cdk/aws-s3.CfnBucket.ServerSideEncryptionByDefaultProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html", "exampleMetadata": "fixture=_generated" }, "remarks": "If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more information, see [PUT Bucket encryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in the *Amazon S3 API Reference* .", "stability": "external", "summary": "Describes the default server-side encryption to apply to new objects in the bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst serverSideEncryptionByDefaultProperty: s3.CfnBucket.ServerSideEncryptionByDefaultProperty = {\n sseAlgorithm: 'sseAlgorithm',\n\n // the properties below are optional\n kmsMasterKeyId: 'kmsMasterKeyId',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ServerSideEncryptionByDefaultProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4956 }, "name": "ServerSideEncryptionByDefaultProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html#cfn-s3-bucket-serversideencryptionbydefault-ssealgorithm" }, "stability": "external", "summary": "Server-side encryption algorithm to use for the default encryption." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4977 }, "name": "sseAlgorithm", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html#cfn-s3-bucket-serversideencryptionbydefault-kmsmasterkeyid" }, "remarks": "You can specify the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are using encryption with cross-account operations, you must use a fully qualified CMK ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy) .\n\nFor example:\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n\n> Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more information, see [Using Symmetric and Asymmetric Keys](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", "stability": "external", "summary": "KMS key ID to use for the default encryption. This parameter is allowed if SSEAlgorithm is aws:kms." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 4971 }, "name": "kmsMasterKeyId", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.ServerSideEncryptionByDefaultProperty" }, "@aws-cdk/aws-s3.CfnBucket.ServerSideEncryptionRuleProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies the default server-side encryption configuration.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst serverSideEncryptionRuleProperty: s3.CfnBucket.ServerSideEncryptionRuleProperty = {\n bucketKeyEnabled: false,\n serverSideEncryptionByDefault: {\n sseAlgorithm: 'sseAlgorithm',\n\n // the properties below are optional\n kmsMasterKeyId: 'kmsMasterKeyId',\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.ServerSideEncryptionRuleProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5042 }, "name": "ServerSideEncryptionRuleProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html#cfn-s3-bucket-serversideencryptionrule-bucketkeyenabled" }, "remarks": "Existing objects are not affected. Setting the `BucketKeyEnabled` element to `true` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n\nFor more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5050 }, "name": "bucketKeyEnabled", "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-s3-bucket-serversideencryptionrule.html#cfn-s3-bucket-serversideencryptionrule-serversideencryptionbydefault" }, "remarks": "If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", "stability": "external", "summary": "Specifies the default server-side encryption to apply to new objects in the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5056 }, "name": "serverSideEncryptionByDefault", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ServerSideEncryptionByDefaultProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.ServerSideEncryptionRuleProperty" }, "@aws-cdk/aws-s3.CfnBucket.SourceSelectionCriteriaProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html", "exampleMetadata": "fixture=_generated" }, "remarks": "You can choose to enable or disable the replication of these objects.", "stability": "external", "summary": "A container that describes additional filters for identifying the source objects that you want to replicate.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst sourceSelectionCriteriaProperty: s3.CfnBucket.SourceSelectionCriteriaProperty = {\n replicaModifications: {\n status: 'status',\n },\n sseKmsEncryptedObjects: {\n status: 'status',\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.SourceSelectionCriteriaProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5120 }, "name": "SourceSelectionCriteriaProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-replicamodifications" }, "stability": "external", "summary": "A filter that you can specify for selection for modifications on replicas." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5126 }, "name": "replicaModifications", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicaModificationsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-ssekmsencryptedobjects" }, "stability": "external", "summary": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5132 }, "name": "sseKmsEncryptedObjects", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.SseKmsEncryptedObjectsProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.SourceSelectionCriteriaProperty" }, "@aws-cdk/aws-s3.CfnBucket.SseKmsEncryptedObjectsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ssekmsencryptedobjects.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "A container for filter information for the selection of S3 objects encrypted with AWS KMS.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst sseKmsEncryptedObjectsProperty: s3.CfnBucket.SseKmsEncryptedObjectsProperty = {\n status: 'status',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.SseKmsEncryptedObjectsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5196 }, "name": "SseKmsEncryptedObjectsProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ssekmsencryptedobjects.html#cfn-s3-bucket-ssekmsencryptedobjects-status" }, "stability": "external", "summary": "Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5202 }, "name": "status", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.SseKmsEncryptedObjectsProperty" }, "@aws-cdk/aws-s3.CfnBucket.StorageClassAnalysisProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-storageclassanalysis.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst storageClassAnalysisProperty: s3.CfnBucket.StorageClassAnalysisProperty = {\n dataExport: {\n destination: {\n bucketArn: 'bucketArn',\n format: 'format',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n prefix: 'prefix',\n },\n outputSchemaVersion: 'outputSchemaVersion',\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.StorageClassAnalysisProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5264 }, "name": "StorageClassAnalysisProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-storageclassanalysis.html#cfn-s3-bucket-storageclassanalysis-dataexport" }, "stability": "external", "summary": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5270 }, "name": "dataExport", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.DataExportProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.StorageClassAnalysisProperty" }, "@aws-cdk/aws-s3.CfnBucket.TagFilterProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst tagFilterProperty: s3.CfnBucket.TagFilterProperty = {\n key: 'key',\n value: 'value',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.TagFilterProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5331 }, "name": "TagFilterProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html#cfn-s3-bucket-tagfilter-key" }, "stability": "external", "summary": "The tag key." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5337 }, "name": "key", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html#cfn-s3-bucket-tagfilter-value" }, "stability": "external", "summary": "The tag value." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5343 }, "name": "value", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.TagFilterProperty" }, "@aws-cdk/aws-s3.CfnBucket.TieringProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tiering.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst tieringProperty: s3.CfnBucket.TieringProperty = {\n accessTier: 'accessTier',\n days: 123,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.TieringProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5409 }, "name": "TieringProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tiering.html#cfn-s3-bucket-tiering-accesstier" }, "remarks": "See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.", "stability": "external", "summary": "S3 Intelligent-Tiering access tier." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5415 }, "name": "accessTier", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tiering.html#cfn-s3-bucket-tiering-days" }, "remarks": "The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", "stability": "external", "summary": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5421 }, "name": "days", "type": { "primitive": "number" } } ], "symbolId": "lib/s3.generated:CfnBucket.TieringProperty" }, "@aws-cdk/aws-s3.CfnBucket.TopicConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst topicConfigurationProperty: s3.CfnBucket.TopicConfigurationProperty = {\n event: 'event',\n topic: 'topic',\n\n // the properties below are optional\n filter: {\n s3Key: {\n rules: [{\n name: 'name',\n value: 'value',\n }],\n },\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.TopicConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5487 }, "name": "TopicConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-event" }, "remarks": "For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The Amazon S3 bucket event about which to send notifications." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5493 }, "name": "event", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-topic" }, "stability": "external", "summary": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5505 }, "name": "topic", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-filter" }, "remarks": "For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket.", "stability": "external", "summary": "The filtering rules that determine for which objects to send notifications." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5499 }, "name": "filter", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.NotificationFilterProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.TopicConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.TransitionProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies when an object transitions to a specified storage class.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst transitionProperty: s3.CfnBucket.TransitionProperty = {\n storageClass: 'storageClass',\n\n // the properties below are optional\n transitionDate: new Date(),\n transitionInDays: 123,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.TransitionProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5574 }, "name": "TransitionProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html#cfn-s3-bucket-lifecycleconfig-rule-transition-storageclass" }, "stability": "external", "summary": "The storage class to which you want the object to transition." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5580 }, "name": "storageClass", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html#cfn-s3-bucket-lifecycleconfig-rule-transition-transitiondate" }, "remarks": "The date value must be in ISO 8601 format. The time is always midnight UTC.", "stability": "external", "summary": "Indicates when objects are transitioned to the specified storage class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5586 }, "name": "transitionDate", "optional": true, "type": { "union": { "types": [ { "primitive": "date" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html#cfn-s3-bucket-lifecycleconfig-rule-transition-transitionindays" }, "remarks": "The value must be a positive integer.", "stability": "external", "summary": "Indicates the number of days after creation when objects are transitioned to the specified storage class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5592 }, "name": "transitionInDays", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/s3.generated:CfnBucket.TransitionProperty" }, "@aws-cdk/aws-s3.CfnBucket.VersioningConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-versioningconfig.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference* .", "stability": "external", "summary": "Describes the versioning state of an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst versioningConfigurationProperty: s3.CfnBucket.VersioningConfigurationProperty = {\n status: 'status',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.VersioningConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5660 }, "name": "VersioningConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-versioningconfig.html#cfn-s3-bucket-versioningconfig-status" }, "stability": "external", "summary": "The versioning state of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5666 }, "name": "status", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnBucket.VersioningConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucket.WebsiteConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies website configuration parameters for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst websiteConfigurationProperty: s3.CfnBucket.WebsiteConfigurationProperty = {\n errorDocument: 'errorDocument',\n indexDocument: 'indexDocument',\n redirectAllRequestsTo: {\n hostName: 'hostName',\n\n // the properties below are optional\n protocol: 'protocol',\n },\n routingRules: [{\n redirectRule: {\n hostName: 'hostName',\n httpRedirectCode: 'httpRedirectCode',\n protocol: 'protocol',\n replaceKeyPrefixWith: 'replaceKeyPrefixWith',\n replaceKeyWith: 'replaceKeyWith',\n },\n\n // the properties below are optional\n routingRuleCondition: {\n httpErrorCodeReturnedEquals: 'httpErrorCodeReturnedEquals',\n keyPrefixEquals: 'keyPrefixEquals',\n },\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucket.WebsiteConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5728 }, "name": "WebsiteConfigurationProperty", "namespace": "CfnBucket", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-errordocument" }, "stability": "external", "summary": "The name of the error document for the website." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5734 }, "name": "errorDocument", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-indexdocument" }, "stability": "external", "summary": "The name of the index document for the website." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5740 }, "name": "indexDocument", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-redirectallrequeststo" }, "remarks": "> If you specify this property, you can't specify any other property.", "stability": "external", "summary": "The redirect behavior for every request to this bucket's website endpoint." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5748 }, "name": "redirectAllRequestsTo", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.RedirectAllRequestsToProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-routingrules" }, "stability": "external", "summary": "Rules that define when a redirect is applied and the redirect behavior." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5754 }, "name": "routingRules", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.RoutingRuleProperty" } ] } }, "kind": "array" } } ] } } } ], "symbolId": "lib/s3.generated:CfnBucket.WebsiteConfigurationProperty" }, "@aws-cdk/aws-s3.CfnBucketPolicy": { "assembly": "@aws-cdk/aws-s3", "base": "@aws-cdk/core.CfnResource", "docs": { "custom": { "cloudformationResource": "AWS::S3::BucketPolicy", "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the `PutBucketPolicy` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n\nIf you don't have `PutBucketPolicy` permissions, Amazon S3 returns a `403 Access Denied` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a `405 Method Not Allowed` error.\n\n> As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.\n\nFor more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) .\n\nThe following operations are related to `PutBucketPolicy` :\n\n- [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)\n- [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)", "stability": "external", "summary": "A CloudFormation `AWS::S3::BucketPolicy`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const policyDocument: any;\nconst cfnBucketPolicy = new s3.CfnBucketPolicy(this, 'MyCfnBucketPolicy', {\n bucket: 'bucket',\n policyDocument: policyDocument,\n});" }, "fqn": "@aws-cdk/aws-s3.CfnBucketPolicy", "initializer": { "docs": { "stability": "external", "summary": "Create a new `AWS::S3::BucketPolicy`." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5957 }, "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-s3.CfnBucketPolicyProps" } } ] }, "interfaces": [ "@aws-cdk/core.IInspectable" ], "kind": "class", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5911 }, "methods": [ { "docs": { "stability": "external", "summary": "Examines the CloudFormation resource and discloses attributes." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5972 }, "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/s3.generated.ts", "line": 5984 }, "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": "CfnBucketPolicy", "properties": [ { "const": true, "docs": { "stability": "external", "summary": "The CloudFormation resource type name for this resource class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5915 }, "name": "CFN_RESOURCE_TYPE_NAME", "static": true, "type": { "primitive": "string" } }, { "docs": { "stability": "external" }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5977 }, "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-properties-s3-policy.html#aws-properties-s3-policy-bucket" }, "stability": "external", "summary": "The name of the Amazon S3 bucket to which the policy applies." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5941 }, "name": "bucket", "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#aws-properties-s3-policy-policydocument" }, "remarks": "In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "A policy document containing permissions to add to the specified bucket." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5948 }, "name": "policyDocument", "type": { "primitive": "any" } } ], "symbolId": "lib/s3.generated:CfnBucketPolicy" }, "@aws-cdk/aws-s3.CfnBucketPolicyProps": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Properties for defining a `CfnBucketPolicy`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const policyDocument: any;\nconst cfnBucketPolicyProps: s3.CfnBucketPolicyProps = {\n bucket: 'bucket',\n policyDocument: policyDocument,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucketPolicyProps", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5823 }, "name": "CfnBucketPolicyProps", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#aws-properties-s3-policy-bucket" }, "stability": "external", "summary": "The name of the Amazon S3 bucket to which the policy applies." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5830 }, "name": "bucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#aws-properties-s3-policy-policydocument" }, "remarks": "In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "A policy document containing permissions to add to the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5837 }, "name": "policyDocument", "type": { "primitive": "any" } } ], "symbolId": "lib/s3.generated:CfnBucketPolicyProps" }, "@aws-cdk/aws-s3.CfnBucketProps": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html", "exampleMetadata": "infused" }, "stability": "external", "summary": "Properties for defining a `CfnBucket`.", "example": "const rawBucket = new s3.CfnBucket(this, 'Bucket', { /* ... */ });\n// -or-\nconst rawBucketAlt = myBucket.node.defaultChild as s3.CfnBucket;\n\n// then\nrawBucket.cfnOptions.condition = new CfnCondition(this, 'EnableBucket', { /* ... */ });\nrawBucket.cfnOptions.metadata = {\n metadataKey: 'MetadataValue',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnBucketProps", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 459 }, "name": "CfnBucketProps", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accelerateconfiguration" }, "remarks": "For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Configures the transfer acceleration state for an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 466 }, "name": "accelerateConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.AccelerateConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accesscontrol" }, "remarks": "For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* .\n\nBe aware that the syntax for this property differs from the information provided in the *Amazon S3 User Guide* . The AccessControl property is case-sensitive and must be one of the following values: Private, PublicRead, PublicReadWrite, AuthenticatedRead, LogDeliveryWrite, BucketOwnerRead, BucketOwnerFullControl, or AwsExecRead.", "stability": "external", "summary": "A canned access control list (ACL) that grants predefined permissions to the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 475 }, "name": "accessControl", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-analyticsconfigurations" }, "stability": "external", "summary": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 482 }, "name": "analyticsConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.AnalyticsConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-bucketencryption" }, "remarks": "For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS) bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 489 }, "name": "bucketEncryption", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.BucketEncryptionProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-name" }, "remarks": "If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) . For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide* .\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", "stability": "external", "summary": "A name for the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 498 }, "name": "bucketName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-crossoriginconfig" }, "remarks": "For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 505 }, "name": "corsConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.CorsConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-intelligenttieringconfigurations" }, "stability": "external", "summary": "Defines how Amazon S3 handles Intelligent-Tiering storage." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 512 }, "name": "intelligentTieringConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.IntelligentTieringConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-inventoryconfigurations" }, "remarks": "For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .", "stability": "external", "summary": "Specifies the inventory configuration for an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 519 }, "name": "inventoryConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.InventoryConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-lifecycleconfig" }, "remarks": "For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 526 }, "name": "lifecycleConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.LifecycleConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-loggingconfig" }, "stability": "external", "summary": "Settings that define where logs are stored." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 533 }, "name": "loggingConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.LoggingConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-metricsconfigurations" }, "remarks": "If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) .", "stability": "external", "summary": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 540 }, "name": "metricsConfigurations", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.MetricsConfigurationProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-notification" }, "stability": "external", "summary": "Configuration that defines how Amazon S3 handles bucket notifications." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 547 }, "name": "notificationConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.NotificationConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockconfiguration" }, "remarks": "The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .\n\n> - The `DefaultRetention` settings require both a mode and a period.\n> - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.\n> - You can only enable Object Lock for new buckets. If you want to turn on Object Lock for an existing bucket, contact AWS Support.", "stability": "external", "summary": "Places an Object Lock configuration on the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 558 }, "name": "objectLockConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ObjectLockConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockenabled" }, "remarks": "Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", "stability": "external", "summary": "Indicates whether this bucket has an Object Lock configuration enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 565 }, "name": "objectLockEnabled", "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-s3-bucket.html#cfn-s3-bucket-ownershipcontrols" }, "stability": "external", "summary": "Configuration that defines how Amazon S3 handles Object Ownership rules." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 572 }, "name": "ownershipControls", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.OwnershipControlsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-publicaccessblockconfiguration" }, "stability": "external", "summary": "Configuration that defines how Amazon S3 handles public access." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 579 }, "name": "publicAccessBlockConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.PublicAccessBlockConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-replicationconfiguration" }, "remarks": "To enable replication, you must also enable versioning by using the `VersioningConfiguration` property.\n\nAmazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", "stability": "external", "summary": "Configuration for replicating objects in an S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 588 }, "name": "replicationConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.ReplicationConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-tags" }, "stability": "external", "summary": "An arbitrary set of tags (key-value pairs) for this S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 595 }, "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-properties-s3-bucket.html#cfn-s3-bucket-versioning" }, "remarks": "You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.", "stability": "external", "summary": "Enables multiple versions of all objects in this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 602 }, "name": "versioningConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.VersioningConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-websiteconfiguration" }, "remarks": "For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) .", "stability": "external", "summary": "Information used to configure the bucket as a static website." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 609 }, "name": "websiteConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnBucket.WebsiteConfigurationProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnBucketProps" }, "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint": { "assembly": "@aws-cdk/aws-s3", "base": "@aws-cdk/core.CfnResource", "docs": { "custom": { "cloudformationResource": "AWS::S3::MultiRegionAccessPoint", "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The `AWS::S3::MultiRegionAccessPoint` resource creates an Amazon S3 Multi-Region Access Point. To learn more about Multi-Region Access Points, see [Multi-Region Access Points in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPoints.html) in the in the *Amazon S3 User Guide* .", "stability": "external", "summary": "A CloudFormation `AWS::S3::MultiRegionAccessPoint`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst cfnMultiRegionAccessPoint = new s3.CfnMultiRegionAccessPoint(this, 'MyCfnMultiRegionAccessPoint', {\n regions: [{\n bucket: 'bucket',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n }],\n\n // the properties below are optional\n name: 'name',\n publicAccessBlockConfiguration: {\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n },\n});" }, "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint", "initializer": { "docs": { "stability": "external", "summary": "Create a new `AWS::S3::MultiRegionAccessPoint`." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6148 }, "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-s3.CfnMultiRegionAccessPointProps" } } ] }, "interfaces": [ "@aws-cdk/core.IInspectable" ], "kind": "class", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6083 }, "methods": [ { "docs": { "stability": "external", "summary": "Examines the CloudFormation resource and discloses attributes." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6165 }, "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/s3.generated.ts", "line": 6178 }, "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": "CfnMultiRegionAccessPoint", "properties": [ { "const": true, "docs": { "stability": "external", "summary": "The CloudFormation resource type name for this resource class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6087 }, "name": "CFN_RESOURCE_TYPE_NAME", "static": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "Alias" }, "remarks": "For more information about the distinction between the name and the alias of an Multi-Region Access Point, see [Managing Multi-Region Access Points](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The alias for the Multi-Region Access Point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6112 }, "name": "attrAlias", "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "CreatedAt" }, "stability": "external", "summary": "The timestamp of when the Multi-Region Access Point is created." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6118 }, "name": "attrCreatedAt", "type": { "primitive": "string" } }, { "docs": { "stability": "external" }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6170 }, "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-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-regions" }, "stability": "external", "summary": "A collection of the Regions and buckets associated with the Multi-Region Access Point." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6125 }, "name": "regions", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint.RegionProperty" } ] } }, "kind": "array" } } ] } } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-name" }, "stability": "external", "summary": "The name of the Multi-Region Access Point." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6132 }, "name": "name", "optional": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration" }, "remarks": "You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The PublicAccessBlock configuration that you want to apply to this Multi-Region Access Point." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6139 }, "name": "publicAccessBlockConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnMultiRegionAccessPoint" }, "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html", "exampleMetadata": "fixture=_generated" }, "remarks": "You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 Multi-Region Access Point.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst publicAccessBlockConfigurationProperty: s3.CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty = {\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6192 }, "name": "PublicAccessBlockConfigurationProperty", "namespace": "CfnMultiRegionAccessPoint", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-blockpublicacls" }, "remarks": "Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", "stability": "external", "summary": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6204 }, "name": "blockPublicAcls", "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-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-blockpublicpolicy" }, "remarks": "Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", "stability": "external", "summary": "Specifies whether Amazon S3 should block public bucket policies for this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6212 }, "name": "blockPublicPolicy", "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-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-ignorepublicacls" }, "remarks": "Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", "stability": "external", "summary": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6220 }, "name": "ignorePublicAcls", "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-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-restrictpublicbuckets" }, "remarks": "Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", "stability": "external", "summary": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6228 }, "name": "restrictPublicBuckets", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/s3.generated:CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty" }, "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint.RegionProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "A bucket associated with a specific Region when creating Multi-Region Access Points.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst regionProperty: s3.CfnMultiRegionAccessPoint.RegionProperty = {\n bucket: 'bucket',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint.RegionProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6298 }, "name": "RegionProperty", "namespace": "CfnMultiRegionAccessPoint", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html#cfn-s3-multiregionaccesspoint-region-bucket" }, "stability": "external", "summary": "The name of the associated bucket for the Region." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6304 }, "name": "bucket", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html#cfn-s3-multiregionaccesspoint-region-bucketaccountid" }, "stability": "external", "summary": "`CfnMultiRegionAccessPoint.RegionProperty.BucketAccountId`." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6310 }, "name": "bucketAccountId", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnMultiRegionAccessPoint.RegionProperty" }, "@aws-cdk/aws-s3.CfnMultiRegionAccessPointPolicy": { "assembly": "@aws-cdk/aws-s3", "base": "@aws-cdk/core.CfnResource", "docs": { "custom": { "cloudformationResource": "AWS::S3::MultiRegionAccessPointPolicy", "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Applies an Amazon S3 access policy to an Amazon S3 Multi-Region Access Point.\n\nIt is not possible to delete an access policy for a Multi-Region Access Point from the CloudFormation template. When you attempt to delete the policy, CloudFormation updates the policy using `DeletionPolicy:Retain` and `UpdateReplacePolicy:Retain` . CloudFormation updates the policy to only allow access to the account that created the bucket.", "stability": "external", "summary": "A CloudFormation `AWS::S3::MultiRegionAccessPointPolicy`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const policy: any;\nconst cfnMultiRegionAccessPointPolicy = new s3.CfnMultiRegionAccessPointPolicy(this, 'MyCfnMultiRegionAccessPointPolicy', {\n mrapName: 'mrapName',\n policy: policy,\n});" }, "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPointPolicy", "initializer": { "docs": { "stability": "external", "summary": "Create a new `AWS::S3::MultiRegionAccessPointPolicy`." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6505 }, "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-s3.CfnMultiRegionAccessPointPolicyProps" } } ] }, "interfaces": [ "@aws-cdk/core.IInspectable" ], "kind": "class", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6453 }, "methods": [ { "docs": { "stability": "external", "summary": "Examines the CloudFormation resource and discloses attributes." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6521 }, "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/s3.generated.ts", "line": 6533 }, "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": "CfnMultiRegionAccessPointPolicy", "properties": [ { "const": true, "docs": { "stability": "external", "summary": "The CloudFormation resource type name for this resource class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6457 }, "name": "CFN_RESOURCE_TYPE_NAME", "static": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "PolicyStatus.IsPublic" }, "stability": "external" }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6482 }, "name": "attrPolicyStatusIsPublic", "type": { "primitive": "string" } }, { "docs": { "stability": "external" }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6526 }, "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-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-mrapname" }, "stability": "external", "summary": "The name of the Multi-Region Access Point." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6489 }, "name": "mrapName", "type": { "primitive": "string" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-policy" }, "stability": "external", "summary": "The access policy associated with the Multi-Region Access Point." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6496 }, "name": "policy", "type": { "primitive": "any" } } ], "symbolId": "lib/s3.generated:CfnMultiRegionAccessPointPolicy" }, "@aws-cdk/aws-s3.CfnMultiRegionAccessPointPolicy.PolicyStatusProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspointpolicy-policystatus.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "The container element for a bucket's policy status.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst policyStatusProperty: s3.CfnMultiRegionAccessPointPolicy.PolicyStatusProperty = {\n isPublic: 'isPublic',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPointPolicy.PolicyStatusProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6547 }, "name": "PolicyStatusProperty", "namespace": "CfnMultiRegionAccessPointPolicy", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspointpolicy-policystatus.html#cfn-s3-multiregionaccesspointpolicy-policystatus-ispublic" }, "remarks": "`TRUE` indicates that this bucket is public. `FALSE` indicates that the bucket is not public.", "stability": "external", "summary": "The policy status for this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6553 }, "name": "isPublic", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnMultiRegionAccessPointPolicy.PolicyStatusProperty" }, "@aws-cdk/aws-s3.CfnMultiRegionAccessPointPolicyProps": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Properties for defining a `CfnMultiRegionAccessPointPolicy`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const policy: any;\nconst cfnMultiRegionAccessPointPolicyProps: s3.CfnMultiRegionAccessPointPolicyProps = {\n mrapName: 'mrapName',\n policy: policy,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPointPolicyProps", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6374 }, "name": "CfnMultiRegionAccessPointPolicyProps", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-mrapname" }, "stability": "external", "summary": "The name of the Multi-Region Access Point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6381 }, "name": "mrapName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-policy" }, "stability": "external", "summary": "The access policy associated with the Multi-Region Access Point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6388 }, "name": "policy", "type": { "primitive": "any" } } ], "symbolId": "lib/s3.generated:CfnMultiRegionAccessPointPolicyProps" }, "@aws-cdk/aws-s3.CfnMultiRegionAccessPointProps": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Properties for defining a `CfnMultiRegionAccessPoint`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst cfnMultiRegionAccessPointProps: s3.CfnMultiRegionAccessPointProps = {\n regions: [{\n bucket: 'bucket',\n\n // the properties below are optional\n bucketAccountId: 'bucketAccountId',\n }],\n\n // the properties below are optional\n name: 'name',\n publicAccessBlockConfiguration: {\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPointProps", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 5997 }, "name": "CfnMultiRegionAccessPointProps", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-regions" }, "stability": "external", "summary": "A collection of the Regions and buckets associated with the Multi-Region Access Point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6004 }, "name": "regions", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "collection": { "elementtype": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint.RegionProperty" } ] } }, "kind": "array" } } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-name" }, "stability": "external", "summary": "The name of the Multi-Region Access Point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6011 }, "name": "name", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration" }, "remarks": "You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "The PublicAccessBlock configuration that you want to apply to this Multi-Region Access Point." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6018 }, "name": "publicAccessBlockConfiguration", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnMultiRegionAccessPointProps" }, "@aws-cdk/aws-s3.CfnStorageLens": { "assembly": "@aws-cdk/aws-s3", "base": "@aws-cdk/core.CfnResource", "docs": { "custom": { "cloudformationResource": "AWS::S3::StorageLens", "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html", "exampleMetadata": "fixture=_generated" }, "remarks": "The AWS::S3::StorageLens resource creates an Amazon S3 Storage Lens configuration.", "stability": "external", "summary": "A CloudFormation `AWS::S3::StorageLens`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const sses3: any;\nconst cfnStorageLens = new s3.CfnStorageLens(this, 'MyCfnStorageLens', {\n storageLensConfiguration: {\n accountLevel: {\n bucketLevel: {\n activityMetrics: {\n isEnabled: false,\n },\n advancedCostOptimizationMetrics: {\n isEnabled: false,\n },\n advancedDataProtectionMetrics: {\n isEnabled: false,\n },\n detailedStatusCodesMetrics: {\n isEnabled: false,\n },\n prefixLevel: {\n storageMetrics: {\n isEnabled: false,\n selectionCriteria: {\n delimiter: 'delimiter',\n maxDepth: 123,\n minStorageBytesPercentage: 123,\n },\n },\n },\n },\n\n // the properties below are optional\n activityMetrics: {\n isEnabled: false,\n },\n advancedCostOptimizationMetrics: {\n isEnabled: false,\n },\n advancedDataProtectionMetrics: {\n isEnabled: false,\n },\n detailedStatusCodesMetrics: {\n isEnabled: false,\n },\n },\n id: 'id',\n isEnabled: false,\n\n // the properties below are optional\n awsOrg: {\n arn: 'arn',\n },\n dataExport: {\n cloudWatchMetrics: {\n isEnabled: false,\n },\n s3BucketDestination: {\n accountId: 'accountId',\n arn: 'arn',\n format: 'format',\n outputSchemaVersion: 'outputSchemaVersion',\n\n // the properties below are optional\n encryption: {\n ssekms: {\n keyId: 'keyId',\n },\n sses3: sses3,\n },\n prefix: 'prefix',\n },\n },\n exclude: {\n buckets: ['buckets'],\n regions: ['regions'],\n },\n include: {\n buckets: ['buckets'],\n regions: ['regions'],\n },\n storageLensArn: 'storageLensArn',\n },\n\n // the properties below are optional\n tags: [{\n key: 'key',\n value: 'value',\n }],\n});" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens", "initializer": { "docs": { "stability": "external", "summary": "Create a new `AWS::S3::StorageLens`." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6742 }, "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-s3.CfnStorageLensProps" } } ] }, "interfaces": [ "@aws-cdk/core.IInspectable" ], "kind": "class", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6690 }, "methods": [ { "docs": { "stability": "external", "summary": "Examines the CloudFormation resource and discloses attributes." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6757 }, "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/s3.generated.ts", "line": 6769 }, "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": "CfnStorageLens", "properties": [ { "const": true, "docs": { "stability": "external", "summary": "The CloudFormation resource type name for this resource class." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6694 }, "name": "CFN_RESOURCE_TYPE_NAME", "static": true, "type": { "primitive": "string" } }, { "docs": { "custom": { "cloudformationAttribute": "StorageLensConfiguration.StorageLensArn" }, "remarks": "This property is read-only.", "stability": "external", "summary": "This property contains the details of the ARN of the S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6719 }, "name": "attrStorageLensConfigurationStorageLensArn", "type": { "primitive": "string" } }, { "docs": { "stability": "external" }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6762 }, "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-s3-storagelens.html#cfn-s3-storagelens-tags" }, "stability": "external", "summary": "A set of tags (key–value pairs) to associate with the Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6733 }, "name": "tags", "type": { "fqn": "@aws-cdk/core.TagManager" } }, { "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html#cfn-s3-storagelens-storagelensconfiguration" }, "stability": "external", "summary": "This resource contains the details Amazon S3 Storage Lens configuration." }, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6726 }, "name": "storageLensConfiguration", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.StorageLensConfigurationProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens" }, "@aws-cdk/aws-s3.CfnStorageLens.AccountLevelProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "This resource contains the details of the account-level metrics for Amazon S3 Storage Lens.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst accountLevelProperty: s3.CfnStorageLens.AccountLevelProperty = {\n bucketLevel: {\n activityMetrics: {\n isEnabled: false,\n },\n advancedCostOptimizationMetrics: {\n isEnabled: false,\n },\n advancedDataProtectionMetrics: {\n isEnabled: false,\n },\n detailedStatusCodesMetrics: {\n isEnabled: false,\n },\n prefixLevel: {\n storageMetrics: {\n isEnabled: false,\n selectionCriteria: {\n delimiter: 'delimiter',\n maxDepth: 123,\n minStorageBytesPercentage: 123,\n },\n },\n },\n },\n\n // the properties below are optional\n activityMetrics: {\n isEnabled: false,\n },\n advancedCostOptimizationMetrics: {\n isEnabled: false,\n },\n advancedDataProtectionMetrics: {\n isEnabled: false,\n },\n detailedStatusCodesMetrics: {\n isEnabled: false,\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AccountLevelProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6783 }, "name": "AccountLevelProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-bucketlevel" }, "stability": "external", "summary": "This property contains the details of the account-level bucket-level configurations for Amazon S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6807 }, "name": "bucketLevel", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.BucketLevelProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-activitymetrics" }, "stability": "external", "summary": "This property contains the details of account-level activity metrics for S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6789 }, "name": "activityMetrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.ActivityMetricsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-advancedcostoptimizationmetrics" }, "stability": "external", "summary": "This property contains the details of account-level advanced cost optimization metrics for S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6795 }, "name": "advancedCostOptimizationMetrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AdvancedCostOptimizationMetricsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-advanceddataprotectionmetrics" }, "stability": "external", "summary": "This property contains the details of account-level advanced data protection metrics for S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6801 }, "name": "advancedDataProtectionMetrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AdvancedDataProtectionMetricsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-detailedstatuscodesmetrics" }, "stability": "external", "summary": "This property contains the details of account-level detailed status code metrics for S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6813 }, "name": "detailedStatusCodesMetrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.DetailedStatusCodesMetricsProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.AccountLevelProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.ActivityMetricsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-activitymetrics.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Activity metrics show details about how your storage is requested, such as requests (for example, All requests, Get requests, Put requests), bytes uploaded or downloaded, and errors.\n\nFor more information, see [Assessing your storage activity and usage with S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) in the *Amazon S3 User Guide* . For a complete list of metrics, see [S3 Storage Lens metrics glossary](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "This resource enables Amazon S3 Storage Lens activity metrics.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst activityMetricsProperty: s3.CfnStorageLens.ActivityMetricsProperty = {\n isEnabled: false,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.ActivityMetricsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6889 }, "name": "ActivityMetricsProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-activitymetrics.html#cfn-s3-storagelens-activitymetrics-isenabled" }, "stability": "external", "summary": "A property that indicates whether the activity metrics is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6895 }, "name": "isEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.ActivityMetricsProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.AdvancedCostOptimizationMetricsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-advancedcostoptimizationmetrics.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Advanced cost optimization metrics provide insights that you can use to manage and optimize your storage costs, for example, lifecycle rule counts for transitions, expirations, and incomplete multipart uploads.\n\nFor more information, see [Assessing your storage activity and usage with S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) in the *Amazon S3 User Guide* . For a complete list of metrics, see [S3 Storage Lens metrics glossary](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "This resource enables Amazon S3 Storage Lens advanced cost optimization metrics.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst advancedCostOptimizationMetricsProperty: s3.CfnStorageLens.AdvancedCostOptimizationMetricsProperty = {\n isEnabled: false,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AdvancedCostOptimizationMetricsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6958 }, "name": "AdvancedCostOptimizationMetricsProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-advancedcostoptimizationmetrics.html#cfn-s3-storagelens-advancedcostoptimizationmetrics-isenabled" }, "stability": "external", "summary": "Indicates whether advanced cost optimization metrics are enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6964 }, "name": "isEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.AdvancedCostOptimizationMetricsProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.AdvancedDataProtectionMetricsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-advanceddataprotectionmetrics.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Advanced data protection metrics provide insights that you can use to perform audits and protect your data, for example replication rule counts within and across Regions.\n\nFor more information, see [Assessing your storage activity and usage with S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) in the *Amazon S3 User Guide* . For a complete list of metrics, see [S3 Storage Lens metrics glossary](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "This resource enables Amazon S3 Storage Lens advanced data protection metrics.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst advancedDataProtectionMetricsProperty: s3.CfnStorageLens.AdvancedDataProtectionMetricsProperty = {\n isEnabled: false,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AdvancedDataProtectionMetricsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7027 }, "name": "AdvancedDataProtectionMetricsProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-advanceddataprotectionmetrics.html#cfn-s3-storagelens-advanceddataprotectionmetrics-isenabled" }, "stability": "external", "summary": "Indicates whether advanced data protection metrics are enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7033 }, "name": "isEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.AdvancedDataProtectionMetricsProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.AwsOrgProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-awsorg.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "This resource contains the details of the AWS Organization for Amazon S3 Storage Lens.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst awsOrgProperty: s3.CfnStorageLens.AwsOrgProperty = {\n arn: 'arn',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AwsOrgProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7094 }, "name": "AwsOrgProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-awsorg.html#cfn-s3-storagelens-awsorg-arn" }, "stability": "external", "summary": "This resource contains the ARN of the AWS Organization." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7100 }, "name": "arn", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnStorageLens.AwsOrgProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.BucketLevelProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "A property for the bucket-level storage metrics for Amazon S3 Storage Lens.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst bucketLevelProperty: s3.CfnStorageLens.BucketLevelProperty = {\n activityMetrics: {\n isEnabled: false,\n },\n advancedCostOptimizationMetrics: {\n isEnabled: false,\n },\n advancedDataProtectionMetrics: {\n isEnabled: false,\n },\n detailedStatusCodesMetrics: {\n isEnabled: false,\n },\n prefixLevel: {\n storageMetrics: {\n isEnabled: false,\n selectionCriteria: {\n delimiter: 'delimiter',\n maxDepth: 123,\n minStorageBytesPercentage: 123,\n },\n },\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.BucketLevelProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7162 }, "name": "BucketLevelProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-activitymetrics" }, "stability": "external", "summary": "A property for bucket-level activity metrics for S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7168 }, "name": "activityMetrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.ActivityMetricsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-advancedcostoptimizationmetrics" }, "stability": "external", "summary": "A property for bucket-level advanced cost optimization metrics for S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7174 }, "name": "advancedCostOptimizationMetrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AdvancedCostOptimizationMetricsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-advanceddataprotectionmetrics" }, "stability": "external", "summary": "A property for bucket-level advanced data protection metrics for S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7180 }, "name": "advancedDataProtectionMetrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AdvancedDataProtectionMetricsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-detailedstatuscodesmetrics" }, "stability": "external", "summary": "A property for bucket-level detailed status code metrics for S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7186 }, "name": "detailedStatusCodesMetrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.DetailedStatusCodesMetricsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-prefixlevel" }, "stability": "external", "summary": "A property for bucket-level prefix-level storage metrics for S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7192 }, "name": "prefixLevel", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.PrefixLevelProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.BucketLevelProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.BucketsAndRegionsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketsandregions.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "This resource contains the details of the buckets and Regions for the Amazon S3 Storage Lens configuration.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst bucketsAndRegionsProperty: s3.CfnStorageLens.BucketsAndRegionsProperty = {\n buckets: ['buckets'],\n regions: ['regions'],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.BucketsAndRegionsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7265 }, "name": "BucketsAndRegionsProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketsandregions.html#cfn-s3-storagelens-bucketsandregions-buckets" }, "remarks": "This should be the bucket Amazon Resource Name(ARN). For valid values, see [Buckets ARN format here](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_Include.html#API_control_Include_Contents) in the *Amazon S3 API Reference* .", "stability": "external", "summary": "This property contains the details of the buckets for the Amazon S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7271 }, "name": "buckets", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketsandregions.html#cfn-s3-storagelens-bucketsandregions-regions" }, "stability": "external", "summary": "This property contains the details of the Regions for the S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7277 }, "name": "regions", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.BucketsAndRegionsProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.CloudWatchMetricsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-cloudwatchmetrics.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For more information, see [Monitor S3 Storage Lens metrics in CloudWatch](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_view_metrics_cloudwatch.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "This resource enables the Amazon CloudWatch publishing option for Amazon S3 Storage Lens metrics.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst cloudWatchMetricsProperty: s3.CfnStorageLens.CloudWatchMetricsProperty = {\n isEnabled: false,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.CloudWatchMetricsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7343 }, "name": "CloudWatchMetricsProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-cloudwatchmetrics.html#cfn-s3-storagelens-cloudwatchmetrics-isenabled" }, "stability": "external", "summary": "This property identifies whether the CloudWatch publishing option for S3 Storage Lens is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7349 }, "name": "isEnabled", "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.CloudWatchMetricsProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.DataExportProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-dataexport.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "This resource contains the details of the Amazon S3 Storage Lens metrics export.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const sses3: any;\nconst dataExportProperty: s3.CfnStorageLens.DataExportProperty = {\n cloudWatchMetrics: {\n isEnabled: false,\n },\n s3BucketDestination: {\n accountId: 'accountId',\n arn: 'arn',\n format: 'format',\n outputSchemaVersion: 'outputSchemaVersion',\n\n // the properties below are optional\n encryption: {\n ssekms: {\n keyId: 'keyId',\n },\n sses3: sses3,\n },\n prefix: 'prefix',\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.DataExportProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7411 }, "name": "DataExportProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-dataexport.html#cfn-s3-storagelens-dataexport-cloudwatchmetrics" }, "stability": "external", "summary": "This property enables the Amazon CloudWatch publishing option for S3 Storage Lens metrics." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7417 }, "name": "cloudWatchMetrics", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.CloudWatchMetricsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-dataexport.html#cfn-s3-storagelens-dataexport-s3bucketdestination" }, "stability": "external", "summary": "This property contains the details of the bucket where the S3 Storage Lens metrics export will be placed." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7423 }, "name": "s3BucketDestination", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.S3BucketDestinationProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.DataExportProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.DetailedStatusCodesMetricsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-detailedstatuscodesmetrics.html", "exampleMetadata": "fixture=_generated" }, "remarks": "Detailed status code metrics generate metrics for HTTP status codes, such as `200 OK` , `403 Forbidden` , `503 Service Unavailable` and others.\n\nFor more information, see [Assessing your storage activity and usage with S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) in the *Amazon S3 User Guide* . For a complete list of metrics, see [S3 Storage Lens metrics glossary](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) in the *Amazon S3 User Guide* .", "stability": "external", "summary": "This resource enables Amazon S3 Storage Lens detailed status code metrics.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst detailedStatusCodesMetricsProperty: s3.CfnStorageLens.DetailedStatusCodesMetricsProperty = {\n isEnabled: false,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.DetailedStatusCodesMetricsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7489 }, "name": "DetailedStatusCodesMetricsProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-detailedstatuscodesmetrics.html#cfn-s3-storagelens-detailedstatuscodesmetrics-isenabled" }, "stability": "external", "summary": "Indicates whether detailed status code metrics are enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7495 }, "name": "isEnabled", "optional": true, "type": { "union": { "types": [ { "primitive": "boolean" }, { "fqn": "@aws-cdk/core.IResolvable" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.DetailedStatusCodesMetricsProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.EncryptionProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-encryption.html", "exampleMetadata": "fixture=_generated" }, "remarks": "For valid values, see the [StorageLensDataExportEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_StorageLensDataExportEncryption.html) in the *Amazon S3 API Reference* .", "stability": "external", "summary": "This resource contains the type of server-side encryption used to encrypt an Amazon S3 Storage Lens metrics export.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const sses3: any;\nconst encryptionProperty: s3.CfnStorageLens.EncryptionProperty = {\n ssekms: {\n keyId: 'keyId',\n },\n sses3: sses3,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.EncryptionProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7556 }, "name": "EncryptionProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-encryption.html#cfn-s3-storagelens-encryption-ssekms" }, "stability": "external", "summary": "Specifies the use of AWS Key Management Service keys (SSE-KMS) to encrypt the S3 Storage Lens metrics export file." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7562 }, "name": "ssekms", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.SSEKMSProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-encryption.html#cfn-s3-storagelens-encryption-sses3" }, "stability": "external", "summary": "Specifies the use of an Amazon S3-managed key (SSE-S3) to encrypt the S3 Storage Lens metrics export file." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7568 }, "name": "sses3", "optional": true, "type": { "primitive": "any" } } ], "symbolId": "lib/s3.generated:CfnStorageLens.EncryptionProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.PrefixLevelProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevel.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "This resource contains the details of the prefix-level of the Amazon S3 Storage Lens.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst prefixLevelProperty: s3.CfnStorageLens.PrefixLevelProperty = {\n storageMetrics: {\n isEnabled: false,\n selectionCriteria: {\n delimiter: 'delimiter',\n maxDepth: 123,\n minStorageBytesPercentage: 123,\n },\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.PrefixLevelProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7632 }, "name": "PrefixLevelProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevel.html#cfn-s3-storagelens-prefixlevel-storagemetrics" }, "stability": "external", "summary": "A property for the prefix-level storage metrics for Amazon S3 Storage Lens." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7638 }, "name": "storageMetrics", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.PrefixLevelStorageMetricsProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.PrefixLevelProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.PrefixLevelStorageMetricsProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevelstoragemetrics.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "This resource contains the details of the prefix-level storage metrics for Amazon S3 Storage Lens.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst prefixLevelStorageMetricsProperty: s3.CfnStorageLens.PrefixLevelStorageMetricsProperty = {\n isEnabled: false,\n selectionCriteria: {\n delimiter: 'delimiter',\n maxDepth: 123,\n minStorageBytesPercentage: 123,\n },\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.PrefixLevelStorageMetricsProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7700 }, "name": "PrefixLevelStorageMetricsProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevelstoragemetrics.html#cfn-s3-storagelens-prefixlevelstoragemetrics-isenabled" }, "stability": "external", "summary": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7706 }, "name": "isEnabled", "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-s3-storagelens-prefixlevelstoragemetrics.html#cfn-s3-storagelens-prefixlevelstoragemetrics-selectioncriteria" }, "stability": "external", "summary": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7712 }, "name": "selectionCriteria", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.SelectionCriteriaProperty" } ] } } } ], "symbolId": "lib/s3.generated:CfnStorageLens.PrefixLevelStorageMetricsProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.S3BucketDestinationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "This resource contains the details of the bucket where the Amazon S3 Storage Lens metrics export will be placed.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const sses3: any;\nconst s3BucketDestinationProperty: s3.CfnStorageLens.S3BucketDestinationProperty = {\n accountId: 'accountId',\n arn: 'arn',\n format: 'format',\n outputSchemaVersion: 'outputSchemaVersion',\n\n // the properties below are optional\n encryption: {\n ssekms: {\n keyId: 'keyId',\n },\n sses3: sses3,\n },\n prefix: 'prefix',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.S3BucketDestinationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7776 }, "name": "S3BucketDestinationProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-accountid" }, "stability": "external", "summary": "This property contains the details of the AWS account ID of the S3 Storage Lens export bucket destination." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7782 }, "name": "accountId", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-arn" }, "stability": "external", "summary": "This property contains the details of the ARN of the bucket destination of the S3 Storage Lens export." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7788 }, "name": "arn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-format" }, "stability": "external", "summary": "This property contains the details of the format of the S3 Storage Lens export bucket destination." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7800 }, "name": "format", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-outputschemaversion" }, "stability": "external", "summary": "This property contains the details of the output schema version of the S3 Storage Lens export bucket destination." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7806 }, "name": "outputSchemaVersion", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-encryption" }, "stability": "external", "summary": "This property contains the details of the encryption of the bucket destination of the Amazon S3 Storage Lens metrics export." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7794 }, "name": "encryption", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.EncryptionProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-prefix" }, "stability": "external", "summary": "This property contains the details of the prefix of the bucket destination of the S3 Storage Lens export ." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7812 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnStorageLens.S3BucketDestinationProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.SSEKMSProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-ssekms.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Specifies the use of server-side encryption using an AWS Key Management Service key (SSE-KMS) to encrypt the delivered S3 Storage Lens metrics export file.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst sSEKMSProperty: s3.CfnStorageLens.SSEKMSProperty = {\n keyId: 'keyId',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.SSEKMSProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7892 }, "name": "SSEKMSProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-ssekms.html#cfn-s3-storagelens-ssekms-keyid" }, "remarks": "Amazon S3 only supports symmetric encryption keys. For more information, see [Special-purpose keys](https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html) in the *AWS Key Management Service Developer Guide* .", "stability": "external", "summary": "Specifies the Amazon Resource Name (ARN) of the customer managed AWS KMS key to use for encrypting the S3 Storage Lens metrics export file." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7898 }, "name": "keyId", "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnStorageLens.SSEKMSProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.SelectionCriteriaProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "This resource contains the details of the Amazon S3 Storage Lens selection criteria.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst selectionCriteriaProperty: s3.CfnStorageLens.SelectionCriteriaProperty = {\n delimiter: 'delimiter',\n maxDepth: 123,\n minStorageBytesPercentage: 123,\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.SelectionCriteriaProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7960 }, "name": "SelectionCriteriaProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html#cfn-s3-storagelens-selectioncriteria-delimiter" }, "stability": "external", "summary": "This property contains the details of the S3 Storage Lens delimiter being used." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7966 }, "name": "delimiter", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html#cfn-s3-storagelens-selectioncriteria-maxdepth" }, "stability": "external", "summary": "This property contains the details of the max depth that S3 Storage Lens will collect metrics up to." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7972 }, "name": "maxDepth", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html#cfn-s3-storagelens-selectioncriteria-minstoragebytespercentage" }, "stability": "external", "summary": "This property contains the details of the minimum storage bytes percentage threshold that S3 Storage Lens will collect metrics up to." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 7978 }, "name": "minStorageBytesPercentage", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/s3.generated:CfnStorageLens.SelectionCriteriaProperty" }, "@aws-cdk/aws-s3.CfnStorageLens.StorageLensConfigurationProperty": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "This is the property of the Amazon S3 Storage Lens configuration.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const sses3: any;\nconst storageLensConfigurationProperty: s3.CfnStorageLens.StorageLensConfigurationProperty = {\n accountLevel: {\n bucketLevel: {\n activityMetrics: {\n isEnabled: false,\n },\n advancedCostOptimizationMetrics: {\n isEnabled: false,\n },\n advancedDataProtectionMetrics: {\n isEnabled: false,\n },\n detailedStatusCodesMetrics: {\n isEnabled: false,\n },\n prefixLevel: {\n storageMetrics: {\n isEnabled: false,\n selectionCriteria: {\n delimiter: 'delimiter',\n maxDepth: 123,\n minStorageBytesPercentage: 123,\n },\n },\n },\n },\n\n // the properties below are optional\n activityMetrics: {\n isEnabled: false,\n },\n advancedCostOptimizationMetrics: {\n isEnabled: false,\n },\n advancedDataProtectionMetrics: {\n isEnabled: false,\n },\n detailedStatusCodesMetrics: {\n isEnabled: false,\n },\n },\n id: 'id',\n isEnabled: false,\n\n // the properties below are optional\n awsOrg: {\n arn: 'arn',\n },\n dataExport: {\n cloudWatchMetrics: {\n isEnabled: false,\n },\n s3BucketDestination: {\n accountId: 'accountId',\n arn: 'arn',\n format: 'format',\n outputSchemaVersion: 'outputSchemaVersion',\n\n // the properties below are optional\n encryption: {\n ssekms: {\n keyId: 'keyId',\n },\n sses3: sses3,\n },\n prefix: 'prefix',\n },\n },\n exclude: {\n buckets: ['buckets'],\n regions: ['regions'],\n },\n include: {\n buckets: ['buckets'],\n regions: ['regions'],\n },\n storageLensArn: 'storageLensArn',\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLens.StorageLensConfigurationProperty", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 8045 }, "name": "StorageLensConfigurationProperty", "namespace": "CfnStorageLens", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-accountlevel" }, "stability": "external", "summary": "This property contains the details of the account-level metrics for Amazon S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 8051 }, "name": "accountLevel", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AccountLevelProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-id" }, "stability": "external", "summary": "This property contains the details of the ID of the S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 8075 }, "name": "id", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-isenabled" }, "stability": "external", "summary": "This property contains the details of whether the Amazon S3 Storage Lens configuration is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 8087 }, "name": "isEnabled", "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-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-awsorg" }, "stability": "external", "summary": "This property contains the details of the AWS Organization for the S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 8057 }, "name": "awsOrg", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.AwsOrgProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-dataexport" }, "stability": "external", "summary": "This property contains the details of this S3 Storage Lens configuration's metrics export." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 8063 }, "name": "dataExport", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.DataExportProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-exclude" }, "stability": "external", "summary": "This property contains the details of the bucket and or Regions excluded for Amazon S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 8069 }, "name": "exclude", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.BucketsAndRegionsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-include" }, "stability": "external", "summary": "This property contains the details of the bucket and or Regions included for Amazon S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 8081 }, "name": "include", "optional": true, "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.BucketsAndRegionsProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-storagelensarn" }, "remarks": "This property is read-only.", "stability": "external", "summary": "This property contains the details of the ARN of the S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 8093 }, "name": "storageLensArn", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/s3.generated:CfnStorageLens.StorageLensConfigurationProperty" }, "@aws-cdk/aws-s3.CfnStorageLensProps": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html", "exampleMetadata": "fixture=_generated" }, "stability": "external", "summary": "Properties for defining a `CfnStorageLens`.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const sses3: any;\nconst cfnStorageLensProps: s3.CfnStorageLensProps = {\n storageLensConfiguration: {\n accountLevel: {\n bucketLevel: {\n activityMetrics: {\n isEnabled: false,\n },\n advancedCostOptimizationMetrics: {\n isEnabled: false,\n },\n advancedDataProtectionMetrics: {\n isEnabled: false,\n },\n detailedStatusCodesMetrics: {\n isEnabled: false,\n },\n prefixLevel: {\n storageMetrics: {\n isEnabled: false,\n selectionCriteria: {\n delimiter: 'delimiter',\n maxDepth: 123,\n minStorageBytesPercentage: 123,\n },\n },\n },\n },\n\n // the properties below are optional\n activityMetrics: {\n isEnabled: false,\n },\n advancedCostOptimizationMetrics: {\n isEnabled: false,\n },\n advancedDataProtectionMetrics: {\n isEnabled: false,\n },\n detailedStatusCodesMetrics: {\n isEnabled: false,\n },\n },\n id: 'id',\n isEnabled: false,\n\n // the properties below are optional\n awsOrg: {\n arn: 'arn',\n },\n dataExport: {\n cloudWatchMetrics: {\n isEnabled: false,\n },\n s3BucketDestination: {\n accountId: 'accountId',\n arn: 'arn',\n format: 'format',\n outputSchemaVersion: 'outputSchemaVersion',\n\n // the properties below are optional\n encryption: {\n ssekms: {\n keyId: 'keyId',\n },\n sses3: sses3,\n },\n prefix: 'prefix',\n },\n },\n exclude: {\n buckets: ['buckets'],\n regions: ['regions'],\n },\n include: {\n buckets: ['buckets'],\n regions: ['regions'],\n },\n storageLensArn: 'storageLensArn',\n },\n\n // the properties below are optional\n tags: [{\n key: 'key',\n value: 'value',\n }],\n};" }, "fqn": "@aws-cdk/aws-s3.CfnStorageLensProps", "kind": "interface", "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6614 }, "name": "CfnStorageLensProps", "properties": [ { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html#cfn-s3-storagelens-storagelensconfiguration" }, "stability": "external", "summary": "This resource contains the details Amazon S3 Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6621 }, "name": "storageLensConfiguration", "type": { "union": { "types": [ { "fqn": "@aws-cdk/core.IResolvable" }, { "fqn": "@aws-cdk/aws-s3.CfnStorageLens.StorageLensConfigurationProperty" } ] } } }, { "abstract": true, "docs": { "custom": { "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html#cfn-s3-storagelens-tags" }, "stability": "external", "summary": "A set of tags (key–value pairs) to associate with the Storage Lens configuration." }, "immutable": true, "locationInModule": { "filename": "lib/s3.generated.ts", "line": 6628 }, "name": "tags", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/core.CfnTag" }, "kind": "array" } } } ], "symbolId": "lib/s3.generated:CfnStorageLensProps" }, "@aws-cdk/aws-s3.CorsRule": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Specifies a cross-origin access rule for an Amazon S3 bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst corsRule: s3.CorsRule = {\n allowedMethods: [s3.HttpMethods.GET],\n allowedOrigins: ['allowedOrigins'],\n\n // the properties below are optional\n allowedHeaders: ['allowedHeaders'],\n exposedHeaders: ['exposedHeaders'],\n id: 'id',\n maxAge: 123,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.CorsRule", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 1036 }, "name": "CorsRule", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "An HTTP method that you allow the origin to execute." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1058 }, "name": "allowedMethods", "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.HttpMethods" }, "kind": "array" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "One or more origins you want customers to be able to access the bucket from." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1062 }, "name": "allowedOrigins", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No headers allowed.", "stability": "stable", "summary": "Headers that are specified in the Access-Control-Request-Headers header." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1054 }, "name": "allowedHeaders", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No headers exposed.", "stability": "stable", "summary": "One or more headers in the response that you want customers to be able to access from their applications." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1068 }, "name": "exposedHeaders", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No id specified.", "stability": "stable", "summary": "A unique identifier for this rule." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1042 }, "name": "id", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No caching.", "stability": "stable", "summary": "The time in seconds that your browser is to cache the preflight response for the specified resource." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1048 }, "name": "maxAge", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/bucket:CorsRule" }, "@aws-cdk/aws-s3.EventType": { "assembly": "@aws-cdk/aws-s3", "docs": { "custom": { "link": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-event-types-and-destinations.html#supported-notification-event-types", "exampleMetadata": "infused" }, "stability": "stable", "summary": "Notification event types.", "example": "declare const myQueue: sqs.Queue;\nconst bucket = new s3.Bucket(this, 'MyBucket');\nbucket.addEventNotification(s3.EventType.OBJECT_REMOVED,\n new s3n.SqsDestination(myQueue),\n { prefix: 'foo/', suffix: '.jpg' });" }, "fqn": "@aws-cdk/aws-s3.EventType", "kind": "enum", "locationInModule": { "filename": "lib/bucket.ts", "line": 2205 }, "members": [ { "docs": { "remarks": "Using\nthese event types, you can enable notification when an object is created\nusing a specific API, or you can use the s3:ObjectCreated:* event type to\nrequest notification regardless of the API that was used to create an\nobject.", "stability": "stable", "summary": "Amazon S3 APIs such as PUT, POST, and COPY can create an object." }, "name": "OBJECT_CREATED" }, { "docs": { "remarks": "Using\nthese event types, you can enable notification when an object is created\nusing a specific API, or you can use the s3:ObjectCreated:* event type to\nrequest notification regardless of the API that was used to create an\nobject.", "stability": "stable", "summary": "Amazon S3 APIs such as PUT, POST, and COPY can create an object." }, "name": "OBJECT_CREATED_PUT" }, { "docs": { "remarks": "Using\nthese event types, you can enable notification when an object is created\nusing a specific API, or you can use the s3:ObjectCreated:* event type to\nrequest notification regardless of the API that was used to create an\nobject.", "stability": "stable", "summary": "Amazon S3 APIs such as PUT, POST, and COPY can create an object." }, "name": "OBJECT_CREATED_POST" }, { "docs": { "remarks": "Using\nthese event types, you can enable notification when an object is created\nusing a specific API, or you can use the s3:ObjectCreated:* event type to\nrequest notification regardless of the API that was used to create an\nobject.", "stability": "stable", "summary": "Amazon S3 APIs such as PUT, POST, and COPY can create an object." }, "name": "OBJECT_CREATED_COPY" }, { "docs": { "remarks": "Using\nthese event types, you can enable notification when an object is created\nusing a specific API, or you can use the s3:ObjectCreated:* event type to\nrequest notification regardless of the API that was used to create an\nobject.", "stability": "stable", "summary": "Amazon S3 APIs such as PUT, POST, and COPY can create an object." }, "name": "OBJECT_CREATED_COMPLETE_MULTIPART_UPLOAD" }, { "docs": { "remarks": "You can request notification when an object is deleted or a versioned\nobject is permanently deleted by using the s3:ObjectRemoved:Delete event\ntype. Or you can request notification when a delete marker is created for\na versioned object by using s3:ObjectRemoved:DeleteMarkerCreated. For\ninformation about deleting versioned objects, see Deleting Object\nVersions. You can also use a wildcard s3:ObjectRemoved:* to request\nnotification anytime an object is deleted.\n\nYou will not receive event notifications from automatic deletes from\nlifecycle policies or from failed operations.", "stability": "stable", "summary": "By using the ObjectRemoved event types, you can enable notification when an object or a batch of objects is removed from a bucket." }, "name": "OBJECT_REMOVED" }, { "docs": { "remarks": "You can request notification when an object is deleted or a versioned\nobject is permanently deleted by using the s3:ObjectRemoved:Delete event\ntype. Or you can request notification when a delete marker is created for\na versioned object by using s3:ObjectRemoved:DeleteMarkerCreated. For\ninformation about deleting versioned objects, see Deleting Object\nVersions. You can also use a wildcard s3:ObjectRemoved:* to request\nnotification anytime an object is deleted.\n\nYou will not receive event notifications from automatic deletes from\nlifecycle policies or from failed operations.", "stability": "stable", "summary": "By using the ObjectRemoved event types, you can enable notification when an object or a batch of objects is removed from a bucket." }, "name": "OBJECT_REMOVED_DELETE" }, { "docs": { "remarks": "You can request notification when an object is deleted or a versioned\nobject is permanently deleted by using the s3:ObjectRemoved:Delete event\ntype. Or you can request notification when a delete marker is created for\na versioned object by using s3:ObjectRemoved:DeleteMarkerCreated. For\ninformation about deleting versioned objects, see Deleting Object\nVersions. You can also use a wildcard s3:ObjectRemoved:* to request\nnotification anytime an object is deleted.\n\nYou will not receive event notifications from automatic deletes from\nlifecycle policies or from failed operations.", "stability": "stable", "summary": "By using the ObjectRemoved event types, you can enable notification when an object or a batch of objects is removed from a bucket." }, "name": "OBJECT_REMOVED_DELETE_MARKER_CREATED" }, { "docs": { "remarks": "You use s3:ObjectRestore:Post to request notification of object restoration\ninitiation.", "stability": "stable", "summary": "Using restore object event types you can receive notifications for initiation and completion when restoring objects from the S3 Glacier storage class." }, "name": "OBJECT_RESTORE_POST" }, { "docs": { "remarks": "You use s3:ObjectRestore:Completed to request notification of\nrestoration completion.", "stability": "stable", "summary": "Using restore object event types you can receive notifications for initiation and completion when restoring objects from the S3 Glacier storage class." }, "name": "OBJECT_RESTORE_COMPLETED" }, { "docs": { "remarks": "You use s3:ObjectRestore:Delete to request notification of\nrestoration completion.", "stability": "stable", "summary": "Using restore object event types you can receive notifications for initiation and completion when restoring objects from the S3 Glacier storage class." }, "name": "OBJECT_RESTORE_DELETE" }, { "docs": { "stability": "stable", "summary": "You can use this event type to request Amazon S3 to send a notification message when Amazon S3 detects that an object of the RRS storage class is lost." }, "name": "REDUCED_REDUNDANCY_LOST_OBJECT" }, { "docs": { "stability": "stable", "summary": "You receive this notification event when an object that was eligible for replication using Amazon S3 Replication Time Control failed to replicate." }, "name": "REPLICATION_OPERATION_FAILED_REPLICATION" }, { "docs": { "stability": "stable", "summary": "You receive this notification event when an object that was eligible for replication using Amazon S3 Replication Time Control exceeded the 15-minute threshold for replication." }, "name": "REPLICATION_OPERATION_MISSED_THRESHOLD" }, { "docs": { "stability": "stable", "summary": "You receive this notification event for an object that was eligible for replication using the Amazon S3 Replication Time Control feature replicated after the 15-minute threshold." }, "name": "REPLICATION_OPERATION_REPLICATED_AFTER_THRESHOLD" }, { "docs": { "stability": "stable", "summary": "You receive this notification event for an object that was eligible for replication using Amazon S3 Replication Time Control but is no longer tracked by replication metrics." }, "name": "REPLICATION_OPERATION_NOT_TRACKED" }, { "docs": { "stability": "stable", "summary": "By using the LifecycleExpiration event types, you can receive a notification when Amazon S3 deletes an object based on your S3 Lifecycle configuration." }, "name": "LIFECYCLE_EXPIRATION" }, { "docs": { "remarks": "It also notifies you when an object version is permanently deleted by an\nS3 Lifecycle configuration.", "stability": "stable", "summary": "The s3:LifecycleExpiration:Delete event type notifies you when an object in an unversioned bucket is deleted." }, "name": "LIFECYCLE_EXPIRATION_DELETE" }, { "docs": { "stability": "stable", "summary": "The s3:LifecycleExpiration:DeleteMarkerCreated event type notifies you when S3 Lifecycle creates a delete marker when a current version of an object in versioned bucket is deleted." }, "name": "LIFECYCLE_EXPIRATION_DELETE_MARKER_CREATED" }, { "docs": { "stability": "stable", "summary": "You receive this notification event when an object is transitioned to another Amazon S3 storage class by an S3 Lifecycle configuration." }, "name": "LIFECYCLE_TRANSITION" }, { "docs": { "stability": "stable", "summary": "You receive this notification event when an object within the S3 Intelligent-Tiering storage class moved to the Archive Access tier or Deep Archive Access tier." }, "name": "INTELLIGENT_TIERING" }, { "docs": { "stability": "stable", "summary": "By using the ObjectTagging event types, you can enable notification when an object tag is added or deleted from an object." }, "name": "OBJECT_TAGGING" }, { "docs": { "stability": "stable", "summary": "The s3:ObjectTagging:Put event type notifies you when a tag is PUT on an object or an existing tag is updated." }, "name": "OBJECT_TAGGING_PUT" }, { "docs": { "stability": "stable", "summary": "The s3:ObjectTagging:Delete event type notifies you when a tag is removed from an object." }, "name": "OBJECT_TAGGING_DELETE" }, { "docs": { "remarks": "An event is not generated when a request results in no change to an\nobject’s ACL.", "stability": "stable", "summary": "You receive this notification event when an ACL is PUT on an object or when an existing ACL is changed." }, "name": "OBJECT_ACL_PUT" } ], "name": "EventType", "symbolId": "lib/bucket:EventType" }, "@aws-cdk/aws-s3.HttpMethods": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "summary": "All http request methods." }, "fqn": "@aws-cdk/aws-s3.HttpMethods", "kind": "enum", "locationInModule": { "filename": "lib/bucket.ts", "line": 1010 }, "members": [ { "docs": { "stability": "stable", "summary": "The GET method requests a representation of the specified resource." }, "name": "GET" }, { "docs": { "stability": "stable", "summary": "The PUT method replaces all current representations of the target resource with the request payload." }, "name": "PUT" }, { "docs": { "stability": "stable", "summary": "The HEAD method asks for a response identical to that of a GET request, but without the response body." }, "name": "HEAD" }, { "docs": { "stability": "stable", "summary": "The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server." }, "name": "POST" }, { "docs": { "stability": "stable", "summary": "The DELETE method deletes the specified resource." }, "name": "DELETE" } ], "name": "HttpMethods", "symbolId": "lib/bucket:HttpMethods" }, "@aws-cdk/aws-s3.IBucket": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable" }, "fqn": "@aws-cdk/aws-s3.IBucket", "interfaces": [ "@aws-cdk/core.IResource" ], "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 23 }, "methods": [ { "abstract": true, "docs": { "example": " declare const myLambda: lambda.Function;\n const bucket = new s3.Bucket(this, 'MyBucket');\n bucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(myLambda), {prefix: 'home/myusername/*'})", "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html", "stability": "stable", "summary": "Adds a bucket notification event destination." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 335 }, "name": "addEventNotification", "parameters": [ { "docs": { "summary": "The event to trigger the notification." }, "name": "event", "type": { "fqn": "@aws-cdk/aws-s3.EventType" } }, { "docs": { "summary": "The notification destination (Lambda, SNS Topic or SQS Queue)." }, "name": "dest", "type": { "fqn": "@aws-cdk/aws-s3.IBucketNotificationDestination" } }, { "docs": { "remarks": "Each filter must include a `prefix` and/or `suffix`\nthat will be matched against the s3 object key. Refer to the S3 Developer Guide\nfor details about allowed filter rules.", "summary": "S3 object key filter rules to determine which objects trigger this event." }, "name": "filters", "type": { "fqn": "@aws-cdk/aws-s3.NotificationKeyFilter" }, "variadic": true } ], "variadic": true }, { "abstract": true, "docs": { "remarks": "This is identical to calling\n`onEvent(s3.EventType.OBJECT_CREATED)`.", "stability": "stable", "summary": "Subscribes a destination to receive notifications when an object is created in the bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 345 }, "name": "addObjectCreatedNotification", "parameters": [ { "docs": { "summary": "The notification destination (see onEvent)." }, "name": "dest", "type": { "fqn": "@aws-cdk/aws-s3.IBucketNotificationDestination" } }, { "docs": { "summary": "Filters (see onEvent)." }, "name": "filters", "type": { "fqn": "@aws-cdk/aws-s3.NotificationKeyFilter" }, "variadic": true } ], "variadic": true }, { "abstract": true, "docs": { "remarks": "This is identical to calling\n`onEvent(EventType.OBJECT_REMOVED)`.", "stability": "stable", "summary": "Subscribes a destination to receive notifications when an object is removed from the bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 355 }, "name": "addObjectRemovedNotification", "parameters": [ { "docs": { "summary": "The notification destination (see onEvent)." }, "name": "dest", "type": { "fqn": "@aws-cdk/aws-s3.IBucketNotificationDestination" } }, { "docs": { "summary": "Filters (see onEvent)." }, "name": "filters", "type": { "fqn": "@aws-cdk/aws-s3.NotificationKeyFilter" }, "variadic": true } ], "variadic": true }, { "abstract": true, "docs": { "remarks": "Note that the policy statement may or may not be added to the policy.\nFor example, when an `IBucket` is created from an existing bucket,\nit's not possible to tell whether the bucket already has a policy\nattached, let alone to re-use that policy to add more statements to it.\nSo it's safest to do nothing in these cases.", "returns": "metadata about the execution of this method. If the policy\nwas not added, the value of `statementAdded` will be `false`. You\nshould always check this value to make sure that the operation was\nactually carried out. Otherwise, synthesis and deploy will terminate\nsilently, which may be confusing.", "stability": "stable", "summary": "Adds a statement to the resource policy for a principal (i.e. account/role/service) to perform actions on this bucket and/or its contents. Use `bucketArn` and `arnForObjects(keys)` to obtain ARNs for this bucket or objects." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 104 }, "name": "addToResourcePolicy", "parameters": [ { "docs": { "summary": "the policy statement to be added to the bucket's policy." }, "name": "permission", "type": { "fqn": "@aws-cdk/aws-iam.PolicyStatement" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.AddToResourcePolicyResult" } } }, { "abstract": true, "docs": { "remarks": "To represent all keys, specify ``\"*\"``.", "stability": "stable", "summary": "Returns an ARN that represents all objects within the bucket that match the key pattern specified." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 161 }, "name": "arnForObjects", "parameters": [ { "name": "keyPattern", "type": { "primitive": "string" } } ], "returns": { "type": { "primitive": "string" } } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Grants s3:DeleteObject* permission to an IAM principal for objects in this bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 223 }, "name": "grantDelete", "parameters": [ { "docs": { "summary": "The principal." }, "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "Restrict the permission to a certain key pattern (default '*')." }, "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "IMPORTANT: This permission allows anyone to perform actions on S3 objects\nin this bucket, which is useful for when you configure your bucket as a\nwebsite and want everyone to be able to read objects in the bucket without\nneeding to authenticate.\n\nWithout arguments, this method will grant read (\"s3:GetObject\") access to\nall objects (\"*\") in the bucket.\n\nThe method returns the `iam.Grant` object, which can then be modified\nas needed. For example, you can add a condition that will restrict access only\nto an IPv4 range like this:\n\n const grant = bucket.grantPublicAccess();\n grant.resourceStatement!.addCondition(‘IpAddress’, { “aws:SourceIp”: “54.240.143.0/24” });", "returns": "The `iam.PolicyStatement` object, which can be used to apply e.g. conditions.", "stability": "stable", "summary": "Allows unrestricted access to objects from this bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 268 }, "name": "grantPublicAccess", "parameters": [ { "docs": { "summary": "the prefix of S3 object keys (e.g. `home/*`). Default is \"*\"." }, "name": "keyPrefix", "optional": true, "type": { "primitive": "string" } }, { "docs": { "remarks": "Default is \"s3:GetObject\".", "summary": "the set of S3 actions to allow." }, "name": "allowedActions", "type": { "primitive": "string" }, "variadic": true } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } }, "variadic": true }, { "abstract": true, "docs": { "remarks": "If encryption is used, permission to use the key to encrypt the contents\nof written files will also be granted to the same principal.", "stability": "stable", "summary": "Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 202 }, "name": "grantPut", "parameters": [ { "docs": { "summary": "The principal." }, "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "Restrict the permission to a certain key pattern (default '*')." }, "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set,\ncalling {@link grantWrite} or {@link grantReadWrite} no longer grants permissions to modify the ACLs of the objects;\nin this case, if you need to modify object ACLs, call this method explicitly.", "stability": "stable", "summary": "Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 214 }, "name": "grantPutAcl", "parameters": [ { "docs": { "summary": "The principal." }, "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "Restrict the permission to a certain key pattern (default '*')." }, "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "If encryption is used, permission to use the key to decrypt the contents\nof the bucket will also be granted to the same principal.", "stability": "stable", "summary": "Grant read permissions for this bucket and it's contents to an IAM principal (Role/Group/User)." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 173 }, "name": "grantRead", "parameters": [ { "docs": { "summary": "The principal." }, "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "Restrict the permission to a certain key pattern (default '*')." }, "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "If an encryption key is used, permission to use the key for\nencrypt/decrypt will also be granted.\n\nBefore CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,\nwhich could be used to grant read/write object access to IAM principals in other accounts.\nIf you want to get rid of that behavior, update your CDK version to 1.85.0 or later,\nand make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`\nin the `context` key of your cdk.json file.\nIf you've already updated, but still need the principal to have permissions to modify the ACLs,\nuse the {@link grantPutAcl} method.", "stability": "stable", "summary": "Grants read/write permissions for this bucket and it's contents to an IAM principal (Role/Group/User)." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 243 }, "name": "grantReadWrite", "parameters": [ { "docs": { "summary": "The principal." }, "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "Restrict the permission to a certain key pattern (default '*')." }, "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "If encryption is used, permission to use the key to encrypt the contents\nof written files will also be granted to the same principal.\n\nBefore CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,\nwhich could be used to grant read/write object access to IAM principals in other accounts.\nIf you want to get rid of that behavior, update your CDK version to 1.85.0 or later,\nand make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`\nin the `context` key of your cdk.json file.\nIf you've already updated, but still need the principal to have permissions to modify the ACLs,\nuse the {@link grantPutAcl} method.", "stability": "stable", "summary": "Grant write permissions to this bucket to an IAM principal." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 192 }, "name": "grantWrite", "parameters": [ { "docs": { "summary": "The principal." }, "name": "identity", "type": { "fqn": "@aws-cdk/aws-iam.IGrantable" } }, { "docs": { "summary": "Restrict the permission to a certain key pattern (default '*')." }, "name": "objectsKeyPattern", "optional": true, "type": { "primitive": "any" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-iam.Grant" } } }, { "abstract": true, "docs": { "remarks": "Requires that there exists at least one CloudTrail Trail in your account\nthat captures the event. This method will not create the Trail.", "stability": "stable", "summary": "Defines a CloudWatch event that triggers when something happens to this bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 279 }, "name": "onCloudTrailEvent", "parameters": [ { "docs": { "summary": "The id of the rule." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "Options for adding the rule." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.OnCloudTrailBucketEventOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-events.Rule" } } }, { "abstract": true, "docs": { "remarks": "Note that some tools like `aws s3 cp` will automatically use either\nPutObject or the multipart upload API depending on the file size,\nso using `onCloudTrailWriteObject` may be preferable.\n\nRequires that there exists at least one CloudTrail Trail in your account\nthat captures the event. This method will not create the Trail.", "stability": "stable", "summary": "Defines an AWS CloudWatch event that triggers when an object is uploaded to the specified paths (keys) in this bucket using the PutObject API call." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 295 }, "name": "onCloudTrailPutObject", "parameters": [ { "docs": { "summary": "The id of the rule." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "Options for adding the rule." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.OnCloudTrailBucketEventOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-events.Rule" } } }, { "abstract": true, "docs": { "remarks": "This includes\nthe events PutObject, CopyObject, and CompleteMultipartUpload.\n\nNote that some tools like `aws s3 cp` will automatically use either\nPutObject or the multipart upload API depending on the file size,\nso using this method may be preferable to `onCloudTrailPutObject`.\n\nRequires that there exists at least one CloudTrail Trail in your account\nthat captures the event. This method will not create the Trail.", "stability": "stable", "summary": "Defines an AWS CloudWatch event that triggers when an object at the specified paths (keys) in this bucket are written to." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 312 }, "name": "onCloudTrailWriteObject", "parameters": [ { "docs": { "summary": "The id of the rule." }, "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "Options for adding the rule." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.OnCloudTrailBucketEventOptions" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-events.Rule" } } }, { "abstract": true, "docs": { "remarks": "For example:\n- `s3://onlybucket`\n- `s3://bucket/key`", "returns": "an ObjectS3Url token", "stability": "stable", "summary": "The S3 URL of an S3 object." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 155 }, "name": "s3UrlForObject", "parameters": [ { "docs": { "remarks": "If not specified, the S3 URL of the\nbucket is returned.", "summary": "The S3 key of the object." }, "name": "key", "optional": true, "type": { "primitive": "string" } } ], "returns": { "type": { "primitive": "string" } } }, { "abstract": true, "docs": { "remarks": "Specify `dualStack: true` at the options\nfor dual-stack endpoint (connect to the bucket over IPv6). For example:\n\n- `https://bucket.s3-accelerate.amazonaws.com`\n- `https://bucket.s3-accelerate.amazonaws.com/key`", "returns": "an TransferAccelerationUrl token", "stability": "stable", "summary": "The https Transfer Acceleration URL of an S3 object." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 130 }, "name": "transferAccelerationUrlForObject", "parameters": [ { "docs": { "remarks": "If not specified, the URL of the\nbucket is returned.", "summary": "The S3 key of the object." }, "name": "key", "optional": true, "type": { "primitive": "string" } }, { "docs": { "summary": "Options for generating URL." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.TransferAccelerationUrlOptions" } } ], "returns": { "type": { "primitive": "string" } } }, { "abstract": true, "docs": { "remarks": "- `https://s3.us-west-1.amazonaws.com/onlybucket`\n- `https://s3.us-west-1.amazonaws.com/bucket/key`\n- `https://s3.cn-north-1.amazonaws.com.cn/china-bucket/mykey`", "returns": "an ObjectS3Url token", "stability": "stable", "summary": "The https URL of an S3 object. For example:." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 116 }, "name": "urlForObject", "parameters": [ { "docs": { "remarks": "If not specified, the URL of the\nbucket is returned.", "summary": "The S3 key of the object." }, "name": "key", "optional": true, "type": { "primitive": "string" } } ], "returns": { "type": { "primitive": "string" } } }, { "abstract": true, "docs": { "remarks": "- `https://only-bucket.s3.us-west-1.amazonaws.com`\n- `https://bucket.s3.us-west-1.amazonaws.com/key`\n- `https://bucket.s3.amazonaws.com/key`\n- `https://china-bucket.s3.cn-north-1.amazonaws.com.cn/mykey`", "returns": "an ObjectS3Url token", "stability": "stable", "summary": "The virtual hosted-style URL of an S3 object. Specify `regional: false` at the options for non-regional URL. For example:." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 145 }, "name": "virtualHostedUrlForObject", "parameters": [ { "docs": { "remarks": "If not specified, the URL of the\nbucket is returned.", "summary": "The S3 key of the object." }, "name": "key", "optional": true, "type": { "primitive": "string" } }, { "docs": { "summary": "Options for generating URL." }, "name": "options", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.VirtualHostedStyleUrlOptions" } } ], "returns": { "type": { "primitive": "string" } } } ], "name": "IBucket", "properties": [ { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "The ARN of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 28 }, "name": "bucketArn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "The IPv4 DNS name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 52 }, "name": "bucketDomainName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "The IPv6 DNS name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 58 }, "name": "bucketDualStackDomainName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "The name of the bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 34 }, "name": "bucketName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "The regional domain name of the specified bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 64 }, "name": "bucketRegionalDomainName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "The Domain name of the static website." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 46 }, "name": "bucketWebsiteDomainName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "The URL of the static website." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 40 }, "name": "bucketWebsiteUrl", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "Optional KMS encryption key associated with this bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 74 }, "name": "encryptionKey", "optional": true, "type": { "fqn": "@aws-cdk/aws-kms.IKey" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "If this bucket has been configured for static website hosting." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 69 }, "name": "isWebsite", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "remarks": "If `autoCreatePolicy` is true, a `BucketPolicy` will be created upon the\nfirst call to addToResourcePolicy(s).", "stability": "stable", "summary": "The resource policy associated with this bucket." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 82 }, "name": "policy", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.BucketPolicy" } } ], "symbolId": "lib/bucket:IBucket" }, "@aws-cdk/aws-s3.IBucketNotificationDestination": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "summary": "Implemented by constructs that can be used as bucket notification destinations." }, "fqn": "@aws-cdk/aws-s3.IBucketNotificationDestination", "kind": "interface", "locationInModule": { "filename": "lib/destination.ts", "line": 11 }, "methods": [ { "abstract": true, "docs": { "remarks": "This method will only be called once for each destination/bucket\npair and the result will be cached, so there is no need to implement\nidempotency in each destination.", "stability": "stable", "summary": "Registers this resource to receive notifications for the specified bucket." }, "locationInModule": { "filename": "lib/destination.ts", "line": 19 }, "name": "bind", "parameters": [ { "name": "scope", "type": { "fqn": "@aws-cdk/core.Construct" } }, { "docs": { "summary": "The bucket object to bind to." }, "name": "bucket", "type": { "fqn": "@aws-cdk/aws-s3.IBucket" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-s3.BucketNotificationDestinationConfig" } } } ], "name": "IBucketNotificationDestination", "symbolId": "lib/destination:IBucketNotificationDestination" }, "@aws-cdk/aws-s3.IntelligentTieringConfiguration": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "The intelligent tiering configuration.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as cdk from '@aws-cdk/core';\nconst intelligentTieringConfiguration: s3.IntelligentTieringConfiguration = {\n name: 'name',\n\n // the properties below are optional\n archiveAccessTierTime: cdk.Duration.minutes(30),\n deepArchiveAccessTierTime: cdk.Duration.minutes(30),\n prefix: 'prefix',\n tags: [{\n key: 'key',\n value: 'value',\n }],\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.IntelligentTieringConfiguration", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 1245 }, "name": "IntelligentTieringConfiguration", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "Configuration name." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1249 }, "name": "name", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "Objects will not move to Glacier", "stability": "stable", "summary": "When enabled, Intelligent-Tiering will automatically move objects that haven’t been accessed for a minimum of 90 days to the Archive Access tier." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1272 }, "name": "archiveAccessTierTime", "optional": true, "type": { "fqn": "@aws-cdk/core.Duration" } }, { "abstract": true, "docs": { "default": "Objects will not move to Glacier Deep Access", "stability": "stable", "summary": "When enabled, Intelligent-Tiering will automatically move objects that haven’t been accessed for a minimum of 180 days to the Deep Archive Access tier." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1281 }, "name": "deepArchiveAccessTierTime", "optional": true, "type": { "fqn": "@aws-cdk/core.Duration" } }, { "abstract": true, "docs": { "default": "this configuration will apply to **all** objects in the bucket.", "stability": "stable", "summary": "Add a filter to limit the scope of this configuration to a single prefix." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1257 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "No filtering will be performed on tags", "stability": "stable", "summary": "You can limit the scope of this rule to the key value pairs added below." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1264 }, "name": "tags", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.Tag" }, "kind": "array" } } } ], "symbolId": "lib/bucket:IntelligentTieringConfiguration" }, "@aws-cdk/aws-s3.Inventory": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html", "stability": "stable", "summary": "Specifies the inventory configuration of an S3 Bucket.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const bucket: s3.Bucket;\nconst inventory: s3.Inventory = {\n destination: {\n bucket: bucket,\n\n // the properties below are optional\n bucketOwner: 'bucketOwner',\n prefix: 'prefix',\n },\n\n // the properties below are optional\n enabled: false,\n format: s3.InventoryFormat.CSV,\n frequency: s3.InventoryFrequency.DAILY,\n includeObjectVersions: s3.InventoryObjectVersion.ALL,\n inventoryId: 'inventoryId',\n objectsPrefix: 'objectsPrefix',\n optionalFields: ['optionalFields'],\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.Inventory", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 1171 }, "name": "Inventory", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The destination of the inventory." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1175 }, "name": "destination", "type": { "fqn": "@aws-cdk/aws-s3.InventoryDestination" } }, { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "Whether the inventory is enabled or disabled." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1193 }, "name": "enabled", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "InventoryFormat.CSV", "stability": "stable", "summary": "The format of the inventory." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1187 }, "name": "format", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.InventoryFormat" } }, { "abstract": true, "docs": { "default": "InventoryFrequency.WEEKLY", "stability": "stable", "summary": "Frequency at which the inventory should be generated." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1205 }, "name": "frequency", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.InventoryFrequency" } }, { "abstract": true, "docs": { "default": "InventoryObjectVersion.ALL", "stability": "stable", "summary": "If the inventory should contain all the object versions or only the current one." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1211 }, "name": "includeObjectVersions", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.InventoryObjectVersion" } }, { "abstract": true, "docs": { "default": "- generated ID.", "stability": "stable", "summary": "The inventory configuration ID." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1199 }, "name": "inventoryId", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No objects prefix", "stability": "stable", "summary": "The inventory will only include objects that meet the prefix filter criteria." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1181 }, "name": "objectsPrefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No optional fields.", "stability": "stable", "summary": "A list of optional fields to be included in the inventory result." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1217 }, "name": "optionalFields", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } } ], "symbolId": "lib/bucket:Inventory" }, "@aws-cdk/aws-s3.InventoryDestination": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "The destination of the inventory.", "example": "const inventoryBucket = new s3.Bucket(this, 'InventoryBucket');\n\nconst dataBucket = new s3.Bucket(this, 'DataBucket', {\n inventories: [\n {\n frequency: s3.InventoryFrequency.DAILY,\n includeObjectVersions: s3.InventoryObjectVersion.CURRENT,\n destination: {\n bucket: inventoryBucket,\n },\n },\n {\n frequency: s3.InventoryFrequency.WEEKLY,\n includeObjectVersions: s3.InventoryObjectVersion.ALL,\n destination: {\n bucket: inventoryBucket,\n prefix: 'with-all-versions',\n },\n },\n ],\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.InventoryDestination", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 1145 }, "name": "InventoryDestination", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "Bucket where all inventories will be saved in." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1149 }, "name": "bucket", "type": { "fqn": "@aws-cdk/aws-s3.IBucket" } }, { "abstract": true, "docs": { "default": "- No account ID.", "remarks": "If no account ID is provided, the owner is not validated before exporting data.\nIt's recommended to set an account ID to prevent problems if the destination bucket ownership changes.", "stability": "stable", "summary": "The account ID that owns the destination S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1163 }, "name": "bucketOwner", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No prefix.", "stability": "stable", "summary": "The prefix to be used when saving the inventory." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1155 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/bucket:InventoryDestination" }, "@aws-cdk/aws-s3.InventoryFormat": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "summary": "All supported inventory list formats." }, "fqn": "@aws-cdk/aws-s3.InventoryFormat", "kind": "enum", "locationInModule": { "filename": "lib/bucket.ts", "line": 1099 }, "members": [ { "docs": { "stability": "stable", "summary": "Generate the inventory list as CSV." }, "name": "CSV" }, { "docs": { "stability": "stable", "summary": "Generate the inventory list as Parquet." }, "name": "PARQUET" }, { "docs": { "stability": "stable", "summary": "Generate the inventory list as ORC." }, "name": "ORC" } ], "name": "InventoryFormat", "symbolId": "lib/bucket:InventoryFormat" }, "@aws-cdk/aws-s3.InventoryFrequency": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "summary": "All supported inventory frequencies.", "example": "const inventoryBucket = new s3.Bucket(this, 'InventoryBucket');\n\nconst dataBucket = new s3.Bucket(this, 'DataBucket', {\n inventories: [\n {\n frequency: s3.InventoryFrequency.DAILY,\n includeObjectVersions: s3.InventoryObjectVersion.CURRENT,\n destination: {\n bucket: inventoryBucket,\n },\n },\n {\n frequency: s3.InventoryFrequency.WEEKLY,\n includeObjectVersions: s3.InventoryObjectVersion.ALL,\n destination: {\n bucket: inventoryBucket,\n prefix: 'with-all-versions',\n },\n },\n ],\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.InventoryFrequency", "kind": "enum", "locationInModule": { "filename": "lib/bucket.ts", "line": 1117 }, "members": [ { "docs": { "stability": "stable", "summary": "A report is generated every day." }, "name": "DAILY" }, { "docs": { "stability": "stable", "summary": "A report is generated every Sunday (UTC timezone) after the initial report." }, "name": "WEEKLY" } ], "name": "InventoryFrequency", "symbolId": "lib/bucket:InventoryFrequency" }, "@aws-cdk/aws-s3.InventoryObjectVersion": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "summary": "Inventory version support.", "example": "const inventoryBucket = new s3.Bucket(this, 'InventoryBucket');\n\nconst dataBucket = new s3.Bucket(this, 'DataBucket', {\n inventories: [\n {\n frequency: s3.InventoryFrequency.DAILY,\n includeObjectVersions: s3.InventoryObjectVersion.CURRENT,\n destination: {\n bucket: inventoryBucket,\n },\n },\n {\n frequency: s3.InventoryFrequency.WEEKLY,\n includeObjectVersions: s3.InventoryObjectVersion.ALL,\n destination: {\n bucket: inventoryBucket,\n prefix: 'with-all-versions',\n },\n },\n ],\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.InventoryObjectVersion", "kind": "enum", "locationInModule": { "filename": "lib/bucket.ts", "line": 1131 }, "members": [ { "docs": { "stability": "stable", "summary": "Includes all versions of each object in the report." }, "name": "ALL" }, { "docs": { "stability": "stable", "summary": "Includes only the current version of each object in the report." }, "name": "CURRENT" } ], "name": "InventoryObjectVersion", "symbolId": "lib/bucket:InventoryObjectVersion" }, "@aws-cdk/aws-s3.LifecycleRule": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Declaration of a Life cycle rule.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const storageClass: s3.StorageClass;\ndeclare const tagFilters: any;\nconst lifecycleRule: s3.LifecycleRule = {\n abortIncompleteMultipartUploadAfter: cdk.Duration.minutes(30),\n enabled: false,\n expiration: cdk.Duration.minutes(30),\n expirationDate: new Date(),\n expiredObjectDeleteMarker: false,\n id: 'id',\n noncurrentVersionExpiration: cdk.Duration.minutes(30),\n noncurrentVersionsToRetain: 123,\n noncurrentVersionTransitions: [{\n storageClass: storageClass,\n transitionAfter: cdk.Duration.minutes(30),\n\n // the properties below are optional\n noncurrentVersionsToRetain: 123,\n }],\n objectSizeGreaterThan: 123,\n objectSizeLessThan: 123,\n prefix: 'prefix',\n tagFilters: {\n tagFiltersKey: tagFilters,\n },\n transitions: [{\n storageClass: storageClass,\n\n // the properties below are optional\n transitionAfter: cdk.Duration.minutes(30),\n transitionDate: new Date(),\n }],\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.LifecycleRule", "kind": "interface", "locationInModule": { "filename": "lib/rule.ts", "line": 6 }, "name": "LifecycleRule", "properties": [ { "abstract": true, "docs": { "default": "- Incomplete uploads are never aborted", "remarks": "The AbortIncompleteMultipartUpload property type creates a lifecycle\nrule that aborts incomplete multipart uploads to an Amazon S3 bucket.\nWhen Amazon S3 aborts a multipart upload, it deletes all parts\nassociated with the multipart upload.", "stability": "stable", "summary": "Specifies a lifecycle rule that aborts incomplete multipart uploads to an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 29 }, "name": "abortIncompleteMultipartUploadAfter", "optional": true, "type": { "fqn": "@aws-cdk/core.Duration" } }, { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "Whether this rule is enabled." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 17 }, "name": "enabled", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- No expiration timeout", "remarks": "If you specify an expiration and transition time, you must use the same\ntime unit for both properties (either in days or by date). The\nexpiration time must also be later than the transition time.", "stability": "stable", "summary": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon Glacier." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 53 }, "name": "expiration", "optional": true, "type": { "fqn": "@aws-cdk/core.Duration" } }, { "abstract": true, "docs": { "default": "- No expiration date", "remarks": "The date value must be in ISO 8601 format. The time is always midnight UTC.\n\nIf you specify an expiration and transition time, you must use the same\ntime unit for both properties (either in days or by date). The\nexpiration time must also be later than the transition time.", "stability": "stable", "summary": "Indicates when objects are deleted from Amazon S3 and Amazon Glacier." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 42 }, "name": "expirationDate", "optional": true, "type": { "primitive": "date" } }, { "abstract": true, "docs": { "default": "false", "remarks": "If set to true, the delete marker will be expired.", "stability": "stable", "summary": "Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 120 }, "name": "expiredObjectDeleteMarker", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "remarks": "The value cannot be more than 255 characters.", "stability": "stable", "summary": "A unique identifier for this rule." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 10 }, "name": "id", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No noncurrent version expiration", "remarks": "For buckets with versioning enabled (or suspended), specifies the time,\nin days, between when a new version of the object is uploaded to the\nbucket and when old versions of the object expire. When object versions\nexpire, Amazon S3 permanently deletes them. If you specify a transition\nand expiration time, the expiration time must be later than the\ntransition time.", "stability": "stable", "summary": "Time between when a new version of the object is uploaded to the bucket and when old versions of the object expire." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 67 }, "name": "noncurrentVersionExpiration", "optional": true, "type": { "fqn": "@aws-cdk/core.Duration" } }, { "abstract": true, "docs": { "default": "- No noncurrent versions to retain", "remarks": "If there are this many more noncurrent versions,\nAmazon S3 permanently deletes them.", "stability": "stable", "summary": "Indicates a maximum number of noncurrent versions to retain." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 77 }, "name": "noncurrentVersionsToRetain", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "remarks": "Only for for buckets with versioning enabled (or suspended).\n\nIf you specify a transition and expiration time, the expiration time\nmust be later than the transition time.", "stability": "stable", "summary": "One or more transition rules that specify when non-current objects transition to a specified storage class." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 87 }, "name": "noncurrentVersionTransitions", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.NoncurrentVersionTransition" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No rule", "stability": "stable", "summary": "Specifies the minimum object size in bytes for this rule to apply to." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 133 }, "name": "objectSizeGreaterThan", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "default": "- No rule", "stability": "stable", "summary": "Specifies the maximum object size in bytes for this rule to apply to." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 127 }, "name": "objectSizeLessThan", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "default": "- Rule applies to all objects", "stability": "stable", "summary": "Object key prefix that identifies one or more objects to which this rule applies." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 105 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- Rule applies to all objects", "stability": "stable", "summary": "The TagFilter property type specifies tags to use to identify a subset of objects for an Amazon S3 bucket." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 112 }, "name": "tagFilters", "optional": true, "type": { "collection": { "elementtype": { "primitive": "any" }, "kind": "map" } } }, { "abstract": true, "docs": { "default": "- No transition rules", "remarks": "If you specify an expiration and transition time, you must use the same\ntime unit for both properties (either in days or by date). The\nexpiration time must also be later than the transition time.", "stability": "stable", "summary": "One or more transition rules that specify when an object transitions to a specified storage class." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 98 }, "name": "transitions", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@aws-cdk/aws-s3.Transition" }, "kind": "array" } } } ], "symbolId": "lib/rule:LifecycleRule" }, "@aws-cdk/aws-s3.Location": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "An interface that represents the location of a specific object in an S3 Bucket.", "example": "const startQueryExecutionJob = new tasks.AthenaStartQueryExecution(this, 'Athena Start Query', {\n queryString: sfn.JsonPath.format('select contacts where year={};', sfn.JsonPath.stringAt('$.year')),\n queryExecutionContext: {\n databaseName: 'interactions',\n },\n resultConfiguration: {\n encryptionConfiguration: {\n encryptionOption: tasks.EncryptionOption.S3_MANAGED,\n },\n outputLocation: {\n bucketName: 'mybucket',\n objectKey: 'myprefix',\n },\n },\n integrationPattern: sfn.IntegrationPattern.RUN_JOB,\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.Location", "kind": "interface", "locationInModule": { "filename": "lib/location.ts", "line": 4 }, "name": "Location", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The name of the S3 Bucket the object is in." }, "immutable": true, "locationInModule": { "filename": "lib/location.ts", "line": 8 }, "name": "bucketName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The path inside the Bucket where the object is located at." }, "immutable": true, "locationInModule": { "filename": "lib/location.ts", "line": 13 }, "name": "objectKey", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The S3 object version." }, "immutable": true, "locationInModule": { "filename": "lib/location.ts", "line": 18 }, "name": "objectVersion", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/location:Location" }, "@aws-cdk/aws-s3.NoncurrentVersionTransition": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Describes when noncurrent versions transition to a specified storage class.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const storageClass: s3.StorageClass;\nconst noncurrentVersionTransition: s3.NoncurrentVersionTransition = {\n storageClass: storageClass,\n transitionAfter: cdk.Duration.minutes(30),\n\n // the properties below are optional\n noncurrentVersionsToRetain: 123,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.NoncurrentVersionTransition", "kind": "interface", "locationInModule": { "filename": "lib/rule.ts", "line": 165 }, "name": "NoncurrentVersionTransition", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The storage class to which you want the object to transition." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 169 }, "name": "storageClass", "type": { "fqn": "@aws-cdk/aws-s3.StorageClass" } }, { "abstract": true, "docs": { "default": "- No transition count.", "stability": "stable", "summary": "Indicates the number of days after creation when objects are transitioned to the specified storage class." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 176 }, "name": "transitionAfter", "type": { "fqn": "@aws-cdk/core.Duration" } }, { "abstract": true, "docs": { "default": "- No noncurrent version retained.", "remarks": "Can be up to 100 noncurrent versions retained.", "stability": "stable", "summary": "Indicates the number of noncurrent version objects to be retained." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 183 }, "name": "noncurrentVersionsToRetain", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "lib/rule:NoncurrentVersionTransition" }, "@aws-cdk/aws-s3.NotificationKeyFilter": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "example": "declare const myQueue: sqs.Queue;\nconst bucket = new s3.Bucket(this, 'MyBucket');\nbucket.addEventNotification(s3.EventType.OBJECT_REMOVED,\n new s3n.SqsDestination(myQueue),\n { prefix: 'foo/', suffix: '.jpg' });", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.NotificationKeyFilter", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 2428 }, "name": "NotificationKeyFilter", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "S3 keys must have the specified prefix." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2432 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "S3 keys must have the specified suffix." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2437 }, "name": "suffix", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/bucket:NotificationKeyFilter" }, "@aws-cdk/aws-s3.ObjectOwnership": { "assembly": "@aws-cdk/aws-s3", "docs": { "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html", "stability": "stable", "summary": "The ObjectOwnership of the bucket.", "example": "new s3.Bucket(this, 'MyBucket', {\n objectOwnership: s3.ObjectOwnership.OBJECT_WRITER,\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.ObjectOwnership", "kind": "enum", "locationInModule": { "filename": "lib/bucket.ts", "line": 1225 }, "members": [ { "docs": { "remarks": "ACLs no longer affect permissions to data in the S3 bucket.\nThe bucket uses policies to define access control.", "stability": "stable", "summary": "ACLs are disabled, and the bucket owner automatically owns and has full control over every object in the bucket." }, "name": "BUCKET_OWNER_ENFORCED" }, { "docs": { "stability": "stable", "summary": "Objects uploaded to the bucket change ownership to the bucket owner ." }, "name": "BUCKET_OWNER_PREFERRED" }, { "docs": { "stability": "stable", "summary": "The uploading account will own the object." }, "name": "OBJECT_WRITER" } ], "name": "ObjectOwnership", "symbolId": "lib/bucket:ObjectOwnership" }, "@aws-cdk/aws-s3.OnCloudTrailBucketEventOptions": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Options for the onCloudTrailPutObject method.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as events from '@aws-cdk/aws-events';\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const detail: any;\ndeclare const ruleTarget: events.IRuleTarget;\nconst onCloudTrailBucketEventOptions: s3.OnCloudTrailBucketEventOptions = {\n description: 'description',\n eventPattern: {\n account: ['account'],\n detail: {\n detailKey: detail,\n },\n detailType: ['detailType'],\n id: ['id'],\n region: ['region'],\n resources: ['resources'],\n source: ['source'],\n time: ['time'],\n version: ['version'],\n },\n paths: ['paths'],\n ruleName: 'ruleName',\n target: ruleTarget,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.OnCloudTrailBucketEventOptions", "interfaces": [ "@aws-cdk/aws-events.OnEventOptions" ], "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 2443 }, "name": "OnCloudTrailBucketEventOptions", "properties": [ { "abstract": true, "docs": { "default": "- Watch changes to all objects", "stability": "stable", "summary": "Only watch changes to these object paths." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2449 }, "name": "paths", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } } ], "symbolId": "lib/bucket:OnCloudTrailBucketEventOptions" }, "@aws-cdk/aws-s3.RedirectProtocol": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "summary": "All http request methods.", "example": "const bucket = new s3.Bucket(this, 'MyRedirectedBucket', {\n websiteRoutingRules: [{\n hostName: 'www.example.com',\n httpRedirectCode: '302',\n protocol: s3.RedirectProtocol.HTTPS,\n replaceKey: s3.ReplaceKey.prefixWith('test/'),\n condition: {\n httpErrorCodeReturnedEquals: '200',\n keyPrefixEquals: 'prefix',\n },\n }],\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.RedirectProtocol", "kind": "enum", "locationInModule": { "filename": "lib/bucket.ts", "line": 1074 }, "members": [ { "docs": { "stability": "stable" }, "name": "HTTP" }, { "docs": { "stability": "stable" }, "name": "HTTPS" } ], "name": "RedirectProtocol", "symbolId": "lib/bucket:RedirectProtocol" }, "@aws-cdk/aws-s3.RedirectTarget": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Specifies a redirect behavior of all requests to a website endpoint of a bucket.", "example": "const bucket = new s3.Bucket(this, 'MyRedirectedBucket', {\n websiteRedirect: { hostName: 'www.example.com' },\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.RedirectTarget", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 1082 }, "name": "RedirectTarget", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "Name of the host where requests are redirected." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1086 }, "name": "hostName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- The protocol used in the original request.", "stability": "stable", "summary": "Protocol to use when redirecting requests." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1093 }, "name": "protocol", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.RedirectProtocol" } } ], "symbolId": "lib/bucket:RedirectTarget" }, "@aws-cdk/aws-s3.ReplaceKey": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "example": "const bucket = new s3.Bucket(this, 'MyRedirectedBucket', {\n websiteRoutingRules: [{\n hostName: 'www.example.com',\n httpRedirectCode: '302',\n protocol: s3.RedirectProtocol.HTTPS,\n replaceKey: s3.ReplaceKey.prefixWith('test/'),\n condition: {\n httpErrorCodeReturnedEquals: '200',\n keyPrefixEquals: 'prefix',\n },\n }],\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.ReplaceKey", "kind": "class", "locationInModule": { "filename": "lib/bucket.ts", "line": 2525 }, "methods": [ { "docs": { "stability": "stable", "summary": "The object key prefix to use in the redirect request." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 2536 }, "name": "prefixWith", "parameters": [ { "name": "keyReplacement", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-s3.ReplaceKey" } }, "static": true }, { "docs": { "stability": "stable", "summary": "The specific object key to use in the redirect request." }, "locationInModule": { "filename": "lib/bucket.ts", "line": 2529 }, "name": "with", "parameters": [ { "name": "keyReplacement", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-s3.ReplaceKey" } }, "static": true } ], "name": "ReplaceKey", "properties": [ { "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2540 }, "name": "prefixWithKey", "optional": true, "type": { "primitive": "string" } }, { "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2540 }, "name": "withKey", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/bucket:ReplaceKey" }, "@aws-cdk/aws-s3.RoutingRule": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html", "stability": "stable", "summary": "Rule that define when a redirect is applied and the redirect behavior.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const replaceKey: s3.ReplaceKey;\nconst routingRule: s3.RoutingRule = {\n condition: {\n httpErrorCodeReturnedEquals: 'httpErrorCodeReturnedEquals',\n keyPrefixEquals: 'keyPrefixEquals',\n },\n hostName: 'hostName',\n httpRedirectCode: 'httpRedirectCode',\n protocol: s3.RedirectProtocol.HTTP,\n replaceKey: replaceKey,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.RoutingRule", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 2549 }, "name": "RoutingRule", "properties": [ { "abstract": true, "docs": { "default": "- No condition", "stability": "stable", "summary": "Specifies a condition that must be met for the specified redirect to apply." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2583 }, "name": "condition", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.RoutingRuleCondition" } }, { "abstract": true, "docs": { "default": "- The host name used in the original request.", "stability": "stable", "summary": "The host name to use in the redirect request." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2555 }, "name": "hostName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "\"301\" - Moved Permanently", "stability": "stable", "summary": "The HTTP redirect code to use on the response." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2562 }, "name": "httpRedirectCode", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- The protocol used in the original request.", "stability": "stable", "summary": "Protocol to use when redirecting requests." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2569 }, "name": "protocol", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.RedirectProtocol" } }, { "abstract": true, "docs": { "default": "- The key will not be replaced", "stability": "stable", "summary": "Specifies the object key prefix to use in the redirect request." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2576 }, "name": "replaceKey", "optional": true, "type": { "fqn": "@aws-cdk/aws-s3.ReplaceKey" } } ], "symbolId": "lib/bucket:RoutingRule" }, "@aws-cdk/aws-s3.RoutingRuleCondition": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "example": "const bucket = new s3.Bucket(this, 'MyRedirectedBucket', {\n websiteRoutingRules: [{\n hostName: 'www.example.com',\n httpRedirectCode: '302',\n protocol: s3.RedirectProtocol.HTTPS,\n replaceKey: s3.ReplaceKey.prefixWith('test/'),\n condition: {\n httpErrorCodeReturnedEquals: '200',\n keyPrefixEquals: 'prefix',\n },\n }],\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.RoutingRuleCondition", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 2503 }, "name": "RoutingRuleCondition", "properties": [ { "abstract": true, "docs": { "default": "- The HTTP error code will not be verified", "remarks": "In the event of an error, if the error code equals this value, then the specified redirect is applied.\n\nIf both condition properties are specified, both must be true for the redirect to be applied.", "stability": "stable", "summary": "The HTTP error code when the redirect is applied." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2513 }, "name": "httpErrorCodeReturnedEquals", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- The object key name will not be verified", "remarks": "If both condition properties are specified, both must be true for the redirect to be applied.", "stability": "stable", "summary": "The object key name prefix when the redirect is applied." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2522 }, "name": "keyPrefixEquals", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/bucket:RoutingRuleCondition" }, "@aws-cdk/aws-s3.StorageClass": { "assembly": "@aws-cdk/aws-s3", "docs": { "stability": "stable", "summary": "Storage class to move an object to.", "example": "const bucket = new s3.Bucket(this, 'MyBucket', {\n lifecycleRules: [{\n abortIncompleteMultipartUploadAfter: cdk.Duration.minutes(30),\n enabled: false,\n expiration: cdk.Duration.days(30),\n expirationDate: new Date(),\n expiredObjectDeleteMarker: false,\n id: 'id',\n noncurrentVersionExpiration: cdk.Duration.days(30),\n\n // the properties below are optional\n noncurrentVersionsToRetain: 123,\n noncurrentVersionTransitions: [{\n storageClass: s3.StorageClass.GLACIER,\n transitionAfter: cdk.Duration.days(30),\n\n // the properties below are optional\n noncurrentVersionsToRetain: 123,\n }],\n objectSizeGreaterThan: 500,\n prefix: 'prefix',\n objectSizeLessThan: 10000,\n transitions: [{\n storageClass: s3.StorageClass.GLACIER,\n\n // the properties below are optional\n transitionAfter: cdk.Duration.days(30),\n transitionDate: new Date(),\n }],\n }]\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.StorageClass", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/rule.ts", "line": 250 }, "parameters": [ { "name": "value", "type": { "primitive": "string" } } ] }, "kind": "class", "locationInModule": { "filename": "lib/rule.ts", "line": 189 }, "methods": [ { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/rule.ts", "line": 252 }, "name": "toString", "returns": { "type": { "primitive": "string" } } } ], "name": "StorageClass", "properties": [ { "const": true, "docs": { "remarks": "Data stored in the\nDEEP_ARCHIVE storage class has a minimum storage duration period of 180\ndays and a default retrieval time of 12 hours. If you delete an object\nbefore the 180-day minimum, you are charged for 180 days. For pricing\ninformation, see Amazon S3 Pricing.", "stability": "stable", "summary": "Use for archiving data that rarely needs to be accessed." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 235 }, "name": "DEEP_ARCHIVE", "static": true, "type": { "fqn": "@aws-cdk/aws-s3.StorageClass" } }, { "const": true, "docs": { "remarks": "Use for archives where portions of the data might need to be retrieved in\nminutes. Data stored in the GLACIER storage class has a minimum storage\nduration period of 90 days and can be accessed in as little as 1-5 minutes\nusing expedited retrieval. If you delete an object before the 90-day\nminimum, you are charged for 90 days.", "stability": "stable", "summary": "Storage class for long-term archival that can take between minutes and hours to access." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 215 }, "name": "GLACIER", "static": true, "type": { "fqn": "@aws-cdk/aws-s3.StorageClass" } }, { "const": true, "docs": { "remarks": "It is ideal for data that is accessed once or twice per quarter, and\nthat requires immediate access. Data stored in the GLACIER_IR storage class\nhas a minimum storage duration period of 90 days and can be accessed in\nas milliseconds. If you delete an object before the 90-day minimum,\nyou are charged for 90 days.", "stability": "stable", "summary": "Storage class for long-term archival that can be accessed in a few milliseconds." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 226 }, "name": "GLACIER_INSTANT_RETRIEVAL", "static": true, "type": { "fqn": "@aws-cdk/aws-s3.StorageClass" } }, { "const": true, "docs": { "remarks": "Has lower availability than Standard storage.", "stability": "stable", "summary": "Storage class for data that is accessed less frequently, but requires rapid access when needed." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 196 }, "name": "INFREQUENT_ACCESS", "static": true, "type": { "fqn": "@aws-cdk/aws-s3.StorageClass" } }, { "const": true, "docs": { "remarks": "INTELLIGENT_TIERING delivers automatic cost savings by moving data on a\ngranular object level between two access tiers, a frequent access tier and\na lower-cost infrequent access tier, when access patterns change. The\nINTELLIGENT_TIERING storage class is ideal if you want to optimize storage\ncosts automatically for long-lived data when access patterns are unknown or\nunpredictable.", "stability": "stable", "summary": "The INTELLIGENT_TIERING storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 248 }, "name": "INTELLIGENT_TIERING", "static": true, "type": { "fqn": "@aws-cdk/aws-s3.StorageClass" } }, { "const": true, "docs": { "remarks": "Has lower availability than standard InfrequentAccess.", "stability": "stable", "summary": "Infrequent Access that's only stored in one availability zone." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 203 }, "name": "ONE_ZONE_INFREQUENT_ACCESS", "static": true, "type": { "fqn": "@aws-cdk/aws-s3.StorageClass" } }, { "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 250 }, "name": "value", "type": { "primitive": "string" } } ], "symbolId": "lib/rule:StorageClass" }, "@aws-cdk/aws-s3.Tag": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Tag.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst tag: s3.Tag = {\n key: 'key',\n value: 'value',\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.Tag", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 1509 }, "name": "Tag", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "key to e tagged." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1514 }, "name": "key", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "additional value." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 1518 }, "name": "value", "type": { "primitive": "string" } } ], "symbolId": "lib/bucket:Tag" }, "@aws-cdk/aws-s3.TransferAccelerationUrlOptions": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Options for creating a Transfer Acceleration URL.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nconst transferAccelerationUrlOptions: s3.TransferAccelerationUrlOptions = {\n dualStack: false,\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.TransferAccelerationUrlOptions", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 2601 }, "name": "TransferAccelerationUrlOptions", "properties": [ { "abstract": true, "docs": { "default": "- false", "stability": "stable", "summary": "Dual-stack support to connect to the bucket over IPv6." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2607 }, "name": "dualStack", "optional": true, "type": { "primitive": "boolean" } } ], "symbolId": "lib/bucket:TransferAccelerationUrlOptions" }, "@aws-cdk/aws-s3.Transition": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Describes when an object transitions to a specified storage class.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const storageClass: s3.StorageClass;\nconst transition: s3.Transition = {\n storageClass: storageClass,\n\n // the properties below are optional\n transitionAfter: cdk.Duration.minutes(30),\n transitionDate: new Date(),\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-s3.Transition", "kind": "interface", "locationInModule": { "filename": "lib/rule.ts", "line": 139 }, "name": "Transition", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The storage class to which you want the object to transition." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 143 }, "name": "storageClass", "type": { "fqn": "@aws-cdk/aws-s3.StorageClass" } }, { "abstract": true, "docs": { "default": "- No transition count.", "stability": "stable", "summary": "Indicates the number of days after creation when objects are transitioned to the specified storage class." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 159 }, "name": "transitionAfter", "optional": true, "type": { "fqn": "@aws-cdk/core.Duration" } }, { "abstract": true, "docs": { "default": "- No transition date.", "remarks": "The date value must be in ISO 8601 format. The time is always midnight UTC.", "stability": "stable", "summary": "Indicates when objects are transitioned to the specified storage class." }, "immutable": true, "locationInModule": { "filename": "lib/rule.ts", "line": 152 }, "name": "transitionDate", "optional": true, "type": { "primitive": "date" } } ], "symbolId": "lib/rule:Transition" }, "@aws-cdk/aws-s3.VirtualHostedStyleUrlOptions": { "assembly": "@aws-cdk/aws-s3", "datatype": true, "docs": { "stability": "stable", "summary": "Options for creating Virtual-Hosted style URL.", "example": "const bucket = new s3.Bucket(this, 'MyBucket');\nbucket.urlForObject('objectname'); // Path-Style URL\nbucket.virtualHostedUrlForObject('objectname'); // Virtual Hosted-Style URL\nbucket.virtualHostedUrlForObject('objectname', { regional: false }); // Virtual Hosted-Style URL but non-regional", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-s3.VirtualHostedStyleUrlOptions", "kind": "interface", "locationInModule": { "filename": "lib/bucket.ts", "line": 2589 }, "name": "VirtualHostedStyleUrlOptions", "properties": [ { "abstract": true, "docs": { "default": "- true", "stability": "stable", "summary": "Specifies the URL includes the region." }, "immutable": true, "locationInModule": { "filename": "lib/bucket.ts", "line": 2595 }, "name": "regional", "optional": true, "type": { "primitive": "boolean" } } ], "symbolId": "lib/bucket:VirtualHostedStyleUrlOptions" } }, "version": "1.204.0", "fingerprint": "**********" }