S3 Control (Simple Storage Service Control)

Implementation details for API s3control

Coverage Overview

Simple Storage Service Control (S3 Control) is supported by LocalStack in the community image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AssociateAccessGrantsIdentityCenter
CreateAccessGrant
CreateAccessGrantsInstance
CreateAccessGrantsLocation
CreateAccessPoint✔️community✔️
CreateAccessPointForObjectLambda
CreateBucket✔️community
CreateJob
CreateMultiRegionAccessPoint
CreateStorageLensGroup
DeleteAccessGrant
DeleteAccessGrantsInstance
DeleteAccessGrantsInstanceResourcePolicy
DeleteAccessGrantsLocation
DeleteAccessPoint✔️community✔️
DeleteAccessPointForObjectLambda
DeleteAccessPointPolicy✔️community✔️
DeleteAccessPointPolicyForObjectLambda
DeleteBucket
DeleteBucketLifecycleConfiguration
DeleteBucketPolicy
DeleteBucketReplication
DeleteBucketTagging
DeleteJobTagging
DeleteMultiRegionAccessPoint
DeletePublicAccessBlock✔️community✔️✔️Show Tests
DeleteStorageLensConfiguration
DeleteStorageLensConfigurationTagging
DeleteStorageLensGroup
DescribeJob
DescribeMultiRegionAccessPointOperation
DissociateAccessGrantsIdentityCenter
GetAccessGrant
GetAccessGrantsInstance
GetAccessGrantsInstanceForPrefix
GetAccessGrantsInstanceResourcePolicy
GetAccessGrantsLocation
GetAccessPoint✔️community✔️
GetAccessPointConfigurationForObjectLambda
GetAccessPointForObjectLambda
GetAccessPointPolicy✔️community✔️
GetAccessPointPolicyForObjectLambda
GetAccessPointPolicyStatus✔️community✔️
GetAccessPointPolicyStatusForObjectLambda
GetBucket
GetBucketLifecycleConfiguration
GetBucketPolicy
GetBucketReplication
GetBucketTagging
GetBucketVersioning
GetDataAccess
GetJobTagging
GetMultiRegionAccessPoint
GetMultiRegionAccessPointPolicy
GetMultiRegionAccessPointPolicyStatus
GetMultiRegionAccessPointRoutes
GetPublicAccessBlock✔️community✔️✔️Show Tests
GetStorageLensConfiguration
GetStorageLensConfigurationTagging
GetStorageLensGroup
ListAccessGrants
ListAccessGrantsInstances
ListAccessGrantsLocations
ListAccessPoints
ListAccessPointsForObjectLambda
ListCallerAccessGrants
ListJobs
ListMultiRegionAccessPoints
ListRegionalBuckets✔️community
ListStorageLensConfigurations
ListStorageLensGroups
ListTagsForResource
PutAccessGrantsInstanceResourcePolicy
PutAccessPointConfigurationForObjectLambda
PutAccessPointPolicy✔️community✔️
PutAccessPointPolicyForObjectLambda
PutBucketLifecycleConfiguration
PutBucketPolicy
PutBucketReplication
PutBucketTagging
PutBucketVersioning
PutJobTagging
PutMultiRegionAccessPointPolicy
PutPublicAccessBlock✔️community✔️✔️Show Tests
PutStorageLensConfiguration
PutStorageLensConfigurationTagging
SubmitMultiRegionAccessPointRoutes
TagResource
UntagResource
UpdateAccessGrantsLocation
UpdateJobPriority
UpdateJobStatus
UpdateStorageLensGroup

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the execution of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


DeletePublicAccessBlock

Parameters: AccountId
  • LocalStack Community
    • test_lifecycle_public_access_block LocalStack Community: tests/aws/services/s3control/test_s3control.py::TestLegacyS3Control::test_lifecycle_public_access_block HTTP Status Code: 200 AWS validated

GetPublicAccessBlock

Parameters: AccountId
  • LocalStack Community
    • test_lifecycle_public_access_block LocalStack Community: tests/aws/services/s3control/test_s3control.py::TestLegacyS3Control::test_lifecycle_public_access_block HTTP Status Code: 200 AWS validated
    • test_public_access_block_validations LocalStack Community: tests/aws/services/s3control/test_s3control.py::TestLegacyS3Control::test_public_access_block_validations HTTP Status Code: 403 (CommonServiceException)
    • test_lifecycle_public_access_block LocalStack Community: tests/aws/services/s3control/test_s3control.py::TestLegacyS3Control::test_lifecycle_public_access_block HTTP Status Code: 404 (CommonServiceException) AWS validated

PutPublicAccessBlock

Parameters: AccountId, PublicAccessBlockConfiguration
  • LocalStack Community
    • test_lifecycle_public_access_block LocalStack Community: tests/aws/services/s3control/test_s3control.py::TestLegacyS3Control::test_lifecycle_public_access_block HTTP Status Code: 200 AWS validated
    • test_public_access_block_validations LocalStack Community: tests/aws/services/s3control/test_s3control.py::TestLegacyS3Control::test_public_access_block_validations HTTP Status Code: 400 (CommonServiceException)
    • test_public_access_block_validations LocalStack Community: tests/aws/services/s3control/test_s3control.py::TestLegacyS3Control::test_public_access_block_validations HTTP Status Code: 403 (CommonServiceException)