Sha256: 97890b225f7298d72190eb2c4f56b53db6332d2c33b03a0dec9aa8690de68485

Contents?: true

Size: 1.17 KB

Versions: 36

Compression:

Stored size: 1.17 KB

Contents

require_relative '../resource_attribute'

module Convection
  module Model
    class Template
      class ResourceAttribute
        # Represents {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html}
        class UpdatePolicy < ResourceAttribute
          @pause = 'PT5M'
          @min_in_service = 0
          @max_batch = 1

          def pause_time(val)
            @pause = val
          end

          def min_instances_in_service(val)
            @min_in_service = val
          end

          def max_batch_size(val)
            @max_batch = val
          end

          def render(resource)
            resource.tap do |r|
              r['UpdatePolicy'] = {
                'AutoScalingScheduledAction' => {
                  'IgnoreUnmodifiedGroupSizeProperties' => true
                },
                'AutoScalingRollingUpdate' => {
                  'MinInstancesInService' => @min_in_service,
                  'MaxBatchSize' => @max_batch,
                  'WaitOnResourceSignals' => false,
                  'PauseTime' => @pause
                }
              }
            end
          end
        end
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
convection-1.1.0 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.7 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.6 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.5 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.4 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.3 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.2 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.1 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.0.pre.beta.10 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.0.pre.beta.9 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.0.pre.beta.8 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.0.pre.beta.7 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.0.pre.beta.6 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.0.pre.beta.4 lib/convection/model/template/resource_attribute/update_policy.rb
convection-1.0.0.pre.beta.1 lib/convection/model/template/resource_attribute/update_policy.rb
convection-0.4.3 lib/convection/model/template/resource_attribute/update_policy.rb
convection-0.4.2 lib/convection/model/template/resource_attribute/update_policy.rb
convection-0.4.1 lib/convection/model/template/resource_attribute/update_policy.rb
convection-0.4.0 lib/convection/model/template/resource_attribute/update_policy.rb
convection-0.3.3.pre.beta.1 lib/convection/model/template/resource_attribute/update_policy.rb