Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The XML you provided was not well-formed or did not validate against our published schema (Service: Amazon S3; Status Code: 400

So i am trying to create an S3 bucket but if i apply the replication settings, i get the follow error

The XML you provided was not well-formed or did not validate against our published schema (Service: Amazon S3; Status Code: 400

If i comment out the replication settings, the bucket gets created perfectly. I am unable to debug the issue , any help will be welcomed, Following is my S3 bucket.

Resources:
  PipelineS3Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Sub ${Env}-${BucketName}
      AccessControl: BucketOwnerFullControl
      BucketEncryption:
        ServerSideEncryptionConfiguration:
          - ServerSideEncryptionByDefault:
              SSEAlgorithm: !Ref SSEAlgorithm
      PublicAccessBlockConfiguration:
        BlockPublicAcls: true
        IgnorePublicAcls: true
        BlockPublicPolicy: true
        RestrictPublicBuckets: true
      LifecycleConfiguration:
        Rules:
          - AbortIncompleteMultipartUpload:
              DaysAfterInitiation: !Ref DaysAfterInitiation
            ExpirationInDays: !Ref LifecycleConfigurationExpirationInDays
            NoncurrentVersionExpirationInDays: !Ref NoncurrentVersionExpirationInDays
            NoncurrentVersionTransition:
              StorageClass: !Ref LifecycleConfigurationStorageClass
              TransitionInDays: !Ref TransitionInDays
            Prefix: !Ref LifecycleConfigurationPrefix
            Status: !Ref LifecycleConfigurationStatus
      VersioningConfiguration:
        Status: !Ref VersioningConfigurationStatus

      ReplicationConfiguration:
        Role: !GetAtt BucketBackupRole.Arn
        Rules:
          - Destination:
              Bucket: !Sub 'arn:aws:s3:::my-bucket'
              StorageClass: Standard
            Prefix: ''
            Status: Enabled
            Id: Region2Rep
  BucketBackupRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Action: sts:AssumeRole
            Effect: Allow
            Principal:
              Service:
                - s3.amazonaws.com
      Policies:
        - PolicyName: "configureable-bucket-policy"
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Action:
                  - s3:*
                Effect: Allow
                Resource:
                  - !Sub 'arn:aws:s3:::my-bucket'
                  - !Sub 'arn:aws:s3:::my-bucket/*'
like image 937
noobie-php Avatar asked Dec 06 '25 05:12

noobie-php


1 Answers

For StorageClass try using all caps ENABLED

Based of this page in the cloudformation docs

ReplicationConfiguration:
  Role: !GetAtt BucketBackupRole.Arn
  Rules:
    - Destination:
        Bucket: !Sub 'arn:aws:s3:::my-bucket'
        StorageClass: Standard
      Prefix: ''
      Status: ENABLED
      Id: Region2Rep
like image 119
maafk Avatar answered Dec 07 '25 20:12

maafk



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!