Lints.
This commit is contained in:
parent
1433f28846
commit
f37bad0e00
260 changed files with 6363 additions and 3766 deletions
|
|
@ -1,187 +1,187 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
template = {
|
||||
"AWSTemplateFormatVersion": "2010-09-09",
|
||||
"Parameters" : {
|
||||
"DatabaseName" : {
|
||||
"Description" : "The name of the first database to be created when the cluster is created",
|
||||
"Type" : "String",
|
||||
"Default" : "dev",
|
||||
"AllowedPattern" : "([a-z]|[0-9])+"
|
||||
},
|
||||
"ClusterType" : {
|
||||
"Description" : "The type of cluster",
|
||||
"Type" : "String",
|
||||
"Default" : "single-node",
|
||||
"AllowedValues" : [ "single-node", "multi-node" ]
|
||||
},
|
||||
"NumberOfNodes" : {
|
||||
"Description" : "The number of compute nodes in the cluster. For multi-node clusters, the NumberOfNodes parameter must be greater than 1",
|
||||
"Type" : "Number",
|
||||
"Default" : "1"
|
||||
},
|
||||
"NodeType" : {
|
||||
"Description" : "The type of node to be provisioned",
|
||||
"Type" : "String",
|
||||
"Default" : "dw1.xlarge",
|
||||
"AllowedValues" : [ "dw1.xlarge", "dw1.8xlarge", "dw2.large", "dw2.8xlarge" ]
|
||||
},
|
||||
"MasterUsername" : {
|
||||
"Description" : "The user name that is associated with the master user account for the cluster that is being created",
|
||||
"Type" : "String",
|
||||
"Default" : "defaultuser",
|
||||
"AllowedPattern" : "([a-z])([a-z]|[0-9])*"
|
||||
},
|
||||
"MasterUserPassword" : {
|
||||
"Description" : "The password that is associated with the master user account for the cluster that is being created.",
|
||||
"Type" : "String",
|
||||
"NoEcho" : "true"
|
||||
},
|
||||
"InboundTraffic" : {
|
||||
"Description" : "Allow inbound traffic to the cluster from this CIDR range.",
|
||||
"Type" : "String",
|
||||
"MinLength": "9",
|
||||
"MaxLength": "18",
|
||||
"Default" : "0.0.0.0/0",
|
||||
"AllowedPattern" : "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})",
|
||||
"ConstraintDescription" : "must be a valid CIDR range of the form x.x.x.x/x."
|
||||
},
|
||||
"PortNumber" : {
|
||||
"Description" : "The port number on which the cluster accepts incoming connections.",
|
||||
"Type" : "Number",
|
||||
"Default" : "5439"
|
||||
}
|
||||
},
|
||||
"Conditions" : {
|
||||
"IsMultiNodeCluster" : {
|
||||
"Fn::Equals" : [{ "Ref" : "ClusterType" }, "multi-node" ]
|
||||
}
|
||||
},
|
||||
"Resources" : {
|
||||
"RedshiftCluster" : {
|
||||
"Type" : "AWS::Redshift::Cluster",
|
||||
"DependsOn" : "AttachGateway",
|
||||
"Properties" : {
|
||||
"ClusterType" : { "Ref" : "ClusterType" },
|
||||
"NumberOfNodes" : { "Fn::If" : [ "IsMultiNodeCluster", { "Ref" : "NumberOfNodes" }, { "Ref" : "AWS::NoValue" }]},
|
||||
"NodeType" : { "Ref" : "NodeType" },
|
||||
"DBName" : { "Ref" : "DatabaseName" },
|
||||
"MasterUsername" : { "Ref" : "MasterUsername" },
|
||||
"MasterUserPassword" : { "Ref" : "MasterUserPassword" },
|
||||
"ClusterParameterGroupName" : { "Ref" : "RedshiftClusterParameterGroup" },
|
||||
"VpcSecurityGroupIds" : [ { "Ref" : "SecurityGroup" } ],
|
||||
"ClusterSubnetGroupName" : { "Ref" : "RedshiftClusterSubnetGroup" },
|
||||
"PubliclyAccessible" : "true",
|
||||
"Port" : { "Ref" : "PortNumber" }
|
||||
}
|
||||
},
|
||||
"RedshiftClusterParameterGroup" : {
|
||||
"Type" : "AWS::Redshift::ClusterParameterGroup",
|
||||
"Properties" : {
|
||||
"Description" : "Cluster parameter group",
|
||||
"ParameterGroupFamily" : "redshift-1.0",
|
||||
"Parameters" : [{
|
||||
"ParameterName" : "enable_user_activity_logging",
|
||||
"ParameterValue" : "true"
|
||||
}]
|
||||
}
|
||||
},
|
||||
"RedshiftClusterSubnetGroup" : {
|
||||
"Type" : "AWS::Redshift::ClusterSubnetGroup",
|
||||
"Properties" : {
|
||||
"Description" : "Cluster subnet group",
|
||||
"SubnetIds" : [ { "Ref" : "PublicSubnet" } ]
|
||||
}
|
||||
},
|
||||
"VPC" : {
|
||||
"Type" : "AWS::EC2::VPC",
|
||||
"Properties" : {
|
||||
"CidrBlock" : "10.0.0.0/16"
|
||||
}
|
||||
},
|
||||
"PublicSubnet" : {
|
||||
"Type" : "AWS::EC2::Subnet",
|
||||
"Properties" : {
|
||||
"CidrBlock" : "10.0.0.0/24",
|
||||
"VpcId" : { "Ref" : "VPC" }
|
||||
}
|
||||
},
|
||||
"SecurityGroup" : {
|
||||
"Type" : "AWS::EC2::SecurityGroup",
|
||||
"Properties" : {
|
||||
"GroupDescription" : "Security group",
|
||||
"SecurityGroupIngress" : [ {
|
||||
"CidrIp" : { "Ref": "InboundTraffic" },
|
||||
"FromPort" : { "Ref" : "PortNumber" },
|
||||
"ToPort" : { "Ref" : "PortNumber" },
|
||||
"IpProtocol" : "tcp"
|
||||
} ],
|
||||
"VpcId" : { "Ref" : "VPC" }
|
||||
}
|
||||
},
|
||||
"myInternetGateway" : {
|
||||
"Type" : "AWS::EC2::InternetGateway"
|
||||
},
|
||||
"AttachGateway" : {
|
||||
"Type" : "AWS::EC2::VPCGatewayAttachment",
|
||||
"Properties" : {
|
||||
"VpcId" : { "Ref" : "VPC" },
|
||||
"InternetGatewayId" : { "Ref" : "myInternetGateway" }
|
||||
}
|
||||
},
|
||||
"PublicRouteTable" : {
|
||||
"Type" : "AWS::EC2::RouteTable",
|
||||
"Properties" : {
|
||||
"VpcId" : {
|
||||
"Ref" : "VPC"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PublicRoute" : {
|
||||
"Type" : "AWS::EC2::Route",
|
||||
"DependsOn" : "AttachGateway",
|
||||
"Properties" : {
|
||||
"RouteTableId" : {
|
||||
"Ref" : "PublicRouteTable"
|
||||
"AWSTemplateFormatVersion": "2010-09-09",
|
||||
"Parameters": {
|
||||
"DatabaseName": {
|
||||
"Description": "The name of the first database to be created when the cluster is created",
|
||||
"Type": "String",
|
||||
"Default": "dev",
|
||||
"AllowedPattern": "([a-z]|[0-9])+"
|
||||
},
|
||||
"DestinationCidrBlock" : "0.0.0.0/0",
|
||||
"GatewayId" : {
|
||||
"Ref" : "myInternetGateway"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PublicSubnetRouteTableAssociation" : {
|
||||
"Type" : "AWS::EC2::SubnetRouteTableAssociation",
|
||||
"Properties" : {
|
||||
"SubnetId" : {
|
||||
"Ref" : "PublicSubnet"
|
||||
"ClusterType": {
|
||||
"Description": "The type of cluster",
|
||||
"Type": "String",
|
||||
"Default": "single-node",
|
||||
"AllowedValues": ["single-node", "multi-node"]
|
||||
},
|
||||
"RouteTableId" : {
|
||||
"Ref" : "PublicRouteTable"
|
||||
"NumberOfNodes": {
|
||||
"Description": "The number of compute nodes in the cluster. For multi-node clusters, the NumberOfNodes parameter must be greater than 1",
|
||||
"Type": "Number",
|
||||
"Default": "1"
|
||||
},
|
||||
"NodeType": {
|
||||
"Description": "The type of node to be provisioned",
|
||||
"Type": "String",
|
||||
"Default": "dw1.xlarge",
|
||||
"AllowedValues": ["dw1.xlarge", "dw1.8xlarge", "dw2.large", "dw2.8xlarge"]
|
||||
},
|
||||
"MasterUsername": {
|
||||
"Description": "The user name that is associated with the master user account for the cluster that is being created",
|
||||
"Type": "String",
|
||||
"Default": "defaultuser",
|
||||
"AllowedPattern": "([a-z])([a-z]|[0-9])*"
|
||||
},
|
||||
"MasterUserPassword": {
|
||||
"Description": "The password that is associated with the master user account for the cluster that is being created.",
|
||||
"Type": "String",
|
||||
"NoEcho": "true"
|
||||
},
|
||||
"InboundTraffic": {
|
||||
"Description": "Allow inbound traffic to the cluster from this CIDR range.",
|
||||
"Type": "String",
|
||||
"MinLength": "9",
|
||||
"MaxLength": "18",
|
||||
"Default": "0.0.0.0/0",
|
||||
"AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})",
|
||||
"ConstraintDescription": "must be a valid CIDR range of the form x.x.x.x/x."
|
||||
},
|
||||
"PortNumber": {
|
||||
"Description": "The port number on which the cluster accepts incoming connections.",
|
||||
"Type": "Number",
|
||||
"Default": "5439"
|
||||
}
|
||||
},
|
||||
"Conditions": {
|
||||
"IsMultiNodeCluster": {
|
||||
"Fn::Equals": [{"Ref": "ClusterType"}, "multi-node"]
|
||||
}
|
||||
},
|
||||
"Resources": {
|
||||
"RedshiftCluster": {
|
||||
"Type": "AWS::Redshift::Cluster",
|
||||
"DependsOn": "AttachGateway",
|
||||
"Properties": {
|
||||
"ClusterType": {"Ref": "ClusterType"},
|
||||
"NumberOfNodes": {"Fn::If": ["IsMultiNodeCluster", {"Ref": "NumberOfNodes"}, {"Ref": "AWS::NoValue"}]},
|
||||
"NodeType": {"Ref": "NodeType"},
|
||||
"DBName": {"Ref": "DatabaseName"},
|
||||
"MasterUsername": {"Ref": "MasterUsername"},
|
||||
"MasterUserPassword": {"Ref": "MasterUserPassword"},
|
||||
"ClusterParameterGroupName": {"Ref": "RedshiftClusterParameterGroup"},
|
||||
"VpcSecurityGroupIds": [{"Ref": "SecurityGroup"}],
|
||||
"ClusterSubnetGroupName": {"Ref": "RedshiftClusterSubnetGroup"},
|
||||
"PubliclyAccessible": "true",
|
||||
"Port": {"Ref": "PortNumber"}
|
||||
}
|
||||
},
|
||||
"RedshiftClusterParameterGroup": {
|
||||
"Type": "AWS::Redshift::ClusterParameterGroup",
|
||||
"Properties": {
|
||||
"Description": "Cluster parameter group",
|
||||
"ParameterGroupFamily": "redshift-1.0",
|
||||
"Parameters": [{
|
||||
"ParameterName": "enable_user_activity_logging",
|
||||
"ParameterValue": "true"
|
||||
}]
|
||||
}
|
||||
},
|
||||
"RedshiftClusterSubnetGroup": {
|
||||
"Type": "AWS::Redshift::ClusterSubnetGroup",
|
||||
"Properties": {
|
||||
"Description": "Cluster subnet group",
|
||||
"SubnetIds": [{"Ref": "PublicSubnet"}]
|
||||
}
|
||||
},
|
||||
"VPC": {
|
||||
"Type": "AWS::EC2::VPC",
|
||||
"Properties": {
|
||||
"CidrBlock": "10.0.0.0/16"
|
||||
}
|
||||
},
|
||||
"PublicSubnet": {
|
||||
"Type": "AWS::EC2::Subnet",
|
||||
"Properties": {
|
||||
"CidrBlock": "10.0.0.0/24",
|
||||
"VpcId": {"Ref": "VPC"}
|
||||
}
|
||||
},
|
||||
"SecurityGroup": {
|
||||
"Type": "AWS::EC2::SecurityGroup",
|
||||
"Properties": {
|
||||
"GroupDescription": "Security group",
|
||||
"SecurityGroupIngress": [{
|
||||
"CidrIp": {"Ref": "InboundTraffic"},
|
||||
"FromPort": {"Ref": "PortNumber"},
|
||||
"ToPort": {"Ref": "PortNumber"},
|
||||
"IpProtocol": "tcp"
|
||||
}],
|
||||
"VpcId": {"Ref": "VPC"}
|
||||
}
|
||||
},
|
||||
"myInternetGateway": {
|
||||
"Type": "AWS::EC2::InternetGateway"
|
||||
},
|
||||
"AttachGateway": {
|
||||
"Type": "AWS::EC2::VPCGatewayAttachment",
|
||||
"Properties": {
|
||||
"VpcId": {"Ref": "VPC"},
|
||||
"InternetGatewayId": {"Ref": "myInternetGateway"}
|
||||
}
|
||||
},
|
||||
"PublicRouteTable": {
|
||||
"Type": "AWS::EC2::RouteTable",
|
||||
"Properties": {
|
||||
"VpcId": {
|
||||
"Ref": "VPC"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PublicRoute": {
|
||||
"Type": "AWS::EC2::Route",
|
||||
"DependsOn": "AttachGateway",
|
||||
"Properties": {
|
||||
"RouteTableId": {
|
||||
"Ref": "PublicRouteTable"
|
||||
},
|
||||
"DestinationCidrBlock": "0.0.0.0/0",
|
||||
"GatewayId": {
|
||||
"Ref": "myInternetGateway"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PublicSubnetRouteTableAssociation": {
|
||||
"Type": "AWS::EC2::SubnetRouteTableAssociation",
|
||||
"Properties": {
|
||||
"SubnetId": {
|
||||
"Ref": "PublicSubnet"
|
||||
},
|
||||
"RouteTableId": {
|
||||
"Ref": "PublicRouteTable"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Outputs": {
|
||||
"ClusterEndpoint": {
|
||||
"Description": "Cluster endpoint",
|
||||
"Value": {"Fn::Join": [":", [{"Fn::GetAtt": ["RedshiftCluster", "Endpoint.Address"]}, {"Fn::GetAtt": ["RedshiftCluster", "Endpoint.Port"]}]]}
|
||||
},
|
||||
"ClusterName": {
|
||||
"Description": "Name of cluster",
|
||||
"Value": {"Ref": "RedshiftCluster"}
|
||||
},
|
||||
"ParameterGroupName": {
|
||||
"Description": "Name of parameter group",
|
||||
"Value": {"Ref": "RedshiftClusterParameterGroup"}
|
||||
},
|
||||
"RedshiftClusterSubnetGroupName": {
|
||||
"Description": "Name of cluster subnet group",
|
||||
"Value": {"Ref": "RedshiftClusterSubnetGroup"}
|
||||
},
|
||||
"RedshiftClusterSecurityGroupName": {
|
||||
"Description": "Name of cluster security group",
|
||||
"Value": {"Ref": "SecurityGroup"}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Outputs" : {
|
||||
"ClusterEndpoint" : {
|
||||
"Description" : "Cluster endpoint",
|
||||
"Value" : { "Fn::Join" : [ ":", [ { "Fn::GetAtt" : [ "RedshiftCluster", "Endpoint.Address" ] }, { "Fn::GetAtt" : [ "RedshiftCluster", "Endpoint.Port" ] } ] ] }
|
||||
},
|
||||
"ClusterName" : {
|
||||
"Description" : "Name of cluster",
|
||||
"Value" : { "Ref" : "RedshiftCluster" }
|
||||
},
|
||||
"ParameterGroupName" : {
|
||||
"Description" : "Name of parameter group",
|
||||
"Value" : { "Ref" : "RedshiftClusterParameterGroup" }
|
||||
},
|
||||
"RedshiftClusterSubnetGroupName" : {
|
||||
"Description" : "Name of cluster subnet group",
|
||||
"Value" : { "Ref" : "RedshiftClusterSubnetGroup" }
|
||||
},
|
||||
"RedshiftClusterSecurityGroupName" : {
|
||||
"Description" : "Name of cluster security group",
|
||||
"Value" : { "Ref" : "SecurityGroup" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue