ToPort: CidrIp: 0.0.0.0/0 #outbound SecurityGroupEgress: - IpProtocol: tcp FromPort: ToPort: CidrIp: 0.0.0.0/0 Tags: - Key: Name Value: !Sub ${EnvironmentName}-sg Outputs: SecurityGroup: Description: "Security Group" Value: !Ref SecurityGroup Export: Name: "Fn::Sub": "${AWS::StackName}-sg""> ToPort: CidrIp: 0.0.0.0/0 #outbound SecurityGroupEgress: - IpProtocol: tcp FromPort: ToPort: CidrIp: 0.0.0.0/0 Tags: - Key: Name Value: !Sub ${EnvironmentName}-sg Outputs: SecurityGroup: Description: "Security Group" Value: !Ref SecurityGroup Export: Name: "Fn::Sub": "${AWS::StackName}-sg""> ToPort: CidrIp: 0.0.0.0/0 #outbound SecurityGroupEgress: - IpProtocol: tcp FromPort: ToPort: CidrIp: 0.0.0.0/0 Tags: - Key: Name Value: !Sub ${EnvironmentName}-sg Outputs: SecurityGroup: Description: "Security Group" Value: !Ref SecurityGroup Export: Name: "Fn::Sub": "${AWS::StackName}-sg"">
Parameters:
  EnvironmentName:
    Description: An environment name that is prefixed to resource names
    Type: String
    Default: "wsi"

  SecurityGroupDescription:
    Description: Security Group Description
    Type: String
    Default: "sg"

Resources:
  SecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: !Ref SecurityGroupDescription
      VpcId: !Ref VPC
      #inbound
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: <port>
          ToPort: <port>
          CidrIp: 0.0.0.0/0
      #outbound
      SecurityGroupEgress:
        - IpProtocol: tcp
          FromPort: <port>
          ToPort: <port>
          CidrIp: 0.0.0.0/0
      Tags:
        - Key: Name
          Value: !Sub ${EnvironmentName}-sg

Outputs:
  SecurityGroup:
    Description: "Security Group"
    Value: !Ref SecurityGroup
    Export:
      Name:
        "Fn::Sub": "${AWS::StackName}-sg"