test: send the location constraint when creating buckets outside us-east-1
This commit is contained in:
1 parent
5207fe5e36
commit
9abdd46f7b
2 files changed
+14
-3
No files matched your search
@@ -26,13 +26,17 @@ create_bucket() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
local exit_code=0 error
|
local exit_code=0 error
|
||||||
|
local location_args=()
|
||||||
|
if [ -n "$AWS_REGION" ] && [ "$AWS_REGION" != "us-east-1" ]; then
|
||||||
|
location_args=(--create-bucket-configuration LocationConstraint="$AWS_REGION")
|
||||||
|
fi
|
||||||
if [[ $1 == 's3' ]]; then
|
if [[ $1 == 's3' ]]; then
|
||||||
error=$(send_command aws --no-verify-ssl s3 mb s3://"$2" 2>&1) || exit_code=$?
|
error=$(send_command aws --no-verify-ssl s3 mb s3://"$2" 2>&1) || exit_code=$?
|
||||||
elif [[ $1 == 's3api' ]]; then
|
elif [[ $1 == 's3api' ]]; then
|
||||||
error=$(send_command aws --no-verify-ssl s3api create-bucket --bucket "$2" 2>&1) || exit_code=$?
|
error=$(send_command aws --no-verify-ssl s3api create-bucket --bucket "$2" "${location_args[@]}" 2>&1) || exit_code=$?
|
||||||
elif [[ $1 == "s3cmd" ]]; then
|
elif [[ $1 == "s3cmd" ]]; then
|
||||||
log 5 "s3cmd ${S3CMD_OPTS[*]} --no-check-certificate mb s3://$2"
|
log 5 "s3cmd ${S3CMD_OPTS[*]} --no-check-certificate mb s3://$2"
|
||||||
error=$(send_command s3cmd "${S3CMD_OPTS[@]}" --no-check-certificate mb s3://"$2" 2>&1) || exit_code=$?
|
error=$(send_command s3cmd "${S3CMD_OPTS[@]}" --no-check-certificate mb --region="$AWS_REGION" s3://"$2" 2>&1) || exit_code=$?
|
||||||
elif [[ $1 == "mc" ]]; then
|
elif [[ $1 == "mc" ]]; then
|
||||||
error=$(send_command mc --insecure mb "$MC_ALIAS"/"$2" --region "$AWS_REGION" 2>&1) || exit_code=$?
|
error=$(send_command mc --insecure mb "$MC_ALIAS"/"$2" --region "$AWS_REGION" 2>&1) || exit_code=$?
|
||||||
else
|
else
|
||||||
@@ -101,7 +105,11 @@ create_bucket_object_lock_enabled() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
local exit_code=0
|
local exit_code=0
|
||||||
error=$(send_command aws --no-verify-ssl s3api create-bucket --bucket "$1" 2>&1 --object-lock-enabled-for-bucket 2>&1) || local exit_code=$?
|
local location_args=()
|
||||||
|
if [ -n "$AWS_REGION" ] && [ "$AWS_REGION" != "us-east-1" ]; then
|
||||||
|
location_args=(--create-bucket-configuration LocationConstraint="$AWS_REGION")
|
||||||
|
fi
|
||||||
|
error=$(send_command aws --no-verify-ssl s3api create-bucket --bucket "$1" "${location_args[@]}" 2>&1 --object-lock-enabled-for-bucket 2>&1) || local exit_code=$?
|
||||||
if [ $exit_code -ne 0 ]; then
|
if [ $exit_code -ne 0 ]; then
|
||||||
log 2 "error creating bucket: $error"
|
log 2 "error creating bucket: $error"
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -67,6 +67,9 @@ create_canonical_hash_sts_and_signature
|
|||||||
curl_command+=(curl -ks -w "%{http_code}" -X PUT "$AWS_ENDPOINT_URL/$bucket_name")
|
curl_command+=(curl -ks -w "%{http_code}" -X PUT "$AWS_ENDPOINT_URL/$bucket_name")
|
||||||
curl_command+=(-H "\"Authorization: AWS4-HMAC-SHA256 Credential=$aws_access_key_id/$year_month_day/$aws_region/s3/aws4_request,SignedHeaders=$param_list,Signature=$signature\"")
|
curl_command+=(-H "\"Authorization: AWS4-HMAC-SHA256 Credential=$aws_access_key_id/$year_month_day/$aws_region/s3/aws4_request,SignedHeaders=$param_list,Signature=$signature\"")
|
||||||
curl_command+=("${header_fields[@]}")
|
curl_command+=("${header_fields[@]}")
|
||||||
|
if [ "$aws_region" != "us-east-1" ]; then
|
||||||
|
curl_command+=(-d "\"<CreateBucketConfiguration><LocationConstraint>$aws_region</LocationConstraint></CreateBucketConfiguration>\"")
|
||||||
|
fi
|
||||||
curl_command+=(-o "$OUTPUT_FILE")
|
curl_command+=(-o "$OUTPUT_FILE")
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
eval "${curl_command[*]}" 2>&1
|
eval "${curl_command[*]}" 2>&1
|
||||||
Reference in new issue
Block a user