(awsClient *awslib.Client, bucket string, tags map[string]string)
| 1251 | } |
| 1252 | |
| 1253 | func createS3BucketIfNotFound(awsClient *awslib.Client, bucket string, tags map[string]string) error { |
| 1254 | bucketFound, err := awsClient.DoesBucketExist(bucket) |
| 1255 | if err != nil { |
| 1256 | return err |
| 1257 | } |
| 1258 | if !bucketFound { |
| 1259 | fmt.Print("○ creating a new s3 bucket: ", bucket) |
| 1260 | err = awsClient.CreateBucket(bucket) |
| 1261 | if err != nil { |
| 1262 | fmt.Print("\n\n") |
| 1263 | return err |
| 1264 | } |
| 1265 | err = awsClient.EnableBucketEncryption(bucket) |
| 1266 | if err != nil { |
| 1267 | fmt.Print("\n\n") |
| 1268 | return err |
| 1269 | } |
| 1270 | } else { |
| 1271 | fmt.Print("○ using existing s3 bucket: ", bucket) |
| 1272 | } |
| 1273 | |
| 1274 | // retry since it's possible that it takes some time for the new bucket to be registered by AWS |
| 1275 | for i := 0; i < 10; i++ { |
| 1276 | err = awsClient.TagBucket(bucket, tags) |
| 1277 | if err == nil { |
| 1278 | fmt.Println(" ✓") |
| 1279 | return nil |
| 1280 | } |
| 1281 | if !awslib.IsNoSuchBucketErr(err) { |
| 1282 | break |
| 1283 | } |
| 1284 | time.Sleep(1 * time.Second) |
| 1285 | } |
| 1286 | |
| 1287 | fmt.Print("\n\n") |
| 1288 | return err |
| 1289 | } |
| 1290 | |
| 1291 | func setLifecycleRulesOnClusterUp(awsClient *awslib.Client, bucket, newClusterUID string) error { |
| 1292 | err := awsClient.DeleteLifecycleRules(bucket) |
no test coverage detected