MCPcopy Index your code
hub / github.com/cortexlabs/cortex / createS3BucketIfNotFound

Function createS3BucketIfNotFound

cli/cmd/cluster.go:1253–1289  ·  view source on GitHub ↗
(awsClient *awslib.Client, bucket string, tags map[string]string)

Source from the content-addressed store, hash-verified

1251}
1252
1253func 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
1291func setLifecycleRulesOnClusterUp(awsClient *awslib.Client, bucket, newClusterUID string) error {
1292 err := awsClient.DeleteLifecycleRules(bucket)

Callers 1

cluster.goFile · 0.85

Calls 5

DoesBucketExistMethod · 0.80
CreateBucketMethod · 0.80
TagBucketMethod · 0.80
PrintMethod · 0.45

Tested by

no test coverage detected