def create(options = {})
      options = options.dup
      options[:stack_name] = stack.name
      options[:change_set_name] = name
      options[:change_set_type] = stack.exists? ? "UPDATE" : "CREATE"
      force = options.delete(:force)
      options[:template_body] = MultiJson.dump(options.delete(:template)) if options[:template]
      options[:parameters] = Parameters.new(options[:parameters]).to_a if options[:parameters]
      options[:tags] = normalize_tags(options[:tags]) if options[:tags]
      options[:capabilities] ||= ["CAPABILITY_NAMED_IAM"]
      delete if force
      handling_cf_errors do
        cf_client.create_change_set(options)
        loop do
          current = describe
          logger.debug("change_set_status=#{current.status}")
          case current.status
          when /COMPLETE/
            return current.status
          when "FAILED"
            logger.error(current.status_reason)
            raise StackUpdateError, "change-set creation failed" if status == "FAILED"
          end
          sleep(wait_poll_interval)
        end
        status
      end
    end
def create(options = {})
      options = options.dup
      options[:stack_name] = stack.name
      options[:change_set_name] = name
      options[:change_set_type] = stack.exists? ? "UPDATE" : "CREATE"
      force = options.delete(:force)
      options[:template_body] = MultiJson.dump(options.delete(:template)) if options[:template]
      options[:parameters] = Parameters.new(options[:parameters]).to_a if options[:parameters]
      options[:tags] = normalize_tags(options[:tags]) if options[:tags]
      options[:capabilities] ||= ["CAPABILITY_NAMED_IAM"]
      delete if force
      handling_cf_errors do
        cf_client.create_change_set(options)
        loop do
          current = describe
          logger.debug("change_set_status=#{current.status}")
          case current.status
          when /COMPLETE/
            return current.status
          when "FAILED"
            logger.error(current.status_reason)
            raise StackUpdateError, "change-set creation failed" if status == "FAILED"
          end
          sleep(wait_poll_interval)
        end
        status
      end
    end
Create the change-set.

 Refer +Aws::CloudFormation::Client#create_change_set+
   (see http://docs.aws.amazon.com/sdkforruby/api/Aws/CloudFormation/Client.html#create_change_set-instance_method)

 @param [Hash] options change-set options
 @option options [Array<String>] :capabilities (CAPABILITY_NAMED_IAM)
   list of capabilities required for stack template
 @option options [String] :description
   change-set description
 @option options [String] :notification_arns
   ARNs for the Amazon SNS topics associated with this stack
 @option options [Hash, Array<Hash>] :parameters
   stack parameters, either as a Hash, or an Array of
   +Aws::CloudFormation::Types::Parameter+ structures
 @option options [Hash, Array<Hash>] :tags
   stack tags, either as a Hash, or an Array of
   +Aws::CloudFormation::Types::Tag+ structures
 @option options [Array<String>] :resource_types
   resource types that you have permissions to work with
 @option options [Hash] :template
   stack template, as Ruby data
 @option options [String] :template_body
   stack template, as JSON or YAML
 @option options [String] :template_url
   location of stack template
 @option options [boolean] :use_previous_template
   if true, reuse the existing template
 @option options [boolean] :force
   if true, delete any existing change-set of the same name

 @return [String] change-set id
 @raise [Stackup::NoSuchStack] if the stack doesn't exist