Sha256: c21bb9d9f434045fe68a2db148f6d189f73c275ecd556ec661f491a2675c9521
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
#!/usr/bin/env ruby # frozen_string_literal: true require "bundler/setup" require "aws_as_code" require "thor" require "cfndsl" require "ostruct" DEFAULT_RUBY_DIR = "cfn".freeze DEFAULT_JSON_DIR = "cfn-compiled".freeze DEFAULT_STACK = "master".freeze DEFAULT_TEMPLATE = "environment".freeze # Main CLI application for aws-as-code gem class AwsAsCodeCli < Thor class_option :ruby_dir, default: DEFAULT_RUBY_DIR class_option :json_dir, default: DEFAULT_JSON_DIR class_option :bucket, required: true class_option :template, default: DEFAULT_TEMPLATE class_option :stack, default: DEFAULT_STACK desc "compile", "compile cfndsl to CF JSON" def compile AwsAsCode::Task::Compile.new(config).execute end desc "upload", "upload compiled data to S3 bucket" def upload AwsAsCode::Task::Upload.new(config).execute end desc "do-create", "create a new stack" def do_create AwsAsCode::Task::Create.new(config).execute end desc "do-update", "update existing stack" def do_update AwsAsCode::Task::Update.new(config).execute end desc "create", "create a new stack" def create invoke :compile invoke :upload invoke :do_create end desc "update", "update existing stack" def update invoke :compile invoke :upload invoke :do_update end private def config @config ||= OpenStruct.new options end end AwsAsCodeCli.start(ARGV)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aws_as_code-1.0.1 | exe/aws-as-code |