Sha256: 75916785c9b2ee5ccdea48beb5fe9f0f3b49dc5b03788b23e27eb105f0cb6c03

Contents?: true

Size: 678 Bytes

Versions: 21

Compression:

Stored size: 678 Bytes

Contents

class TerraspacePluginAws::Interfaces::Decorator
  class AwsSecurityGroup < Base
    def call
      ingress = @props[:ingress]
      return @props unless ingress

      @props[:ingress] = [ingress] if ingress.is_a?(Hash)

      # expect Array
      ingress_array!
      @props
    end

    # json format requires sending all props
    # see: https://github.com/terraform-providers/terraform-provider-aws/issues/8786
    def ingress_array!
      @props[:ingress].map! do |i|
        i[:cidr_blocks] ||= nil
        i[:ipv6_cidr_blocks] ||= nil
        i[:prefix_list_ids] ||= nil
        i[:security_groups] ||= nil
        i[:self] ||= nil
        i
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
terraspace_plugin_aws-0.6.1 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.6.0 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.5.1 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.5.0 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.4.2 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.4.1 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.4.0 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.3.8 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.3.7 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.3.6 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.3.5 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.3.4 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.3.3 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.3.2 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.3.1 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.3.0 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.2.2 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.2.1 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.2.0 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb
terraspace_plugin_aws-0.1.0 lib/terraspace_plugin_aws/interfaces/decorator/aws_security_group.rb