class Ufo::Stack::Builder::Resources::SecurityGroup::Ecs

Public Instance Methods

build() click to toggle source
# File lib/ufo/stack/builder/resources/security_group/ecs.rb, line 3
def build
  return unless managed_security_groups?

  {
    Type: "AWS::EC2::SecurityGroup",
    Properties: properties
  }
end
properties() click to toggle source
# File lib/ufo/stack/builder/resources/security_group/ecs.rb, line 12
def properties
  props = {
    GroupDescription: "Allow http to client host",
    VpcId: {Ref: "Vpc"},
    SecurityGroupEgress: [
      {
        IpProtocol: "-1",
        CidrIp: "0.0.0.0/0",
        Description: "outbound traffic"
      }
    ],
    Tags: [
      {
        Key: "Name",
        Value: @stack_name,
      }
    ]
  }

  if @elb_type == "network"
    props[:SecurityGroupIngress] = {
      IpProtocol: "tcp",
      FromPort: @container[:port],
      ToPort: @container[:port],
      CidrIp: "0.0.0.0/0",
      Description: "docker ephemeral port range for network elb",
    }
  end

  props
end