AWS S3

Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. Customers of all sizes and industries can use Amazon S3 to store and protect any amount of data for a range of use cases, such as data lakes, websites, mobile applications, backup and restore, archive, enterprise applications, IoT devices, and big data analytics. Amazon S3 provides management features so that you can optimize, organize, and configure access to your data to meet your specific business, organizational, and compliance requirements.

This module creates an AWS S3 bucket with these constraints:

  • Use all availability zones

Requirements

Name

Version

terraform

>= 1.0

aws

>= 5.61

Providers

Name

Version

aws

>= 5.61

Modules

No modules.

Resources

Name

Type

aws_iam_policy.s3

resource

aws_iam_policy_attachment.s3

resource

aws_s3_bucket.s3_bucket

resource

aws_s3_bucket_acl.acl

resource

aws_s3_bucket_ownership_controls.ownership

resource

aws_s3_bucket_policy.s3_bucket

resource

aws_s3_bucket_public_access_block.s3_bucket

resource

aws_s3_bucket_server_side_encryption_configuration.encryption

resource

aws_s3_bucket_versioning.versioning

resource

aws_iam_policy_document.combined

data source

aws_iam_policy_document.deny_insecure_transport

data source

aws_iam_policy_document.require_latest_tls

data source

aws_iam_policy_document.s3

data source

Inputs

Name

Description

Type

Default

Required

adapter_absolute_path

The adapter’s absolute path

string

"/adapters/object/s3/ArmoniK.Core.Adapters.S3.dll"

no

adapter_class_name

Name of the adapter’s class

string

"ArmoniK.Core.Adapters.S3.ObjectBuilder"

no

attach_deny_insecure_transport_policy

Controls if S3 bucket should have deny non-SSL transport policy attached

bool

true

no

attach_policy

Controls if S3 bucket should have bucket policy attached (set to true to use value of policy as bucket policy)

bool

false

no

attach_public_policy

Controls if a user defined public bucket policy will be attached (set to false to allow upstream to apply defaults to the bucket)

bool

false

no

attach_require_latest_tls_policy

Controls if S3 bucket should require the latest version of TLS

bool

true

no

block_public_acls

Whether Amazon S3 should block public ACLs for this bucket

bool

true

no

block_public_policy

Whether Amazon S3 should block public bucket policies for this bucket

bool

true

no

ignore_public_acls

Whether Amazon S3 should ignore public ACLs for this bucket

bool

true

no

kms_key_id

Id of the KMS key

string

null

no

name

Name of S3 service

string

"armonik-s3"

no

object_storage_adapter

Name of the ArmoniK adapter to use for the storage

string

"ArmoniK.Adapters.S3.ObjectStorage"

no

ownership

Object ownership

string

"BucketOwnerPreferred"

no

policy

Text of the policy

string

null

no

restrict_public_buckets

Whether Amazon S3 should restrict public bucket policies for this bucket

bool

true

no

role_name

Name of the IAM role to give the S3 permissions to

string

""

no

sse_algorithm

SSE algorithm to encrypt S3 object data

string

"aws:kms"

no

tags

Tags for resource

any

{}

no

versioning

Enable or disable versioning

string

"Disabled"

no

Outputs

Name

Description

arn

ARN S3

env

Elements to be set as environment variables

kms_key_id

ARN of KMS used for S3

s3_bucket_name

Name of S3 bucket

Examples