Home > Mobile >  Unable to add lifecycle policy to s3 bucket using serverless
Unable to add lifecycle policy to s3 bucket using serverless

Time:10-23

I want to add a lifecycle policy to my existing s3 bucket (using serverless) which deletes all the folders inside my s3 bucket.I have written the code in the serverless.yml.When I am trying to deploy my code i am getting -

Additional stack resources updated failed (UPDATE_ROLLBACK_COMPLETE).

so i checked into cloudformation stacks , i am getting message that my bucket already exists -

my_bucket_name already exists

Resource update cancelled

The following resource(s) failed to create: [my_bucket_name]

I am not sure why am i getting this , my s3_bucket code looks like this -

custom:
    additionalStacks:
      ressources:
        Resources:
          MyS3TBucket:
            Type: AWS::S3::Bucket
            Properties:
              BucketName: my_bucket
              LifecycleConfiguration:
                Rules:
                  - Status: Enabled 
                    ExpirationInDays: 30

This is not my entire s3 code but a small part of it which is required in this post. Before adding lifecycle configuration everything was working fine. Any help would be appreciated , Thank you

CodePudding user response:

As the error suggests:

my_bucket_name already exists

The bucket that you want to create already exists. If its yours, you have to delete it before you can re-create it. If not, bucket names must be globally unique. This means that maybe some other AWS user has already created a backed with the same name as yours. In this case you must ensure that the back name is absolutely unique, which is often done by adding some random postfix, e.g.:

MyS3TBucket:
      Type: AWS::S3::Bucket
      Properties:
        BucketName: my_bucket-489d939239dd3
        LifecycleConfiguration:
          Rules:
            - Status: Enabled 
              ExpirationInDays: 30
  • Related