Documentation
¶
Index ¶
- func BucketPolicy_IsConstruct(x interface{}) *bool
- func BucketPolicy_IsResource(construct awscdk.IConstruct) *bool
- func Bucket_IsConstruct(x interface{}) *bool
- func Bucket_IsResource(construct awscdk.IConstruct) *bool
- func CfnAccessPoint_CFN_RESOURCE_TYPE_NAME() *string
- func CfnAccessPoint_IsCfnElement(x interface{}) *bool
- func CfnAccessPoint_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnAccessPoint_IsConstruct(x interface{}) *bool
- func CfnBucketPolicy_CFN_RESOURCE_TYPE_NAME() *string
- func CfnBucketPolicy_IsCfnElement(x interface{}) *bool
- func CfnBucketPolicy_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnBucketPolicy_IsConstruct(x interface{}) *bool
- func CfnBucket_CFN_RESOURCE_TYPE_NAME() *string
- func CfnBucket_IsCfnElement(x interface{}) *bool
- func CfnBucket_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnBucket_IsConstruct(x interface{}) *bool
- func CfnStorageLens_CFN_RESOURCE_TYPE_NAME() *string
- func CfnStorageLens_IsCfnElement(x interface{}) *bool
- func CfnStorageLens_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnStorageLens_IsConstruct(x interface{}) *bool
- func NewBlockPublicAccess_Override(b BlockPublicAccess, options *BlockPublicAccessOptions)
- func NewBucketPolicy_Override(b BucketPolicy, scope constructs.Construct, id *string, ...)
- func NewBucket_Override(b Bucket, scope constructs.Construct, id *string, props *BucketProps)
- func NewCfnAccessPoint_Override(c CfnAccessPoint, scope awscdk.Construct, id *string, ...)
- func NewCfnBucketPolicy_Override(c CfnBucketPolicy, scope awscdk.Construct, id *string, ...)
- func NewCfnBucket_Override(c CfnBucket, scope awscdk.Construct, id *string, props *CfnBucketProps)
- func NewCfnStorageLens_Override(c CfnStorageLens, scope awscdk.Construct, id *string, ...)
- func NewStorageClass_Override(s StorageClass, value *string)
- type BlockPublicAccess
- type BlockPublicAccessOptions
- type Bucket
- type BucketAccessControl
- type BucketAttributes
- type BucketEncryption
- type BucketMetrics
- type BucketNotificationDestinationConfig
- type BucketNotificationDestinationType
- type BucketPolicy
- type BucketPolicyProps
- type BucketProps
- type CfnAccessPoint
- type CfnAccessPointProps
- type CfnAccessPoint_PublicAccessBlockConfigurationProperty
- type CfnAccessPoint_VpcConfigurationProperty
- type CfnBucket
- type CfnBucketPolicy
- type CfnBucketPolicyProps
- type CfnBucketProps
- type CfnBucket_AbortIncompleteMultipartUploadProperty
- type CfnBucket_AccelerateConfigurationProperty
- type CfnBucket_AccessControlTranslationProperty
- type CfnBucket_AnalyticsConfigurationProperty
- type CfnBucket_BucketEncryptionProperty
- type CfnBucket_CorsConfigurationProperty
- type CfnBucket_CorsRuleProperty
- type CfnBucket_DataExportProperty
- type CfnBucket_DefaultRetentionProperty
- type CfnBucket_DeleteMarkerReplicationProperty
- type CfnBucket_DestinationProperty
- type CfnBucket_EncryptionConfigurationProperty
- type CfnBucket_FilterRuleProperty
- type CfnBucket_IntelligentTieringConfigurationProperty
- type CfnBucket_InventoryConfigurationProperty
- type CfnBucket_LambdaConfigurationProperty
- type CfnBucket_LifecycleConfigurationProperty
- type CfnBucket_LoggingConfigurationProperty
- type CfnBucket_MetricsConfigurationProperty
- type CfnBucket_MetricsProperty
- type CfnBucket_NoncurrentVersionTransitionProperty
- type CfnBucket_NotificationConfigurationProperty
- type CfnBucket_NotificationFilterProperty
- type CfnBucket_ObjectLockConfigurationProperty
- type CfnBucket_ObjectLockRuleProperty
- type CfnBucket_OwnershipControlsProperty
- type CfnBucket_OwnershipControlsRuleProperty
- type CfnBucket_PublicAccessBlockConfigurationProperty
- type CfnBucket_QueueConfigurationProperty
- type CfnBucket_RedirectAllRequestsToProperty
- type CfnBucket_RedirectRuleProperty
- type CfnBucket_ReplicaModificationsProperty
- type CfnBucket_ReplicationConfigurationProperty
- type CfnBucket_ReplicationDestinationProperty
- type CfnBucket_ReplicationRuleAndOperatorProperty
- type CfnBucket_ReplicationRuleFilterProperty
- type CfnBucket_ReplicationRuleProperty
- type CfnBucket_ReplicationTimeProperty
- type CfnBucket_ReplicationTimeValueProperty
- type CfnBucket_RoutingRuleConditionProperty
- type CfnBucket_RoutingRuleProperty
- type CfnBucket_RuleProperty
- type CfnBucket_S3KeyFilterProperty
- type CfnBucket_ServerSideEncryptionByDefaultProperty
- type CfnBucket_ServerSideEncryptionRuleProperty
- type CfnBucket_SourceSelectionCriteriaProperty
- type CfnBucket_SseKmsEncryptedObjectsProperty
- type CfnBucket_StorageClassAnalysisProperty
- type CfnBucket_TagFilterProperty
- type CfnBucket_TieringProperty
- type CfnBucket_TopicConfigurationProperty
- type CfnBucket_TransitionProperty
- type CfnBucket_VersioningConfigurationProperty
- type CfnBucket_WebsiteConfigurationProperty
- type CfnStorageLens
- type CfnStorageLensProps
- type CfnStorageLens_AccountLevelProperty
- type CfnStorageLens_ActivityMetricsProperty
- type CfnStorageLens_AwsOrgProperty
- type CfnStorageLens_BucketLevelProperty
- type CfnStorageLens_BucketsAndRegionsProperty
- type CfnStorageLens_DataExportProperty
- type CfnStorageLens_EncryptionProperty
- type CfnStorageLens_PrefixLevelProperty
- type CfnStorageLens_PrefixLevelStorageMetricsProperty
- type CfnStorageLens_S3BucketDestinationProperty
- type CfnStorageLens_SelectionCriteriaProperty
- type CfnStorageLens_StorageLensConfigurationProperty
- type CorsRule
- type EventType
- type HttpMethods
- type IBucket
- type IBucketNotificationDestination
- type Inventory
- type InventoryDestination
- type InventoryFormat
- type InventoryFrequency
- type InventoryObjectVersion
- type LifecycleRule
- type Location
- type NoncurrentVersionTransition
- type NotificationKeyFilter
- type ObjectOwnership
- type OnCloudTrailBucketEventOptions
- type RedirectProtocol
- type RedirectTarget
- type ReplaceKey
- type RoutingRule
- type RoutingRuleCondition
- type StorageClass
- type Transition
- type VirtualHostedStyleUrlOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BucketPolicy_IsConstruct ¶
func BucketPolicy_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func BucketPolicy_IsResource ¶
func BucketPolicy_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
func Bucket_IsConstruct ¶
func Bucket_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func Bucket_IsResource ¶
func Bucket_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
func CfnAccessPoint_CFN_RESOURCE_TYPE_NAME ¶
func CfnAccessPoint_CFN_RESOURCE_TYPE_NAME() *string
func CfnAccessPoint_IsCfnElement ¶
func CfnAccessPoint_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnAccessPoint_IsCfnResource ¶
func CfnAccessPoint_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnAccessPoint_IsConstruct ¶
func CfnAccessPoint_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnBucketPolicy_CFN_RESOURCE_TYPE_NAME ¶
func CfnBucketPolicy_CFN_RESOURCE_TYPE_NAME() *string
func CfnBucketPolicy_IsCfnElement ¶
func CfnBucketPolicy_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnBucketPolicy_IsCfnResource ¶
func CfnBucketPolicy_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnBucketPolicy_IsConstruct ¶
func CfnBucketPolicy_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnBucket_CFN_RESOURCE_TYPE_NAME ¶
func CfnBucket_CFN_RESOURCE_TYPE_NAME() *string
func CfnBucket_IsCfnElement ¶
func CfnBucket_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnBucket_IsCfnResource ¶
func CfnBucket_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnBucket_IsConstruct ¶
func CfnBucket_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnStorageLens_CFN_RESOURCE_TYPE_NAME ¶
func CfnStorageLens_CFN_RESOURCE_TYPE_NAME() *string
func CfnStorageLens_IsCfnElement ¶
func CfnStorageLens_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnStorageLens_IsCfnResource ¶
func CfnStorageLens_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnStorageLens_IsConstruct ¶
func CfnStorageLens_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func NewBlockPublicAccess_Override ¶
func NewBlockPublicAccess_Override(b BlockPublicAccess, options *BlockPublicAccessOptions)
Experimental.
func NewBucketPolicy_Override ¶
func NewBucketPolicy_Override(b BucketPolicy, scope constructs.Construct, id *string, props *BucketPolicyProps)
Experimental.
func NewBucket_Override ¶
func NewBucket_Override(b Bucket, scope constructs.Construct, id *string, props *BucketProps)
Experimental.
func NewCfnAccessPoint_Override ¶
func NewCfnAccessPoint_Override(c CfnAccessPoint, scope awscdk.Construct, id *string, props *CfnAccessPointProps)
Create a new `AWS::S3::AccessPoint`.
func NewCfnBucketPolicy_Override ¶
func NewCfnBucketPolicy_Override(c CfnBucketPolicy, scope awscdk.Construct, id *string, props *CfnBucketPolicyProps)
Create a new `AWS::S3::BucketPolicy`.
func NewCfnBucket_Override ¶
func NewCfnBucket_Override(c CfnBucket, scope awscdk.Construct, id *string, props *CfnBucketProps)
Create a new `AWS::S3::Bucket`.
func NewCfnStorageLens_Override ¶
func NewCfnStorageLens_Override(c CfnStorageLens, scope awscdk.Construct, id *string, props *CfnStorageLensProps)
Create a new `AWS::S3::StorageLens`.
func NewStorageClass_Override ¶
func NewStorageClass_Override(s StorageClass, value *string)
Experimental.
Types ¶
type BlockPublicAccess ¶
type BlockPublicAccess interface {
BlockPublicAcls() *bool
SetBlockPublicAcls(val *bool)
BlockPublicPolicy() *bool
SetBlockPublicPolicy(val *bool)
IgnorePublicAcls() *bool
SetIgnorePublicAcls(val *bool)
RestrictPublicBuckets() *bool
SetRestrictPublicBuckets(val *bool)
}
Experimental.
func BlockPublicAccess_BLOCK_ACLS ¶
func BlockPublicAccess_BLOCK_ACLS() BlockPublicAccess
func BlockPublicAccess_BLOCK_ALL ¶
func BlockPublicAccess_BLOCK_ALL() BlockPublicAccess
func NewBlockPublicAccess ¶
func NewBlockPublicAccess(options *BlockPublicAccessOptions) BlockPublicAccess
Experimental.
type BlockPublicAccessOptions ¶
type BlockPublicAccessOptions struct {
// Whether to block public ACLs.
// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-options
//
// Experimental.
BlockPublicAcls *bool `json:"blockPublicAcls"`
// Whether to block public policy.
// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-options
//
// Experimental.
BlockPublicPolicy *bool `json:"blockPublicPolicy"`
// Whether to ignore public ACLs.
// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-options
//
// Experimental.
IgnorePublicAcls *bool `json:"ignorePublicAcls"`
// Whether to restrict public access.
// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-options
//
// Experimental.
RestrictPublicBuckets *bool `json:"restrictPublicBuckets"`
}
Experimental.
type Bucket ¶
type Bucket interface {
awscdk.Resource
IBucket
AutoCreatePolicy() *bool
BucketArn() *string
BucketDomainName() *string
BucketDualStackDomainName() *string
BucketName() *string
BucketRegionalDomainName() *string
BucketWebsiteDomainName() *string
BucketWebsiteUrl() *string
DisallowPublicAccess() *bool
EncryptionKey() awskms.IKey
Env() *awscdk.ResourceEnvironment
IsWebsite() *bool
Node() awscdk.ConstructNode
PhysicalName() *string
Policy() BucketPolicy
SetPolicy(val BucketPolicy)
Stack() awscdk.Stack
AddCorsRule(rule *CorsRule)
AddEventNotification(event EventType, dest IBucketNotificationDestination, filters ...*NotificationKeyFilter)
AddInventory(inventory *Inventory)
AddLifecycleRule(rule *LifecycleRule)
AddMetric(metric *BucketMetrics)
AddObjectCreatedNotification(dest IBucketNotificationDestination, filters ...*NotificationKeyFilter)
AddObjectRemovedNotification(dest IBucketNotificationDestination, filters ...*NotificationKeyFilter)
AddToResourcePolicy(permission awsiam.PolicyStatement) *awsiam.AddToResourcePolicyResult
ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
ArnForObjects(keyPattern *string) *string
GeneratePhysicalName() *string
GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
GetResourceNameAttribute(nameAttr *string) *string
GrantDelete(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
GrantPublicAccess(keyPrefix *string, allowedActions ...*string) awsiam.Grant
GrantPut(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
GrantPutAcl(identity awsiam.IGrantable, objectsKeyPattern *string) awsiam.Grant
GrantRead(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
GrantReadWrite(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
GrantWrite(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
OnCloudTrailEvent(id *string, options *OnCloudTrailBucketEventOptions) awsevents.Rule
OnCloudTrailPutObject(id *string, options *OnCloudTrailBucketEventOptions) awsevents.Rule
OnCloudTrailWriteObject(id *string, options *OnCloudTrailBucketEventOptions) awsevents.Rule
OnPrepare()
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
Prepare()
S3UrlForObject(key *string) *string
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
UrlForObject(key *string) *string
Validate() *[]*string
VirtualHostedUrlForObject(key *string, options *VirtualHostedStyleUrlOptions) *string
}
An S3 bucket with associated policy objects.
This bucket does not yet have all features that exposed by the underlying BucketResource. Experimental.
func NewBucket ¶
func NewBucket(scope constructs.Construct, id *string, props *BucketProps) Bucket
Experimental.
type BucketAccessControl ¶
type BucketAccessControl string
Default bucket access control types. See: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
Experimental.
const ( BucketAccessControl_PRIVATE BucketAccessControl = "PRIVATE" BucketAccessControl_PUBLIC_READ BucketAccessControl = "PUBLIC_READ" BucketAccessControl_PUBLIC_READ_WRITE BucketAccessControl = "PUBLIC_READ_WRITE" BucketAccessControl_AUTHENTICATED_READ BucketAccessControl = "AUTHENTICATED_READ" BucketAccessControl_LOG_DELIVERY_WRITE BucketAccessControl = "LOG_DELIVERY_WRITE" BucketAccessControl_BUCKET_OWNER_READ BucketAccessControl = "BUCKET_OWNER_READ" BucketAccessControl_BUCKET_OWNER_FULL_CONTROL BucketAccessControl = "BUCKET_OWNER_FULL_CONTROL" BucketAccessControl_AWS_EXEC_READ BucketAccessControl = "AWS_EXEC_READ" )
type BucketAttributes ¶
type BucketAttributes struct {
// The account this existing bucket belongs to.
// Experimental.
Account *string `json:"account"`
// The ARN of the bucket.
//
// At least one of bucketArn or bucketName must be
// defined in order to initialize a bucket ref.
// Experimental.
BucketArn *string `json:"bucketArn"`
// The domain name of the bucket.
// Experimental.
BucketDomainName *string `json:"bucketDomainName"`
// The IPv6 DNS name of the specified bucket.
// Experimental.
BucketDualStackDomainName *string `json:"bucketDualStackDomainName"`
// The name of the bucket.
//
// If the underlying value of ARN is a string, the
// name will be parsed from the ARN. Otherwise, the name is optional, but
// some features that require the bucket name such as auto-creating a bucket
// policy, won't work.
// Experimental.
BucketName *string `json:"bucketName"`
// The regional domain name of the specified bucket.
// Experimental.
BucketRegionalDomainName *string `json:"bucketRegionalDomainName"`
// The format of the website URL of the bucket.
//
// This should be true for
// regions launched since 2014.
// Experimental.
BucketWebsiteNewUrlFormat *bool `json:"bucketWebsiteNewUrlFormat"`
// The website URL of the bucket (if static web hosting is enabled).
// Experimental.
BucketWebsiteUrl *string `json:"bucketWebsiteUrl"`
// Experimental.
EncryptionKey awskms.IKey `json:"encryptionKey"`
// If this bucket has been configured for static website hosting.
// Experimental.
IsWebsite *bool `json:"isWebsite"`
// The region this existing bucket is in.
// Experimental.
Region *string `json:"region"`
}
A reference to a bucket.
The easiest way to instantiate is to call `bucket.export()`. Then, the consumer can use `Bucket.import(this, ref)` and get a `Bucket`. Experimental.
type BucketEncryption ¶
type BucketEncryption string
What kind of server-side encryption to apply to this bucket. Experimental.
const ( BucketEncryption_UNENCRYPTED BucketEncryption = "UNENCRYPTED" BucketEncryption_KMS_MANAGED BucketEncryption = "KMS_MANAGED" BucketEncryption_S3_MANAGED BucketEncryption = "S3_MANAGED" BucketEncryption_KMS BucketEncryption = "KMS" )
type BucketMetrics ¶
type BucketMetrics struct {
// The ID used to identify the metrics configuration.
// Experimental.
Id *string `json:"id"`
// The prefix that an object must have to be included in the metrics results.
// Experimental.
Prefix *string `json:"prefix"`
// Specifies a list of tag filters to use as a metrics configuration filter.
//
// The metrics configuration includes only objects that meet the filter's criteria.
// Experimental.
TagFilters *map[string]interface{} `json:"tagFilters"`
}
Specifies a metrics configuration for the CloudWatch request metrics from an Amazon S3 bucket. Experimental.
type BucketNotificationDestinationConfig ¶
type BucketNotificationDestinationConfig struct {
// The ARN of the destination (i.e. Lambda, SNS, SQS).
// Experimental.
Arn *string `json:"arn"`
// The notification type.
// Experimental.
Type BucketNotificationDestinationType `json:"type"`
// Any additional dependencies that should be resolved before the bucket notification can be configured (for example, the SNS Topic Policy resource).
// Experimental.
Dependencies *[]awscdk.IDependable `json:"dependencies"`
}
Represents the properties of a notification destination. Experimental.
type BucketNotificationDestinationType ¶
type BucketNotificationDestinationType string
Supported types of notification destinations. Experimental.
const ( BucketNotificationDestinationType_LAMBDA BucketNotificationDestinationType = "LAMBDA" BucketNotificationDestinationType_QUEUE BucketNotificationDestinationType = "QUEUE" BucketNotificationDestinationType_TOPIC BucketNotificationDestinationType = "TOPIC" )
type BucketPolicy ¶
type BucketPolicy interface {
awscdk.Resource
Document() awsiam.PolicyDocument
Env() *awscdk.ResourceEnvironment
Node() awscdk.ConstructNode
PhysicalName() *string
Stack() awscdk.Stack
ApplyRemovalPolicy(removalPolicy awscdk.RemovalPolicy)
GeneratePhysicalName() *string
GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
GetResourceNameAttribute(nameAttr *string) *string
OnPrepare()
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
Prepare()
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
Validate() *[]*string
}
Applies an Amazon S3 bucket policy to an Amazon S3 bucket. Experimental.
func NewBucketPolicy ¶
func NewBucketPolicy(scope constructs.Construct, id *string, props *BucketPolicyProps) BucketPolicy
Experimental.
type BucketPolicyProps ¶
type BucketPolicyProps struct {
// The Amazon S3 bucket that the policy applies to.
// Experimental.
Bucket IBucket `json:"bucket"`
// Policy to apply when the policy is removed from this stack.
// Experimental.
RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
}
Experimental.
type BucketProps ¶
type BucketProps struct {
// Specifies a canned ACL that grants predefined permissions to the bucket.
// Experimental.
AccessControl BucketAccessControl `json:"accessControl"`
// Whether all objects should be automatically deleted when the bucket is removed from the stack or when the stack is deleted.
//
// Requires the `removalPolicy` to be set to `RemovalPolicy.DESTROY`.
// Experimental.
AutoDeleteObjects *bool `json:"autoDeleteObjects"`
// The block public access configuration of this bucket.
// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
//
// Experimental.
BlockPublicAccess BlockPublicAccess `json:"blockPublicAccess"`
// Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket.
//
// Only relevant, when Encryption is set to {@link BucketEncryption.KMS}
// Experimental.
BucketKeyEnabled *bool `json:"bucketKeyEnabled"`
// Physical name of this bucket.
// Experimental.
BucketName *string `json:"bucketName"`
// The CORS configuration of this bucket.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html
//
// Experimental.
Cors *[]*CorsRule `json:"cors"`
// The kind of server-side encryption to apply to this bucket.
//
// If you choose KMS, you can specify a KMS key via `encryptionKey`. If
// encryption key is not specified, a key will automatically be created.
// Experimental.
Encryption BucketEncryption `json:"encryption"`
// External KMS key to use for bucket encryption.
//
// The 'encryption' property must be either not specified or set to "Kms".
// An error will be emitted if encryption is set to "Unencrypted" or
// "Managed".
// Experimental.
EncryptionKey awskms.IKey `json:"encryptionKey"`
// Enforces SSL for requests.
//
// 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
//
// Experimental.
EnforceSSL *bool `json:"enforceSSL"`
// The inventory configuration of the bucket.
// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
//
// Experimental.
Inventories *[]*Inventory `json:"inventories"`
// Rules that define how Amazon S3 manages objects during their lifetime.
// Experimental.
LifecycleRules *[]*LifecycleRule `json:"lifecycleRules"`
// The metrics configuration of this bucket.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html
//
// Experimental.
Metrics *[]*BucketMetrics `json:"metrics"`
// The objectOwnership of the bucket.
// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
//
// Experimental.
ObjectOwnership ObjectOwnership `json:"objectOwnership"`
// Grants public read access to all objects in the bucket.
//
// Similar to calling `bucket.grantPublicAccess()`
// Experimental.
PublicReadAccess *bool `json:"publicReadAccess"`
// Policy to apply when the bucket is removed from this stack.
// Experimental.
RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
// Destination bucket for the server access logs.
// Experimental.
ServerAccessLogsBucket IBucket `json:"serverAccessLogsBucket"`
// Optional log file prefix to use for the bucket's access logs.
//
// If defined without "serverAccessLogsBucket", enables access logs to current bucket with this prefix.
// Experimental.
ServerAccessLogsPrefix *string `json:"serverAccessLogsPrefix"`
// Whether this bucket should have versioning turned on or not.
// Experimental.
Versioned *bool `json:"versioned"`
// The name of the error document (e.g. "404.html") for the website. `websiteIndexDocument` must also be set if this is set.
// Experimental.
WebsiteErrorDocument *string `json:"websiteErrorDocument"`
// The name of the index document (e.g. "index.html") for the website. Enables static website hosting for this bucket.
// Experimental.
WebsiteIndexDocument *string `json:"websiteIndexDocument"`
// Specifies the redirect behavior of all requests to a website endpoint of a bucket.
//
// If you specify this property, you can't specify "websiteIndexDocument", "websiteErrorDocument" nor , "websiteRoutingRules".
// Experimental.
WebsiteRedirect *RedirectTarget `json:"websiteRedirect"`
// Rules that define when a redirect is applied and the redirect behavior.
// Experimental.
WebsiteRoutingRules *[]*RoutingRule `json:"websiteRoutingRules"`
}
Experimental.
type CfnAccessPoint ¶
type CfnAccessPoint interface {
awscdk.CfnResource
awscdk.IInspectable
AttrNetworkOrigin() *string
Bucket() *string
SetBucket(val *string)
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
CfnResourceType() *string
CreationStack() *[]*string
LogicalId() *string
Name() *string
SetName(val *string)
Node() awscdk.ConstructNode
Policy() interface{}
SetPolicy(val interface{})
PublicAccessBlockConfiguration() interface{}
SetPublicAccessBlockConfiguration(val interface{})
Ref() *string
Stack() awscdk.Stack
UpdatedProperites() *map[string]interface{}
VpcConfiguration() interface{}
SetVpcConfiguration(val interface{})
AddDeletionOverride(path *string)
AddDependsOn(target awscdk.CfnResource)
AddMetadata(key *string, value interface{})
AddOverride(path *string, value interface{})
AddPropertyDeletionOverride(propertyPath *string)
AddPropertyOverride(propertyPath *string, value interface{})
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
GetAtt(attributeName *string) awscdk.Reference
GetMetadata(key *string) interface{}
Inspect(inspector awscdk.TreeInspector)
OnPrepare()
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
OverrideLogicalId(newLogicalId *string)
Prepare()
RenderProperties(props *map[string]interface{}) *map[string]interface{}
ShouldSynthesize() *bool
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
Validate() *[]*string
ValidateProperties(_properties interface{})
}
A CloudFormation `AWS::S3::AccessPoint`.
func NewCfnAccessPoint ¶
func NewCfnAccessPoint(scope awscdk.Construct, id *string, props *CfnAccessPointProps) CfnAccessPoint
Create a new `AWS::S3::AccessPoint`.
type CfnAccessPointProps ¶
type CfnAccessPointProps struct {
// `AWS::S3::AccessPoint.Bucket`.
Bucket *string `json:"bucket"`
// `AWS::S3::AccessPoint.Name`.
Name *string `json:"name"`
// `AWS::S3::AccessPoint.Policy`.
Policy interface{} `json:"policy"`
// `AWS::S3::AccessPoint.PublicAccessBlockConfiguration`.
PublicAccessBlockConfiguration interface{} `json:"publicAccessBlockConfiguration"`
// `AWS::S3::AccessPoint.VpcConfiguration`.
VpcConfiguration interface{} `json:"vpcConfiguration"`
}
Properties for defining a `AWS::S3::AccessPoint`.
type CfnAccessPoint_PublicAccessBlockConfigurationProperty ¶
type CfnAccessPoint_PublicAccessBlockConfigurationProperty struct {
// `CfnAccessPoint.PublicAccessBlockConfigurationProperty.BlockPublicAcls`.
BlockPublicAcls interface{} `json:"blockPublicAcls"`
// `CfnAccessPoint.PublicAccessBlockConfigurationProperty.BlockPublicPolicy`.
BlockPublicPolicy interface{} `json:"blockPublicPolicy"`
// `CfnAccessPoint.PublicAccessBlockConfigurationProperty.IgnorePublicAcls`.
IgnorePublicAcls interface{} `json:"ignorePublicAcls"`
// `CfnAccessPoint.PublicAccessBlockConfigurationProperty.RestrictPublicBuckets`.
RestrictPublicBuckets interface{} `json:"restrictPublicBuckets"`
}
type CfnAccessPoint_VpcConfigurationProperty ¶
type CfnAccessPoint_VpcConfigurationProperty struct {
// `CfnAccessPoint.VpcConfigurationProperty.VpcId`.
VpcId *string `json:"vpcId"`
}
type CfnBucket ¶
type CfnBucket interface {
awscdk.CfnResource
awscdk.IInspectable
AccelerateConfiguration() interface{}
SetAccelerateConfiguration(val interface{})
AccessControl() *string
SetAccessControl(val *string)
AnalyticsConfigurations() interface{}
SetAnalyticsConfigurations(val interface{})
AttrArn() *string
AttrDomainName() *string
AttrDualStackDomainName() *string
AttrRegionalDomainName() *string
AttrWebsiteUrl() *string
BucketEncryption() interface{}
SetBucketEncryption(val interface{})
BucketName() *string
SetBucketName(val *string)
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
CfnResourceType() *string
CorsConfiguration() interface{}
SetCorsConfiguration(val interface{})
CreationStack() *[]*string
IntelligentTieringConfigurations() interface{}
SetIntelligentTieringConfigurations(val interface{})
InventoryConfigurations() interface{}
SetInventoryConfigurations(val interface{})
LifecycleConfiguration() interface{}
SetLifecycleConfiguration(val interface{})
LoggingConfiguration() interface{}
SetLoggingConfiguration(val interface{})
LogicalId() *string
MetricsConfigurations() interface{}
SetMetricsConfigurations(val interface{})
Node() awscdk.ConstructNode
NotificationConfiguration() interface{}
SetNotificationConfiguration(val interface{})
ObjectLockConfiguration() interface{}
SetObjectLockConfiguration(val interface{})
ObjectLockEnabled() interface{}
SetObjectLockEnabled(val interface{})
OwnershipControls() interface{}
SetOwnershipControls(val interface{})
PublicAccessBlockConfiguration() interface{}
SetPublicAccessBlockConfiguration(val interface{})
Ref() *string
ReplicationConfiguration() interface{}
SetReplicationConfiguration(val interface{})
Stack() awscdk.Stack
Tags() awscdk.TagManager
UpdatedProperites() *map[string]interface{}
VersioningConfiguration() interface{}
SetVersioningConfiguration(val interface{})
WebsiteConfiguration() interface{}
SetWebsiteConfiguration(val interface{})
AddDeletionOverride(path *string)
AddDependsOn(target awscdk.CfnResource)
AddMetadata(key *string, value interface{})
AddOverride(path *string, value interface{})
AddPropertyDeletionOverride(propertyPath *string)
AddPropertyOverride(propertyPath *string, value interface{})
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
GetAtt(attributeName *string) awscdk.Reference
GetMetadata(key *string) interface{}
Inspect(inspector awscdk.TreeInspector)
OnPrepare()
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
OverrideLogicalId(newLogicalId *string)
Prepare()
RenderProperties(props *map[string]interface{}) *map[string]interface{}
ShouldSynthesize() *bool
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
Validate() *[]*string
ValidateProperties(_properties interface{})
}
A CloudFormation `AWS::S3::Bucket`.
func NewCfnBucket ¶
func NewCfnBucket(scope awscdk.Construct, id *string, props *CfnBucketProps) CfnBucket
Create a new `AWS::S3::Bucket`.
type CfnBucketPolicy ¶
type CfnBucketPolicy interface {
awscdk.CfnResource
awscdk.IInspectable
Bucket() *string
SetBucket(val *string)
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
CfnResourceType() *string
CreationStack() *[]*string
LogicalId() *string
Node() awscdk.ConstructNode
PolicyDocument() interface{}
SetPolicyDocument(val interface{})
Ref() *string
Stack() awscdk.Stack
UpdatedProperites() *map[string]interface{}
AddDeletionOverride(path *string)
AddDependsOn(target awscdk.CfnResource)
AddMetadata(key *string, value interface{})
AddOverride(path *string, value interface{})
AddPropertyDeletionOverride(propertyPath *string)
AddPropertyOverride(propertyPath *string, value interface{})
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
GetAtt(attributeName *string) awscdk.Reference
GetMetadata(key *string) interface{}
Inspect(inspector awscdk.TreeInspector)
OnPrepare()
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
OverrideLogicalId(newLogicalId *string)
Prepare()
RenderProperties(props *map[string]interface{}) *map[string]interface{}
ShouldSynthesize() *bool
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
Validate() *[]*string
ValidateProperties(_properties interface{})
}
A CloudFormation `AWS::S3::BucketPolicy`.
func NewCfnBucketPolicy ¶
func NewCfnBucketPolicy(scope awscdk.Construct, id *string, props *CfnBucketPolicyProps) CfnBucketPolicy
Create a new `AWS::S3::BucketPolicy`.
type CfnBucketPolicyProps ¶
type CfnBucketPolicyProps struct {
// `AWS::S3::BucketPolicy.Bucket`.
Bucket *string `json:"bucket"`
// `AWS::S3::BucketPolicy.PolicyDocument`.
PolicyDocument interface{} `json:"policyDocument"`
}
Properties for defining a `AWS::S3::BucketPolicy`.
type CfnBucketProps ¶
type CfnBucketProps struct {
// `AWS::S3::Bucket.AccelerateConfiguration`.
AccelerateConfiguration interface{} `json:"accelerateConfiguration"`
// `AWS::S3::Bucket.AccessControl`.
AccessControl *string `json:"accessControl"`
// `AWS::S3::Bucket.AnalyticsConfigurations`.
AnalyticsConfigurations interface{} `json:"analyticsConfigurations"`
// `AWS::S3::Bucket.BucketEncryption`.
BucketEncryption interface{} `json:"bucketEncryption"`
// `AWS::S3::Bucket.BucketName`.
BucketName *string `json:"bucketName"`
// `AWS::S3::Bucket.CorsConfiguration`.
CorsConfiguration interface{} `json:"corsConfiguration"`
// `AWS::S3::Bucket.IntelligentTieringConfigurations`.
IntelligentTieringConfigurations interface{} `json:"intelligentTieringConfigurations"`
// `AWS::S3::Bucket.InventoryConfigurations`.
InventoryConfigurations interface{} `json:"inventoryConfigurations"`
// `AWS::S3::Bucket.LifecycleConfiguration`.
LifecycleConfiguration interface{} `json:"lifecycleConfiguration"`
// `AWS::S3::Bucket.LoggingConfiguration`.
LoggingConfiguration interface{} `json:"loggingConfiguration"`
// `AWS::S3::Bucket.MetricsConfigurations`.
MetricsConfigurations interface{} `json:"metricsConfigurations"`
// `AWS::S3::Bucket.NotificationConfiguration`.
NotificationConfiguration interface{} `json:"notificationConfiguration"`
// `AWS::S3::Bucket.ObjectLockConfiguration`.
ObjectLockConfiguration interface{} `json:"objectLockConfiguration"`
// `AWS::S3::Bucket.ObjectLockEnabled`.
ObjectLockEnabled interface{} `json:"objectLockEnabled"`
// `AWS::S3::Bucket.OwnershipControls`.
OwnershipControls interface{} `json:"ownershipControls"`
// `AWS::S3::Bucket.PublicAccessBlockConfiguration`.
PublicAccessBlockConfiguration interface{} `json:"publicAccessBlockConfiguration"`
// `AWS::S3::Bucket.ReplicationConfiguration`.
ReplicationConfiguration interface{} `json:"replicationConfiguration"`
// `AWS::S3::Bucket.Tags`.
Tags *[]*awscdk.CfnTag `json:"tags"`
// `AWS::S3::Bucket.VersioningConfiguration`.
VersioningConfiguration interface{} `json:"versioningConfiguration"`
// `AWS::S3::Bucket.WebsiteConfiguration`.
WebsiteConfiguration interface{} `json:"websiteConfiguration"`
}
Properties for defining a `AWS::S3::Bucket`.
type CfnBucket_AbortIncompleteMultipartUploadProperty ¶
type CfnBucket_AbortIncompleteMultipartUploadProperty struct {
// `CfnBucket.AbortIncompleteMultipartUploadProperty.DaysAfterInitiation`.
DaysAfterInitiation *float64 `json:"daysAfterInitiation"`
}
type CfnBucket_AccelerateConfigurationProperty ¶
type CfnBucket_AccelerateConfigurationProperty struct {
// `CfnBucket.AccelerateConfigurationProperty.AccelerationStatus`.
AccelerationStatus *string `json:"accelerationStatus"`
}
type CfnBucket_AccessControlTranslationProperty ¶
type CfnBucket_AccessControlTranslationProperty struct {
// `CfnBucket.AccessControlTranslationProperty.Owner`.
Owner *string `json:"owner"`
}
type CfnBucket_AnalyticsConfigurationProperty ¶
type CfnBucket_AnalyticsConfigurationProperty struct {
// `CfnBucket.AnalyticsConfigurationProperty.Id`.
Id *string `json:"id"`
// `CfnBucket.AnalyticsConfigurationProperty.StorageClassAnalysis`.
StorageClassAnalysis interface{} `json:"storageClassAnalysis"`
// `CfnBucket.AnalyticsConfigurationProperty.Prefix`.
Prefix *string `json:"prefix"`
// `CfnBucket.AnalyticsConfigurationProperty.TagFilters`.
TagFilters interface{} `json:"tagFilters"`
}
type CfnBucket_BucketEncryptionProperty ¶
type CfnBucket_BucketEncryptionProperty struct {
// `CfnBucket.BucketEncryptionProperty.ServerSideEncryptionConfiguration`.
ServerSideEncryptionConfiguration interface{} `json:"serverSideEncryptionConfiguration"`
}
type CfnBucket_CorsConfigurationProperty ¶
type CfnBucket_CorsConfigurationProperty struct {
// `CfnBucket.CorsConfigurationProperty.CorsRules`.
CorsRules interface{} `json:"corsRules"`
}
type CfnBucket_CorsRuleProperty ¶
type CfnBucket_CorsRuleProperty struct {
// `CfnBucket.CorsRuleProperty.AllowedMethods`.
AllowedMethods *[]*string `json:"allowedMethods"`
// `CfnBucket.CorsRuleProperty.AllowedOrigins`.
AllowedOrigins *[]*string `json:"allowedOrigins"`
// `CfnBucket.CorsRuleProperty.AllowedHeaders`.
AllowedHeaders *[]*string `json:"allowedHeaders"`
// `CfnBucket.CorsRuleProperty.ExposedHeaders`.
ExposedHeaders *[]*string `json:"exposedHeaders"`
// `CfnBucket.CorsRuleProperty.Id`.
Id *string `json:"id"`
// `CfnBucket.CorsRuleProperty.MaxAge`.
MaxAge *float64 `json:"maxAge"`
}
type CfnBucket_DataExportProperty ¶
type CfnBucket_DataExportProperty struct {
// `CfnBucket.DataExportProperty.Destination`.
Destination interface{} `json:"destination"`
// `CfnBucket.DataExportProperty.OutputSchemaVersion`.
OutputSchemaVersion *string `json:"outputSchemaVersion"`
}
type CfnBucket_DeleteMarkerReplicationProperty ¶
type CfnBucket_DeleteMarkerReplicationProperty struct {
// `CfnBucket.DeleteMarkerReplicationProperty.Status`.
Status *string `json:"status"`
}
type CfnBucket_DestinationProperty ¶
type CfnBucket_DestinationProperty struct {
// `CfnBucket.DestinationProperty.BucketArn`.
BucketArn *string `json:"bucketArn"`
// `CfnBucket.DestinationProperty.Format`.
Format *string `json:"format"`
// `CfnBucket.DestinationProperty.BucketAccountId`.
BucketAccountId *string `json:"bucketAccountId"`
// `CfnBucket.DestinationProperty.Prefix`.
Prefix *string `json:"prefix"`
}
type CfnBucket_EncryptionConfigurationProperty ¶
type CfnBucket_EncryptionConfigurationProperty struct {
// `CfnBucket.EncryptionConfigurationProperty.ReplicaKmsKeyID`.
ReplicaKmsKeyId *string `json:"replicaKmsKeyId"`
}
type CfnBucket_IntelligentTieringConfigurationProperty ¶
type CfnBucket_IntelligentTieringConfigurationProperty struct {
// `CfnBucket.IntelligentTieringConfigurationProperty.Id`.
Id *string `json:"id"`
// `CfnBucket.IntelligentTieringConfigurationProperty.Status`.
Status *string `json:"status"`
// `CfnBucket.IntelligentTieringConfigurationProperty.Tierings`.
Tierings interface{} `json:"tierings"`
// `CfnBucket.IntelligentTieringConfigurationProperty.Prefix`.
Prefix *string `json:"prefix"`
// `CfnBucket.IntelligentTieringConfigurationProperty.TagFilters`.
TagFilters interface{} `json:"tagFilters"`
}
type CfnBucket_InventoryConfigurationProperty ¶
type CfnBucket_InventoryConfigurationProperty struct {
// `CfnBucket.InventoryConfigurationProperty.Destination`.
Destination interface{} `json:"destination"`
// `CfnBucket.InventoryConfigurationProperty.Enabled`.
Enabled interface{} `json:"enabled"`
// `CfnBucket.InventoryConfigurationProperty.Id`.
Id *string `json:"id"`
// `CfnBucket.InventoryConfigurationProperty.IncludedObjectVersions`.
IncludedObjectVersions *string `json:"includedObjectVersions"`
// `CfnBucket.InventoryConfigurationProperty.ScheduleFrequency`.
ScheduleFrequency *string `json:"scheduleFrequency"`
// `CfnBucket.InventoryConfigurationProperty.OptionalFields`.
OptionalFields *[]*string `json:"optionalFields"`
// `CfnBucket.InventoryConfigurationProperty.Prefix`.
Prefix *string `json:"prefix"`
}
type CfnBucket_LambdaConfigurationProperty ¶
type CfnBucket_LambdaConfigurationProperty struct {
// `CfnBucket.LambdaConfigurationProperty.Event`.
Event *string `json:"event"`
// `CfnBucket.LambdaConfigurationProperty.Function`.
Function *string `json:"function"`
// `CfnBucket.LambdaConfigurationProperty.Filter`.
Filter interface{} `json:"filter"`
}
type CfnBucket_LifecycleConfigurationProperty ¶
type CfnBucket_LifecycleConfigurationProperty struct {
// `CfnBucket.LifecycleConfigurationProperty.Rules`.
Rules interface{} `json:"rules"`
}
type CfnBucket_MetricsConfigurationProperty ¶
type CfnBucket_MetricsConfigurationProperty struct {
// `CfnBucket.MetricsConfigurationProperty.Id`.
Id *string `json:"id"`
// `CfnBucket.MetricsConfigurationProperty.Prefix`.
Prefix *string `json:"prefix"`
// `CfnBucket.MetricsConfigurationProperty.TagFilters`.
TagFilters interface{} `json:"tagFilters"`
}
type CfnBucket_MetricsProperty ¶
type CfnBucket_MetricsProperty struct {
// `CfnBucket.MetricsProperty.Status`.
Status *string `json:"status"`
// `CfnBucket.MetricsProperty.EventThreshold`.
EventThreshold interface{} `json:"eventThreshold"`
}
type CfnBucket_NotificationConfigurationProperty ¶
type CfnBucket_NotificationConfigurationProperty struct {
// `CfnBucket.NotificationConfigurationProperty.LambdaConfigurations`.
LambdaConfigurations interface{} `json:"lambdaConfigurations"`
// `CfnBucket.NotificationConfigurationProperty.QueueConfigurations`.
QueueConfigurations interface{} `json:"queueConfigurations"`
// `CfnBucket.NotificationConfigurationProperty.TopicConfigurations`.
TopicConfigurations interface{} `json:"topicConfigurations"`
}
type CfnBucket_NotificationFilterProperty ¶
type CfnBucket_NotificationFilterProperty struct {
// `CfnBucket.NotificationFilterProperty.S3Key`.
S3Key interface{} `json:"s3Key"`
}
type CfnBucket_ObjectLockConfigurationProperty ¶
type CfnBucket_ObjectLockConfigurationProperty struct {
// `CfnBucket.ObjectLockConfigurationProperty.ObjectLockEnabled`.
ObjectLockEnabled *string `json:"objectLockEnabled"`
// `CfnBucket.ObjectLockConfigurationProperty.Rule`.
Rule interface{} `json:"rule"`
}
type CfnBucket_ObjectLockRuleProperty ¶
type CfnBucket_ObjectLockRuleProperty struct {
// `CfnBucket.ObjectLockRuleProperty.DefaultRetention`.
DefaultRetention interface{} `json:"defaultRetention"`
}
type CfnBucket_OwnershipControlsProperty ¶
type CfnBucket_OwnershipControlsProperty struct {
// `CfnBucket.OwnershipControlsProperty.Rules`.
Rules interface{} `json:"rules"`
}
type CfnBucket_OwnershipControlsRuleProperty ¶
type CfnBucket_OwnershipControlsRuleProperty struct {
// `CfnBucket.OwnershipControlsRuleProperty.ObjectOwnership`.
ObjectOwnership *string `json:"objectOwnership"`
}
type CfnBucket_PublicAccessBlockConfigurationProperty ¶
type CfnBucket_PublicAccessBlockConfigurationProperty struct {
// `CfnBucket.PublicAccessBlockConfigurationProperty.BlockPublicAcls`.
BlockPublicAcls interface{} `json:"blockPublicAcls"`
// `CfnBucket.PublicAccessBlockConfigurationProperty.BlockPublicPolicy`.
BlockPublicPolicy interface{} `json:"blockPublicPolicy"`
// `CfnBucket.PublicAccessBlockConfigurationProperty.IgnorePublicAcls`.
IgnorePublicAcls interface{} `json:"ignorePublicAcls"`
// `CfnBucket.PublicAccessBlockConfigurationProperty.RestrictPublicBuckets`.
RestrictPublicBuckets interface{} `json:"restrictPublicBuckets"`
}
type CfnBucket_RedirectRuleProperty ¶
type CfnBucket_RedirectRuleProperty struct {
// `CfnBucket.RedirectRuleProperty.HostName`.
HostName *string `json:"hostName"`
// `CfnBucket.RedirectRuleProperty.HttpRedirectCode`.
HttpRedirectCode *string `json:"httpRedirectCode"`
// `CfnBucket.RedirectRuleProperty.Protocol`.
Protocol *string `json:"protocol"`
// `CfnBucket.RedirectRuleProperty.ReplaceKeyPrefixWith`.
ReplaceKeyPrefixWith *string `json:"replaceKeyPrefixWith"`
// `CfnBucket.RedirectRuleProperty.ReplaceKeyWith`.
ReplaceKeyWith *string `json:"replaceKeyWith"`
}
type CfnBucket_ReplicaModificationsProperty ¶
type CfnBucket_ReplicaModificationsProperty struct {
// `CfnBucket.ReplicaModificationsProperty.Status`.
Status *string `json:"status"`
}
type CfnBucket_ReplicationConfigurationProperty ¶
type CfnBucket_ReplicationConfigurationProperty struct {
// `CfnBucket.ReplicationConfigurationProperty.Role`.
Role *string `json:"role"`
// `CfnBucket.ReplicationConfigurationProperty.Rules`.
Rules interface{} `json:"rules"`
}
type CfnBucket_ReplicationDestinationProperty ¶
type CfnBucket_ReplicationDestinationProperty struct {
// `CfnBucket.ReplicationDestinationProperty.Bucket`.
Bucket *string `json:"bucket"`
// `CfnBucket.ReplicationDestinationProperty.AccessControlTranslation`.
AccessControlTranslation interface{} `json:"accessControlTranslation"`
// `CfnBucket.ReplicationDestinationProperty.Account`.
Account *string `json:"account"`
// `CfnBucket.ReplicationDestinationProperty.EncryptionConfiguration`.
EncryptionConfiguration interface{} `json:"encryptionConfiguration"`
// `CfnBucket.ReplicationDestinationProperty.Metrics`.
Metrics interface{} `json:"metrics"`
// `CfnBucket.ReplicationDestinationProperty.ReplicationTime`.
ReplicationTime interface{} `json:"replicationTime"`
// `CfnBucket.ReplicationDestinationProperty.StorageClass`.
StorageClass *string `json:"storageClass"`
}
type CfnBucket_ReplicationRuleAndOperatorProperty ¶
type CfnBucket_ReplicationRuleAndOperatorProperty struct {
// `CfnBucket.ReplicationRuleAndOperatorProperty.Prefix`.
Prefix *string `json:"prefix"`
// `CfnBucket.ReplicationRuleAndOperatorProperty.TagFilters`.
TagFilters interface{} `json:"tagFilters"`
}
type CfnBucket_ReplicationRuleFilterProperty ¶
type CfnBucket_ReplicationRuleFilterProperty struct {
// `CfnBucket.ReplicationRuleFilterProperty.And`.
And interface{} `json:"and"`
// `CfnBucket.ReplicationRuleFilterProperty.Prefix`.
Prefix *string `json:"prefix"`
// `CfnBucket.ReplicationRuleFilterProperty.TagFilter`.
TagFilter interface{} `json:"tagFilter"`
}
type CfnBucket_ReplicationRuleProperty ¶
type CfnBucket_ReplicationRuleProperty struct {
// `CfnBucket.ReplicationRuleProperty.Destination`.
Destination interface{} `json:"destination"`
// `CfnBucket.ReplicationRuleProperty.Status`.
Status *string `json:"status"`
// `CfnBucket.ReplicationRuleProperty.DeleteMarkerReplication`.
DeleteMarkerReplication interface{} `json:"deleteMarkerReplication"`
// `CfnBucket.ReplicationRuleProperty.Filter`.
Filter interface{} `json:"filter"`
// `CfnBucket.ReplicationRuleProperty.Id`.
Id *string `json:"id"`
// `CfnBucket.ReplicationRuleProperty.Prefix`.
Prefix *string `json:"prefix"`
// `CfnBucket.ReplicationRuleProperty.Priority`.
Priority *float64 `json:"priority"`
// `CfnBucket.ReplicationRuleProperty.SourceSelectionCriteria`.
SourceSelectionCriteria interface{} `json:"sourceSelectionCriteria"`
}
type CfnBucket_ReplicationTimeProperty ¶
type CfnBucket_ReplicationTimeProperty struct {
// `CfnBucket.ReplicationTimeProperty.Status`.
Status *string `json:"status"`
// `CfnBucket.ReplicationTimeProperty.Time`.
Time interface{} `json:"time"`
}
type CfnBucket_ReplicationTimeValueProperty ¶
type CfnBucket_ReplicationTimeValueProperty struct {
// `CfnBucket.ReplicationTimeValueProperty.Minutes`.
Minutes *float64 `json:"minutes"`
}
type CfnBucket_RoutingRuleConditionProperty ¶
type CfnBucket_RoutingRuleConditionProperty struct {
// `CfnBucket.RoutingRuleConditionProperty.HttpErrorCodeReturnedEquals`.
HttpErrorCodeReturnedEquals *string `json:"httpErrorCodeReturnedEquals"`
// `CfnBucket.RoutingRuleConditionProperty.KeyPrefixEquals`.
KeyPrefixEquals *string `json:"keyPrefixEquals"`
}
type CfnBucket_RoutingRuleProperty ¶
type CfnBucket_RoutingRuleProperty struct {
// `CfnBucket.RoutingRuleProperty.RedirectRule`.
RedirectRule interface{} `json:"redirectRule"`
// `CfnBucket.RoutingRuleProperty.RoutingRuleCondition`.
RoutingRuleCondition interface{} `json:"routingRuleCondition"`
}
type CfnBucket_RuleProperty ¶
type CfnBucket_RuleProperty struct {
// `CfnBucket.RuleProperty.Status`.
Status *string `json:"status"`
// `CfnBucket.RuleProperty.AbortIncompleteMultipartUpload`.
AbortIncompleteMultipartUpload interface{} `json:"abortIncompleteMultipartUpload"`
// `CfnBucket.RuleProperty.ExpirationDate`.
ExpirationDate interface{} `json:"expirationDate"`
// `CfnBucket.RuleProperty.ExpirationInDays`.
ExpirationInDays *float64 `json:"expirationInDays"`
// `CfnBucket.RuleProperty.Id`.
Id *string `json:"id"`
// `CfnBucket.RuleProperty.NoncurrentVersionExpirationInDays`.
NoncurrentVersionExpirationInDays *float64 `json:"noncurrentVersionExpirationInDays"`
// `CfnBucket.RuleProperty.NoncurrentVersionTransition`.
NoncurrentVersionTransition interface{} `json:"noncurrentVersionTransition"`
// `CfnBucket.RuleProperty.NoncurrentVersionTransitions`.
NoncurrentVersionTransitions interface{} `json:"noncurrentVersionTransitions"`
// `CfnBucket.RuleProperty.Prefix`.
Prefix *string `json:"prefix"`
// `CfnBucket.RuleProperty.TagFilters`.
TagFilters interface{} `json:"tagFilters"`
// `CfnBucket.RuleProperty.Transition`.
Transition interface{} `json:"transition"`
// `CfnBucket.RuleProperty.Transitions`.
Transitions interface{} `json:"transitions"`
}
type CfnBucket_S3KeyFilterProperty ¶
type CfnBucket_S3KeyFilterProperty struct {
// `CfnBucket.S3KeyFilterProperty.Rules`.
Rules interface{} `json:"rules"`
}
type CfnBucket_ServerSideEncryptionRuleProperty ¶
type CfnBucket_ServerSideEncryptionRuleProperty struct {
// `CfnBucket.ServerSideEncryptionRuleProperty.BucketKeyEnabled`.
BucketKeyEnabled interface{} `json:"bucketKeyEnabled"`
// `CfnBucket.ServerSideEncryptionRuleProperty.ServerSideEncryptionByDefault`.
ServerSideEncryptionByDefault interface{} `json:"serverSideEncryptionByDefault"`
}
type CfnBucket_SourceSelectionCriteriaProperty ¶
type CfnBucket_SourceSelectionCriteriaProperty struct {
// `CfnBucket.SourceSelectionCriteriaProperty.ReplicaModifications`.
ReplicaModifications interface{} `json:"replicaModifications"`
// `CfnBucket.SourceSelectionCriteriaProperty.SseKmsEncryptedObjects`.
SseKmsEncryptedObjects interface{} `json:"sseKmsEncryptedObjects"`
}
type CfnBucket_SseKmsEncryptedObjectsProperty ¶
type CfnBucket_SseKmsEncryptedObjectsProperty struct {
// `CfnBucket.SseKmsEncryptedObjectsProperty.Status`.
Status *string `json:"status"`
}
type CfnBucket_StorageClassAnalysisProperty ¶
type CfnBucket_StorageClassAnalysisProperty struct {
// `CfnBucket.StorageClassAnalysisProperty.DataExport`.
DataExport interface{} `json:"dataExport"`
}
type CfnBucket_TransitionProperty ¶
type CfnBucket_TransitionProperty struct {
// `CfnBucket.TransitionProperty.StorageClass`.
StorageClass *string `json:"storageClass"`
// `CfnBucket.TransitionProperty.TransitionDate`.
TransitionDate interface{} `json:"transitionDate"`
// `CfnBucket.TransitionProperty.TransitionInDays`.
TransitionInDays *float64 `json:"transitionInDays"`
}
type CfnBucket_VersioningConfigurationProperty ¶
type CfnBucket_VersioningConfigurationProperty struct {
// `CfnBucket.VersioningConfigurationProperty.Status`.
Status *string `json:"status"`
}
type CfnBucket_WebsiteConfigurationProperty ¶
type CfnBucket_WebsiteConfigurationProperty struct {
// `CfnBucket.WebsiteConfigurationProperty.ErrorDocument`.
ErrorDocument *string `json:"errorDocument"`
// `CfnBucket.WebsiteConfigurationProperty.IndexDocument`.
IndexDocument *string `json:"indexDocument"`
// `CfnBucket.WebsiteConfigurationProperty.RedirectAllRequestsTo`.
RedirectAllRequestsTo interface{} `json:"redirectAllRequestsTo"`
// `CfnBucket.WebsiteConfigurationProperty.RoutingRules`.
RoutingRules interface{} `json:"routingRules"`
}
type CfnStorageLens ¶
type CfnStorageLens interface {
awscdk.CfnResource
awscdk.IInspectable
AttrStorageLensArn() *string
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
CfnResourceType() *string
CreationStack() *[]*string
LogicalId() *string
Node() awscdk.ConstructNode
Ref() *string
Stack() awscdk.Stack
StorageLensConfiguration() interface{}
SetStorageLensConfiguration(val interface{})
Tags() awscdk.TagManager
UpdatedProperites() *map[string]interface{}
AddDeletionOverride(path *string)
AddDependsOn(target awscdk.CfnResource)
AddMetadata(key *string, value interface{})
AddOverride(path *string, value interface{})
AddPropertyDeletionOverride(propertyPath *string)
AddPropertyOverride(propertyPath *string, value interface{})
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
GetAtt(attributeName *string) awscdk.Reference
GetMetadata(key *string) interface{}
Inspect(inspector awscdk.TreeInspector)
OnPrepare()
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
OverrideLogicalId(newLogicalId *string)
Prepare()
RenderProperties(props *map[string]interface{}) *map[string]interface{}
ShouldSynthesize() *bool
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
Validate() *[]*string
ValidateProperties(_properties interface{})
}
A CloudFormation `AWS::S3::StorageLens`.
func NewCfnStorageLens ¶
func NewCfnStorageLens(scope awscdk.Construct, id *string, props *CfnStorageLensProps) CfnStorageLens
Create a new `AWS::S3::StorageLens`.
type CfnStorageLensProps ¶
type CfnStorageLensProps struct {
// `AWS::S3::StorageLens.StorageLensConfiguration`.
StorageLensConfiguration interface{} `json:"storageLensConfiguration"`
// `AWS::S3::StorageLens.Tags`.
Tags *[]*awscdk.CfnTag `json:"tags"`
}
Properties for defining a `AWS::S3::StorageLens`.
type CfnStorageLens_AccountLevelProperty ¶
type CfnStorageLens_AccountLevelProperty struct {
// `CfnStorageLens.AccountLevelProperty.BucketLevel`.
BucketLevel interface{} `json:"bucketLevel"`
// `CfnStorageLens.AccountLevelProperty.ActivityMetrics`.
ActivityMetrics interface{} `json:"activityMetrics"`
}
type CfnStorageLens_ActivityMetricsProperty ¶
type CfnStorageLens_ActivityMetricsProperty struct {
// `CfnStorageLens.ActivityMetricsProperty.IsEnabled`.
IsEnabled interface{} `json:"isEnabled"`
}
type CfnStorageLens_AwsOrgProperty ¶
type CfnStorageLens_AwsOrgProperty struct {
// `CfnStorageLens.AwsOrgProperty.Arn`.
Arn *string `json:"arn"`
}
type CfnStorageLens_BucketLevelProperty ¶
type CfnStorageLens_BucketLevelProperty struct {
// `CfnStorageLens.BucketLevelProperty.ActivityMetrics`.
ActivityMetrics interface{} `json:"activityMetrics"`
// `CfnStorageLens.BucketLevelProperty.PrefixLevel`.
PrefixLevel interface{} `json:"prefixLevel"`
}
type CfnStorageLens_DataExportProperty ¶
type CfnStorageLens_DataExportProperty struct {
// `CfnStorageLens.DataExportProperty.S3BucketDestination`.
S3BucketDestination interface{} `json:"s3BucketDestination"`
}
type CfnStorageLens_EncryptionProperty ¶
type CfnStorageLens_EncryptionProperty struct {
}
type CfnStorageLens_PrefixLevelProperty ¶
type CfnStorageLens_PrefixLevelProperty struct {
// `CfnStorageLens.PrefixLevelProperty.StorageMetrics`.
StorageMetrics interface{} `json:"storageMetrics"`
}
type CfnStorageLens_PrefixLevelStorageMetricsProperty ¶
type CfnStorageLens_PrefixLevelStorageMetricsProperty struct {
// `CfnStorageLens.PrefixLevelStorageMetricsProperty.IsEnabled`.
IsEnabled interface{} `json:"isEnabled"`
// `CfnStorageLens.PrefixLevelStorageMetricsProperty.SelectionCriteria`.
SelectionCriteria interface{} `json:"selectionCriteria"`
}
type CfnStorageLens_S3BucketDestinationProperty ¶
type CfnStorageLens_S3BucketDestinationProperty struct {
// `CfnStorageLens.S3BucketDestinationProperty.AccountId`.
AccountId *string `json:"accountId"`
// `CfnStorageLens.S3BucketDestinationProperty.Arn`.
Arn *string `json:"arn"`
// `CfnStorageLens.S3BucketDestinationProperty.Format`.
Format *string `json:"format"`
// `CfnStorageLens.S3BucketDestinationProperty.OutputSchemaVersion`.
OutputSchemaVersion *string `json:"outputSchemaVersion"`
// `CfnStorageLens.S3BucketDestinationProperty.Encryption`.
Encryption interface{} `json:"encryption"`
// `CfnStorageLens.S3BucketDestinationProperty.Prefix`.
Prefix *string `json:"prefix"`
}
type CfnStorageLens_SelectionCriteriaProperty ¶
type CfnStorageLens_SelectionCriteriaProperty struct {
// `CfnStorageLens.SelectionCriteriaProperty.Delimiter`.
Delimiter *string `json:"delimiter"`
// `CfnStorageLens.SelectionCriteriaProperty.MaxDepth`.
MaxDepth *float64 `json:"maxDepth"`
// `CfnStorageLens.SelectionCriteriaProperty.MinStorageBytesPercentage`.
MinStorageBytesPercentage *float64 `json:"minStorageBytesPercentage"`
}
type CfnStorageLens_StorageLensConfigurationProperty ¶
type CfnStorageLens_StorageLensConfigurationProperty struct {
// `CfnStorageLens.StorageLensConfigurationProperty.AccountLevel`.
AccountLevel interface{} `json:"accountLevel"`
// `CfnStorageLens.StorageLensConfigurationProperty.Id`.
Id *string `json:"id"`
// `CfnStorageLens.StorageLensConfigurationProperty.IsEnabled`.
IsEnabled interface{} `json:"isEnabled"`
// `CfnStorageLens.StorageLensConfigurationProperty.AwsOrg`.
AwsOrg interface{} `json:"awsOrg"`
// `CfnStorageLens.StorageLensConfigurationProperty.DataExport`.
DataExport interface{} `json:"dataExport"`
// `CfnStorageLens.StorageLensConfigurationProperty.Exclude`.
Exclude interface{} `json:"exclude"`
// `CfnStorageLens.StorageLensConfigurationProperty.Include`.
Include interface{} `json:"include"`
// `CfnStorageLens.StorageLensConfigurationProperty.StorageLensArn`.
StorageLensArn *string `json:"storageLensArn"`
}
type CorsRule ¶
type CorsRule struct {
// An HTTP method that you allow the origin to execute.
// Experimental.
AllowedMethods *[]HttpMethods `json:"allowedMethods"`
// One or more origins you want customers to be able to access the bucket from.
// Experimental.
AllowedOrigins *[]*string `json:"allowedOrigins"`
// Headers that are specified in the Access-Control-Request-Headers header.
// Experimental.
AllowedHeaders *[]*string `json:"allowedHeaders"`
// One or more headers in the response that you want customers to be able to access from their applications.
// Experimental.
ExposedHeaders *[]*string `json:"exposedHeaders"`
// A unique identifier for this rule.
// Experimental.
Id *string `json:"id"`
// The time in seconds that your browser is to cache the preflight response for the specified resource.
// Experimental.
MaxAge *float64 `json:"maxAge"`
}
Specifies a cross-origin access rule for an Amazon S3 bucket. Experimental.
type EventType ¶
type EventType string
Notification event types. Experimental.
const ( EventType_OBJECT_CREATED EventType = "OBJECT_CREATED" EventType_OBJECT_CREATED_PUT EventType = "OBJECT_CREATED_PUT" EventType_OBJECT_CREATED_POST EventType = "OBJECT_CREATED_POST" EventType_OBJECT_CREATED_COPY EventType = "OBJECT_CREATED_COPY" EventType_OBJECT_CREATED_COMPLETE_MULTIPART_UPLOAD EventType = "OBJECT_CREATED_COMPLETE_MULTIPART_UPLOAD" EventType_OBJECT_REMOVED EventType = "OBJECT_REMOVED" EventType_OBJECT_REMOVED_DELETE EventType = "OBJECT_REMOVED_DELETE" EventType_OBJECT_REMOVED_DELETE_MARKER_CREATED EventType = "OBJECT_REMOVED_DELETE_MARKER_CREATED" EventType_OBJECT_RESTORE_POST EventType = "OBJECT_RESTORE_POST" EventType_OBJECT_RESTORE_COMPLETED EventType = "OBJECT_RESTORE_COMPLETED" EventType_REDUCED_REDUNDANCY_LOST_OBJECT EventType = "REDUCED_REDUNDANCY_LOST_OBJECT" EventType_REPLICATION_OPERATION_FAILED_REPLICATION EventType = "REPLICATION_OPERATION_FAILED_REPLICATION" EventType_REPLICATION_OPERATION_MISSED_THRESHOLD EventType = "REPLICATION_OPERATION_MISSED_THRESHOLD" EventType_REPLICATION_OPERATION_REPLICATED_AFTER_THRESHOLD EventType = "REPLICATION_OPERATION_REPLICATED_AFTER_THRESHOLD" EventType_REPLICATION_OPERATION_NOT_TRACKED EventType = "REPLICATION_OPERATION_NOT_TRACKED" )
type HttpMethods ¶
type HttpMethods string
All http request methods. Experimental.
const ( HttpMethods_GET HttpMethods = "GET" HttpMethods_PUT HttpMethods = "PUT" HttpMethods_HEAD HttpMethods = "HEAD" HttpMethods_POST HttpMethods = "POST" HttpMethods_DELETE HttpMethods = "DELETE" )
type IBucket ¶
type IBucket interface {
awscdk.IResource
// Adds a statement to the resource policy for a principal (i.e. account/role/service) to perform actions on this bucket and/or it's contents. Use `bucketArn` and `arnForObjects(keys)` to obtain ARNs for this bucket or objects.
// Experimental.
AddToResourcePolicy(permission awsiam.PolicyStatement) *awsiam.AddToResourcePolicyResult
// Returns an ARN that represents all objects within the bucket that match the key pattern specified.
//
// To represent all keys, specify “"*"“.
// Experimental.
ArnForObjects(keyPattern *string) *string
// Grants s3:DeleteObject* permission to an IAM principal for objects in this bucket.
// Experimental.
GrantDelete(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
// Allows unrestricted access to objects from this bucket.
//
// IMPORTANT: This permission allows anyone to perform actions on S3 objects
// in this bucket, which is useful for when you configure your bucket as a
// website and want everyone to be able to read objects in the bucket without
// needing to authenticate.
//
// Without arguments, this method will grant read ("s3:GetObject") access to
// all objects ("*") in the bucket.
//
// The method returns the `iam.Grant` object, which can then be modified
// as needed. For example, you can add a condition that will restrict access only
// to an IPv4 range like this:
//
// const grant = bucket.grantPublicAccess();
// 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.
// Experimental.
GrantPublicAccess(keyPrefix *string, allowedActions ...*string) awsiam.Grant
// Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal.
//
// If encryption is used, permission to use the key to encrypt the contents
// of written files will also be granted to the same principal.
// Experimental.
GrantPut(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
// Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.
//
// If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set,
// calling {@link grantWrite} or {@link grantReadWrite} no longer grants permissions to modify the ACLs of the objects;
// in this case, if you need to modify object ACLs, call this method explicitly.
// Experimental.
GrantPutAcl(identity awsiam.IGrantable, objectsKeyPattern *string) awsiam.Grant
// Grant read permissions for this bucket and it's contents to an IAM principal (Role/Group/User).
//
// If encryption is used, permission to use the key to decrypt the contents
// of the bucket will also be granted to the same principal.
// Experimental.
GrantRead(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
// Grants read/write permissions for this bucket and it's contents to an IAM principal (Role/Group/User).
//
// If an encryption key is used, permission to use the key for
// encrypt/decrypt will also be granted.
//
// Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
// which could be used to grant read/write object access to IAM principals in other accounts.
// If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
// and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
// in the `context` key of your cdk.json file.
// If you've already updated, but still need the principal to have permissions to modify the ACLs,
// use the {@link grantPutAcl} method.
// Experimental.
GrantReadWrite(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
// Grant write permissions to this bucket to an IAM principal.
//
// If encryption is used, permission to use the key to encrypt the contents
// of written files will also be granted to the same principal.
//
// Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
// which could be used to grant read/write object access to IAM principals in other accounts.
// If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
// and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
// in the `context` key of your cdk.json file.
// If you've already updated, but still need the principal to have permissions to modify the ACLs,
// use the {@link grantPutAcl} method.
// Experimental.
GrantWrite(identity awsiam.IGrantable, objectsKeyPattern interface{}) awsiam.Grant
// Defines a CloudWatch event that triggers when something happens to this bucket.
//
// Requires that there exists at least one CloudTrail Trail in your account
// that captures the event. This method will not create the Trail.
// Experimental.
OnCloudTrailEvent(id *string, options *OnCloudTrailBucketEventOptions) awsevents.Rule
// 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.
//
// Note that some tools like `aws s3 cp` will automatically use either
// PutObject or the multipart upload API depending on the file size,
// so using `onCloudTrailWriteObject` may be preferable.
//
// Requires that there exists at least one CloudTrail Trail in your account
// that captures the event. This method will not create the Trail.
// Experimental.
OnCloudTrailPutObject(id *string, options *OnCloudTrailBucketEventOptions) awsevents.Rule
// Defines an AWS CloudWatch event that triggers when an object at the specified paths (keys) in this bucket are written to.
//
// This includes
// the events PutObject, CopyObject, and CompleteMultipartUpload.
//
// Note that some tools like `aws s3 cp` will automatically use either
// PutObject or the multipart upload API depending on the file size,
// so using this method may be preferable to `onCloudTrailPutObject`.
//
// Requires that there exists at least one CloudTrail Trail in your account
// that captures the event. This method will not create the Trail.
// Experimental.
OnCloudTrailWriteObject(id *string, options *OnCloudTrailBucketEventOptions) awsevents.Rule
// The S3 URL of an S3 object.
//
// For example:
//
// Returns: an ObjectS3Url token
//
// TODO: EXAMPLE
//
// Experimental.
S3UrlForObject(key *string) *string
// The https URL of an S3 object.
//
// For example:
//
// Returns: an ObjectS3Url token
//
// TODO: EXAMPLE
//
// Experimental.
UrlForObject(key *string) *string
// The virtual hosted-style URL of an S3 object.
//
// Specify `regional: false` at
// the options for non-regional URL. For example:
//
// Returns: an ObjectS3Url token
//
// TODO: EXAMPLE
//
// Experimental.
VirtualHostedUrlForObject(key *string, options *VirtualHostedStyleUrlOptions) *string
// The ARN of the bucket.
// Experimental.
BucketArn() *string
// The IPv4 DNS name of the specified bucket.
// Experimental.
BucketDomainName() *string
// The IPv6 DNS name of the specified bucket.
// Experimental.
BucketDualStackDomainName() *string
// The name of the bucket.
// Experimental.
BucketName() *string
// The regional domain name of the specified bucket.
// Experimental.
BucketRegionalDomainName() *string
// The Domain name of the static website.
// Experimental.
BucketWebsiteDomainName() *string
// The URL of the static website.
// Experimental.
BucketWebsiteUrl() *string
// Optional KMS encryption key associated with this bucket.
// Experimental.
EncryptionKey() awskms.IKey
// If this bucket has been configured for static website hosting.
// Experimental.
IsWebsite() *bool
// The resource policy associated with this bucket.
//
// If `autoCreatePolicy` is true, a `BucketPolicy` will be created upon the
// first call to addToResourcePolicy(s).
// Experimental.
Policy() BucketPolicy
}
Experimental.
func Bucket_FromBucketArn ¶
func Bucket_FromBucketArn(scope constructs.Construct, id *string, bucketArn *string) IBucket
Experimental.
func Bucket_FromBucketAttributes ¶
func Bucket_FromBucketAttributes(scope constructs.Construct, id *string, attrs *BucketAttributes) IBucket
Creates a Bucket construct that represents an external bucket. Experimental.
func Bucket_FromBucketName ¶
func Bucket_FromBucketName(scope constructs.Construct, id *string, bucketName *string) IBucket
Experimental.
type IBucketNotificationDestination ¶
type IBucketNotificationDestination interface {
// Registers this resource to receive notifications for the specified bucket.
//
// This method will only be called once for each destination/bucket
// pair and the result will be cached, so there is no need to implement
// idempotency in each destination.
// Experimental.
Bind(scope awscdk.Construct, bucket IBucket) *BucketNotificationDestinationConfig
}
Implemented by constructs that can be used as bucket notification destinations. Experimental.
type Inventory ¶
type Inventory struct {
// The destination of the inventory.
// Experimental.
Destination *InventoryDestination `json:"destination"`
// Whether the inventory is enabled or disabled.
// Experimental.
Enabled *bool `json:"enabled"`
// The format of the inventory.
// Experimental.
Format InventoryFormat `json:"format"`
// Frequency at which the inventory should be generated.
// Experimental.
Frequency InventoryFrequency `json:"frequency"`
// If the inventory should contain all the object versions or only the current one.
// Experimental.
IncludeObjectVersions InventoryObjectVersion `json:"includeObjectVersions"`
// The inventory configuration ID.
// Experimental.
InventoryId *string `json:"inventoryId"`
// The inventory will only include objects that meet the prefix filter criteria.
// Experimental.
ObjectsPrefix *string `json:"objectsPrefix"`
// A list of optional fields to be included in the inventory result.
// Experimental.
OptionalFields *[]*string `json:"optionalFields"`
}
Specifies the inventory configuration of an S3 Bucket. See: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
Experimental.
type InventoryDestination ¶
type InventoryDestination struct {
// Bucket where all inventories will be saved in.
// Experimental.
Bucket IBucket `json:"bucket"`
// The account ID that owns the destination S3 bucket.
//
// If no account ID is provided, the owner is not validated before exporting data.
// It's recommended to set an account ID to prevent problems if the destination bucket ownership changes.
// Experimental.
BucketOwner *string `json:"bucketOwner"`
// The prefix to be used when saving the inventory.
// Experimental.
Prefix *string `json:"prefix"`
}
The destination of the inventory. Experimental.
type InventoryFormat ¶
type InventoryFormat string
All supported inventory list formats. Experimental.
const ( InventoryFormat_CSV InventoryFormat = "CSV" InventoryFormat_PARQUET InventoryFormat = "PARQUET" InventoryFormat_ORC InventoryFormat = "ORC" )
type InventoryFrequency ¶
type InventoryFrequency string
All supported inventory frequencies. Experimental.
const ( InventoryFrequency_DAILY InventoryFrequency = "DAILY" InventoryFrequency_WEEKLY InventoryFrequency = "WEEKLY" )
type InventoryObjectVersion ¶
type InventoryObjectVersion string
Inventory version support. Experimental.
const ( InventoryObjectVersion_ALL InventoryObjectVersion = "ALL" InventoryObjectVersion_CURRENT InventoryObjectVersion = "CURRENT" )
type LifecycleRule ¶
type LifecycleRule struct {
// Specifies a lifecycle rule that aborts incomplete multipart uploads to an Amazon S3 bucket.
//
// The AbortIncompleteMultipartUpload property type creates a lifecycle
// rule that aborts incomplete multipart uploads to an Amazon S3 bucket.
// When Amazon S3 aborts a multipart upload, it deletes all parts
// associated with the multipart upload.
// Experimental.
AbortIncompleteMultipartUploadAfter awscdk.Duration `json:"abortIncompleteMultipartUploadAfter"`
// Whether this rule is enabled.
// Experimental.
Enabled *bool `json:"enabled"`
// Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon Glacier.
//
// 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.
// Experimental.
Expiration awscdk.Duration `json:"expiration"`
// Indicates when objects are deleted from Amazon S3 and Amazon Glacier.
//
// 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.
// Experimental.
ExpirationDate *string `json:"expirationDate"`
// A unique identifier for this rule.
//
// The value cannot be more than 255 characters.
// Experimental.
Id *string `json:"id"`
// Time between when a new version of the object is uploaded to the bucket and when old versions of the object expire.
//
// 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.
// Experimental.
NoncurrentVersionExpiration awscdk.Duration `json:"noncurrentVersionExpiration"`
// One or more transition rules that specify when non-current objects transition to a specified storage class.
//
// Only for for buckets with versioning enabled (or suspended).
//
// If you specify a transition and expiration time, the expiration time
// must be later than the transition time.
// Experimental.
NoncurrentVersionTransitions *[]*NoncurrentVersionTransition `json:"noncurrentVersionTransitions"`
// Object key prefix that identifies one or more objects to which this rule applies.
// Experimental.
Prefix *string `json:"prefix"`
// The TagFilter property type specifies tags to use to identify a subset of objects for an Amazon S3 bucket.
// Experimental.
TagFilters *map[string]interface{} `json:"tagFilters"`
// One or more transition rules that specify 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.
// Experimental.
Transitions *[]*Transition `json:"transitions"`
}
Declaration of a Life cycle rule. Experimental.
type Location ¶
type Location struct {
// The name of the S3 Bucket the object is in.
// Experimental.
BucketName *string `json:"bucketName"`
// The path inside the Bucket where the object is located at.
// Experimental.
ObjectKey *string `json:"objectKey"`
// The S3 object version.
// Experimental.
ObjectVersion *string `json:"objectVersion"`
}
An interface that represents the location of a specific object in an S3 Bucket. Experimental.
type NoncurrentVersionTransition ¶
type NoncurrentVersionTransition struct {
// The storage class to which you want the object to transition.
// Experimental.
StorageClass StorageClass `json:"storageClass"`
// Indicates the number of days after creation when objects are transitioned to the specified storage class.
// Experimental.
TransitionAfter awscdk.Duration `json:"transitionAfter"`
}
Describes when noncurrent versions transition to a specified storage class. Experimental.
type NotificationKeyFilter ¶
type NotificationKeyFilter struct {
// S3 keys must have the specified prefix.
// Experimental.
Prefix *string `json:"prefix"`
// S3 keys must have the specified suffix.
// Experimental.
Suffix *string `json:"suffix"`
}
Experimental.
type ObjectOwnership ¶
type ObjectOwnership string
The ObjectOwnership of the bucket. See: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
Experimental.
const ( ObjectOwnership_BUCKET_OWNER_PREFERRED ObjectOwnership = "BUCKET_OWNER_PREFERRED" ObjectOwnership_OBJECT_WRITER ObjectOwnership = "OBJECT_WRITER" )
type OnCloudTrailBucketEventOptions ¶
type OnCloudTrailBucketEventOptions struct {
// A description of the rule's purpose.
// Experimental.
Description *string `json:"description"`
// Additional restrictions for the event to route to the specified target.
//
// The method that generates the rule probably imposes some type of event
// filtering. The filtering implied by what you pass here is added
// on top of that filtering.
// See: https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html
//
// Experimental.
EventPattern *awsevents.EventPattern `json:"eventPattern"`
// A name for the rule.
// Experimental.
RuleName *string `json:"ruleName"`
// The target to register for the event.
// Experimental.
Target awsevents.IRuleTarget `json:"target"`
// Only watch changes to these object paths.
// Experimental.
Paths *[]*string `json:"paths"`
}
Options for the onCloudTrailPutObject method. Experimental.
type RedirectProtocol ¶
type RedirectProtocol string
All http request methods. Experimental.
const ( RedirectProtocol_HTTP RedirectProtocol = "HTTP" RedirectProtocol_HTTPS RedirectProtocol = "HTTPS" )
type RedirectTarget ¶
type RedirectTarget struct {
// Name of the host where requests are redirected.
// Experimental.
HostName *string `json:"hostName"`
// Protocol to use when redirecting requests.
// Experimental.
Protocol RedirectProtocol `json:"protocol"`
}
Specifies a redirect behavior of all requests to a website endpoint of a bucket. Experimental.
type ReplaceKey ¶
Experimental.
func ReplaceKey_PrefixWith ¶
func ReplaceKey_PrefixWith(keyReplacement *string) ReplaceKey
The object key prefix to use in the redirect request. Experimental.
func ReplaceKey_With ¶
func ReplaceKey_With(keyReplacement *string) ReplaceKey
The specific object key to use in the redirect request. Experimental.
type RoutingRule ¶
type RoutingRule struct {
// Specifies a condition that must be met for the specified redirect to apply.
// Experimental.
Condition *RoutingRuleCondition `json:"condition"`
// The host name to use in the redirect request.
// Experimental.
HostName *string `json:"hostName"`
// The HTTP redirect code to use on the response.
// Experimental.
HttpRedirectCode *string `json:"httpRedirectCode"`
// Protocol to use when redirecting requests.
// Experimental.
Protocol RedirectProtocol `json:"protocol"`
// Specifies the object key prefix to use in the redirect request.
// Experimental.
ReplaceKey ReplaceKey `json:"replaceKey"`
}
Rule that define when a redirect is applied and the redirect behavior. See: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html
Experimental.
type RoutingRuleCondition ¶
type RoutingRuleCondition struct {
// The HTTP error code when the redirect is applied.
//
// In the event of an error, if the error code equals this value, then the specified redirect is applied.
//
// If both condition properties are specified, both must be true for the redirect to be applied.
// Experimental.
HttpErrorCodeReturnedEquals *string `json:"httpErrorCodeReturnedEquals"`
// The object key name prefix when the redirect is applied.
//
// If both condition properties are specified, both must be true for the redirect to be applied.
// Experimental.
KeyPrefixEquals *string `json:"keyPrefixEquals"`
}
Experimental.
type StorageClass ¶
Storage class to move an object to. Experimental.
func StorageClass_DEEP_ARCHIVE ¶
func StorageClass_DEEP_ARCHIVE() StorageClass
func StorageClass_GLACIER ¶
func StorageClass_GLACIER() StorageClass
func StorageClass_INFREQUENT_ACCESS ¶
func StorageClass_INFREQUENT_ACCESS() StorageClass
func StorageClass_INTELLIGENT_TIERING ¶
func StorageClass_INTELLIGENT_TIERING() StorageClass
func StorageClass_ONE_ZONE_INFREQUENT_ACCESS ¶
func StorageClass_ONE_ZONE_INFREQUENT_ACCESS() StorageClass
type Transition ¶
type Transition struct {
// The storage class to which you want the object to transition.
// Experimental.
StorageClass StorageClass `json:"storageClass"`
// Indicates the number of days after creation when objects are transitioned to the specified storage class.
// Experimental.
TransitionAfter awscdk.Duration `json:"transitionAfter"`
// Indicates when objects are transitioned to the specified storage class.
//
// The date value must be in ISO 8601 format. The time is always midnight UTC.
// Experimental.
TransitionDate *string `json:"transitionDate"`
}
Describes when an object transitions to a specified storage class. Experimental.
type VirtualHostedStyleUrlOptions ¶
type VirtualHostedStyleUrlOptions struct {
// Specifies the URL includes the region.
// Experimental.
Regional *bool `json:"regional"`
}
Options for creating Virtual-Hosted style URL. Experimental.