diff --git a/lib/bukelatta/driver.rb b/lib/bukelatta/driver.rb index 9e72432..cb52103 100644 --- a/lib/bukelatta/driver.rb +++ b/lib/bukelatta/driver.rb @@ -14,8 +14,12 @@ def create_policy(bucket_name, policy) unless @options[:dry_run] bucket = @resource.bucket(bucket_name) - bucket.auto_redirect do |b| - b.policy.put(policy: JSON.dump(policy)) + if bucket.exists? + bucket.auto_redirect do |b| + b.policy.put(policy: JSON.dump(policy)) + end + else + log(:warn, "`#{bucket_name}` does not exists. Skip processing") end end end @@ -26,8 +30,12 @@ def delete_policy(bucket_name) unless @options[:dry_run] bucket = @resource.bucket(bucket_name) - bucket.auto_redirect do |b| - b.policy.delete + if bucket.exists? + bucket.auto_redirect do |b| + b.policy.delete + end + else + log(:warn, "`#{bucket_name}` does not exists. Skip processing") end end end @@ -39,8 +47,12 @@ def update_policy(bucket_name, policy, old_policy) unless @options[:dry_run] bucket = @resource.bucket(bucket_name) - bucket.auto_redirect do |b| - b.policy.put(policy: JSON.dump(policy)) + if bucket.exists? + bucket.auto_redirect do |b| + b.policy.put(policy: JSON.dump(policy)) + end + else + log(:warn, "`#{bucket_name}` does not exists. Skip processing") end end end