Class CmsMediaStorageConfiguration
java.lang.Object
com.cloudforgeci.api.core.topology.CmsMediaStorageConfiguration
Configuration for CMS media storage on S3.
Creates S3 buckets with appropriate policies for CMS media uploads, enabling scalable media storage with CDN integration.
Features:
- Private bucket with block public access
- Versioning for recovery
- Lifecycle rules for old version cleanup
- CORS configuration for browser uploads
- IAM policies for CMS access
- Encryption based on security profile
- Since:
- 3.1.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic software.amazon.awscdk.services.iam.PolicyStatementcreateCloudFrontAccessPolicy(software.amazon.awscdk.services.s3.Bucket bucket, String cloudFrontOaiArn) Create bucket policy for CloudFront OAI/OAC access.static software.amazon.awscdk.services.s3.BucketcreateMediaBucket(SystemContext ctx, CmsSpec spec) Create S3 bucket for CMS media storage.static software.amazon.awscdk.services.s3.BucketcreateMediaBucket(SystemContext ctx, CmsSpec spec, boolean enableVersioning, boolean enableTransferAcceleration) Create S3 bucket with custom configuration.static software.amazon.awscdk.services.iam.PolicyStatementcreateMediaBucketPolicy(software.amazon.awscdk.services.s3.Bucket bucket) Create IAM policy for CMS to access media bucket.static software.amazon.awscdk.services.iam.PolicyStatementcreateReadOnlyPolicy(software.amazon.awscdk.services.s3.Bucket bucket) Create read-only IAM policy for media bucket.createS3Environment(software.amazon.awscdk.services.s3.Bucket bucket, CmsSpec spec, String cdnUrl) Create environment variables for S3 media integration.
-
Method Details
-
createMediaBucket
public static software.amazon.awscdk.services.s3.Bucket createMediaBucket(SystemContext ctx, CmsSpec spec) Create S3 bucket for CMS media storage.- Parameters:
ctx- the SystemContextspec- the CMS specification- Returns:
- the created S3 bucket
-
createMediaBucket
public static software.amazon.awscdk.services.s3.Bucket createMediaBucket(SystemContext ctx, CmsSpec spec, boolean enableVersioning, boolean enableTransferAcceleration) Create S3 bucket with custom configuration.- Parameters:
ctx- the SystemContextspec- the CMS specificationenableVersioning- whether to enable versioningenableTransferAcceleration- whether to enable transfer acceleration- Returns:
- the created S3 bucket
-
createMediaBucketPolicy
public static software.amazon.awscdk.services.iam.PolicyStatement createMediaBucketPolicy(software.amazon.awscdk.services.s3.Bucket bucket) Create IAM policy for CMS to access media bucket.- Parameters:
bucket- the S3 bucket- Returns:
- IAM policy statement
-
createReadOnlyPolicy
public static software.amazon.awscdk.services.iam.PolicyStatement createReadOnlyPolicy(software.amazon.awscdk.services.s3.Bucket bucket) Create read-only IAM policy for media bucket.- Parameters:
bucket- the S3 bucket- Returns:
- IAM policy statement for read-only access
-
createS3Environment
public static Map<String,String> createS3Environment(software.amazon.awscdk.services.s3.Bucket bucket, CmsSpec spec, String cdnUrl) Create environment variables for S3 media integration.- Parameters:
bucket- the S3 bucketspec- the CMS specificationcdnUrl- optional CloudFront URL- Returns:
- map of environment variables
-
createCloudFrontAccessPolicy
public static software.amazon.awscdk.services.iam.PolicyStatement createCloudFrontAccessPolicy(software.amazon.awscdk.services.s3.Bucket bucket, String cloudFrontOaiArn) Create bucket policy for CloudFront OAI/OAC access.- Parameters:
bucket- the S3 bucketcloudFrontOaiArn- CloudFront Origin Access Identity ARN- Returns:
- policy statement for CloudFront access
-