#!/bin/bash #-------------------------------------------------------------------------------- # Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance # with the License. A copy of the License is located at # # http://www.apache.org/licenses/LICENSE-2.0 # # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions # and limitations under the License. #--------------------------------------------------------------------------------- set -e if [[ "$DEBUG" == "true" ]]; then set -x fi cwd=$(dirname "$0") root_dir=$(pwd) source $cwd/common-deploy-functions.bash function help_message { cat << EOF NAME package-cfn.bash DESCRIPTION Packages the CDF Core, ready for deployment. MANDATORY ARGUMENTS: -b (string) The name of the S3 bucket to deploy CloudFormation templates into. OPTIONAL ARGUMENTS -R (string) AWS region. -P (string) AWS profile. EOF } while getopts ":b:R:P:" opt; do case $opt in b ) export ARTIFACTS_BUCKET=$OPTARG;; R ) export AWS_REGION=$OPTARG;; P ) export AWS_PROFILE=$OPTARG;; \? ) echo "Unknown option: -$OPTARG" >&2; help_message; exit 1;; : ) echo "Missing option argument for -$OPTARG" >&2; help_message; exit 1;; * ) echo "Unimplemented option: -$OPTARG" >&2; help_message; exit 1;; esac done incorrect_args=$((incorrect_args+$(verifyMandatoryArgument ARTIFACTS_BUCKET b $ARTIFACTS_BUCKET))) if [[ "$incorrect_args" -gt 0 ]]; then help_message; exit 1; fi AWS_ARGS=$(buildAwsArgs "$AWS_REGION" "$AWS_PROFILE" ) cwd=$(dirname "$0") mkdir -p $cwd/build logTitle 'Packaging the aws-connected-device-framework CloudFormation template and uploading to S3' aws cloudformation package \ --template-file $cwd/cfn-cdf-core-parent.yaml \ --output-template-file $cwd/build/cfn-cdf-core-parent-output.yaml \ --s3-bucket $ARTIFACTS_BUCKET \ --s3-prefix packaged-cfn-artifacts \ $AWS_ARGS logTitle 'aws-connected-device-framework packaging complete!'