Top Level Namespace

Defined Under Namespace

Classes: SparkleFormation

Constant Summary collapse

SfnAws =

Shortcut helper constant

SparkleFormation::Aws
SfnCache =
SparkleFormation::Cache
SfnRegistry =
SparkleFormation::Registry.init!
AWS_RESOURCES =
{"AWS::IAM::InstanceProfile"=>
  {:properties=>["Path", "Roles"],
:path=>"aws-resource-iam-instanceprofile.html"},
  "AWS::EC2::EIP"=>
  {:properties=>["InstanceId", "Domain"],
:path=>"aws-properties-ec2-eip.html"},
  "AWS::IAM::Group"=>
  {:properties=>["Path", "Policies"], :path=>"aws-properties-iam-group.html"},
  "AWS::EC2::NetworkInterface"=>
  {:properties=>
["Description",
  "GroupSet",
  "PrivateIpAddress",
  "PrivateIpAddresses",
  "SecondaryPrivateIpAddressCount",
  "SourceDestCheck",
  "SubnetId",
  "Tags"],
:path=>"aws-resource-ec2-network-interface.html"},
  "AWS::CloudFormation::Stack"=>
  {:properties=>["TemplateURL", "TimeoutInMinutes", "Parameters"],
:path=>"aws-properties-stack.html"},
  "AWS::SDB::Domain"=>{:properties=>[], :path=>"aws-properties-simpledb.html"},
  "AWS::IAM::AccessKey"=>
  {:properties=>["Serial", "Status", "UserName"],
:path=>"aws-properties-iam-accesskey.html"},
  "AWS::EC2::DHCPOptions"=>
  {:properties=>
["DomainName",
  "DomainNameServers",
  "NetbiosNameServers",
  "NetbiosNodeType",
  "NtpServers",
  "Tags"],
:path=>"aws-resource-ec2-dhcp-options.html"},
  "AWS::EC2::SubnetRouteTableAssociation"=>
  {:properties=>["RouteTableId", "SubnetId"],
:path=>"aws-resource-ec2-subnet-route-table-assoc.html"},
  "AWS::IAM::Policy"=>
  {:properties=>["Groups", "PolicyDocument", "PolicyName", "Roles", "Users"],
:path=>"aws-properties-iam-policy.html"},
  "AWS::CloudFront::Distribution"=>
  {:properties=>["DistributionConfig"],
:path=>"aws-properties-cloudfront-distribution.html"},
  "AWS::RDS::DBSubnetGroup"=>
  {:properties=>["DBSubnetGroupDescription", "SubnetIds", "Tags"],
:path=>"aws-resource-rds-dbsubnet-group.html"},
  "AWS::EC2::CustomerGateway"=>
  {:properties=>["BgpAsn", "IpAddress", "Tags", "Type"],
:path=>"aws-resource-ec2-customer-gateway.html"},
  "AWS::EC2::NetworkInterfaceAttachment"=>
  {:properties=>
["DeleteOnTermination", "DeviceIndex", "InstanceId", "NetworkInterfaceId"],
:path=>"aws-resource-ec2-network-interface-attachment.html"},
  "AWS::S3::Bucket"=>
  {:properties=>
["AccessControl", "BucketName", "Tags", "WebsiteConfiguration"],
:path=>"aws-properties-s3-bucket.html"},
  "AWS::Route53::RecordSet"=>
  {:properties=>
["AliasTarget",
  "Comment",
  "HostedZoneId",
  "HostedZoneName",
  "Name",
  "Region",
  "ResourceRecords",
  "SetIdentifier",
  "TTL",
  "Type",
  "Weight"],
:path=>"aws-properties-route53-recordset.html"},
  "AWS::CloudFormation::WaitCondition"=>
  {:properties=>["Count", "Handle", "Timeout"],
:path=>"aws-properties-waitcondition.html"},
  "AWS::EC2::Volume"=>
  {:properties=>
["AvailabilityZone", "Iops", "Size", "SnapshotId", "Tags", "VolumeType"],
:path=>"aws-properties-ec2-ebs-volume.html"},
  "AWS::IAM::User"=>
  {:properties=>["Path", "Groups", "LoginProfile", "Policies"],
:path=>"aws-properties-iam-user.html"},
  "AWS::ElastiCache::SecurityGroupIngress"=>
  {:properties=>
["CacheSecurityGroupName",
  "EC2SecurityGroupName",
  "EC2SecurityGroupOwnerId"],
:path=>"aws-properties-elasticache-security-group-ingress.html"},
  "AWS::EC2::SecurityGroup"=>
  {:properties=>
["GroupDescription",
  "SecurityGroupEgress",
  "SecurityGroupIngress",
  "Tags",
  "VpcId"],
:path=>"aws-properties-ec2-security-group.html"},
  "AWS::Route53::RecordSetGroup"=>
  {:properties=>["HostedZoneId", "HostedZoneName", "RecordSets", "Comment"],
:path=>"aws-properties-route53-recordsetgroup.html"},
  "AWS::RDS::DBParameterGroup"=>
  {:properties=>["Description", "Family", "Parameters", "Tags"],
:path=>"aws-properties-rds-dbparametergroup.html"},
  "AWS::DynamoDB::Table"=>
  {:properties=>["KeySchema", "ProvisionedThroughput", "TableName"],
:path=>"aws-resource-dynamodb-table.html"},
  "AWS::EC2::VolumeAttachment"=>
  {:properties=>["Device", "InstanceId", "VolumeId"],
:path=>"aws-properties-ec2-ebs-volumeattachment.html"},
  "AWS::EC2::NetworkAcl"=>
  {:properties=>["Tags", "VpcId"], :path=>"aws-resource-ec2-network-acl.html"},
  "AWS::ElastiCache::ParameterGroup"=>
  {:properties=>["CacheParameterGroupFamily", "Description", "Properties"],
:path=>"aws-properties-elasticache-parameter-group.html"},
  "AWS::EC2::SubnetNetworkAclAssociation"=>
  {:properties=>["SubnetId", "NetworkAclId"],
:path=>"aws-resource-ec2-subnet-network-acl-assoc.html"},
  "AWS::ElastiCache::SecurityGroup"=>
  {:properties=>["Description"],
:path=>"aws-properties-elasticache-security-group.html"},
  "AWS::EC2::VPCDHCPOptionsAssociation"=>
  {:properties=>["DhcpOptionsId", "VpcId"],
:path=>"aws-resource-ec2-vpc-dhcp-options-assoc.html"},
  "AWS::EC2::VPNGateway"=>
  {:properties=>["Type", "Tags"], :path=>"aws-resource-ec2-vpn-gateway.html"},
  "AWS::RDS::DBSecurityGroup"=>
  {:properties=>
["EC2VpcId", "DBSecurityGroupIngress", "GroupDescription", "Tags"],
:path=>"aws-properties-rds-security-group.html"},
  "AWS::EC2::VPCGatewayAttachment"=>
  {:properties=>["InternetGatewayId", "VpcId", "VpnGatewayId"],
:path=>"aws-resource-ec2-vpc-gateway-attachment.html"},
  "AWS::EC2::VPNConnectionRoute"=>
  {:properties=>["DestinationCidrBlock", "VpnConnectionId"],
:path=>"aws-resource-ec2-vpn-connection-route.html"},
  "AWS::CloudFormation::CustomResource"=>
  {:properties=>["ServiceToken"],
:path=>"aws-resource-cfn-customresource.html"},
  "AWS::CloudFormation::Init"=>
  {:properties=>
["command",
  "env",
  "cwd",
  "test",
  "ignoreErrors",
  "waitAfterCompletion",
  "content",
  "source",
  "encoding",
  "group",
  "owner",
  "mode",
  "authentication",
  "context",
  "gid",
  "ensureRunning",
  "enabled",
  "files",
  "sources",
  "packages",
  "commands",
  "uid",
  "groups",
  "homeDir"],
:path=>"aws-resource-init.html"},
  "AWS::EC2::Instance"=>
  {:properties=>
["AvailabilityZone",
  "BlockDeviceMappings",
  "DisableApiTermination",
  "EbsOptimized",
  "IamInstanceProfile",
  "ImageId",
  "InstanceType",
  "KernelId",
  "KeyName",
  "Monitoring",
  "NetworkInterfaces",
  "PlacementGroupName",
  "PrivateIpAddress",
  "RamdiskId",
  "SecurityGroupIds",
  "SecurityGroups",
  "SourceDestCheck",
  "SubnetId",
  "Tags",
  "Tenancy",
  "UserData",
  "Volumes"],
:path=>"aws-properties-ec2-instance.html"},
  "AWS::S3::BucketPolicy"=>
  {:properties=>["PolicyDocument", "Bucket"],
:path=>"aws-properties-s3-policy.html"},
  "AWS::CloudWatch::Alarm"=>
  {:properties=>
["ActionsEnabled",
  "AlarmActions",
  "AlarmDescription",
  "AlarmName",
  "ComparisonOperator",
  "Dimensions",
  "EvaluationPeriods",
  "InsufficientDataActions",
  "MetricName",
  "Namespace",
  "OKActions",
  "Period",
  "Statistic",
  "Threshold",
  "Unit",
  "Ref"],
:path=>"aws-properties-cw-alarm.html"},
  "AWS::EC2::SecurityGroupEgress"=>
  {:properties=>
["CidrIp",
  "DestinationSecurityGroupId",
  "FromPort",
  "GroupId",
  "IpProtocol",
  "ToPort"],
:path=>"aws-resource-ec2-security-group-egress.html"},
  "AWS::ElasticBeanstalk::Environment"=>
  {:properties=>
["ApplicationName",
  "CNAMEPrefix",
  "Description",
  "EnvironmentName",
  "OptionSettings",
  "OptionsToRemove",
  "SolutionStackName",
  "TemplateName",
  "Tier",
  "VersionLabel"],
:path=>"aws-properties-beanstalk-environment.html"},
  "AWS::ElasticLoadBalancing::LoadBalancer"=>
  {:properties=>
["AppCookieStickinessPolicy",
  "AvailabilityZones",
  "CrossZone",
  "HealthCheck",
  "Instances",
  "LBCookieStickinessPolicy",
  "LoadBalancerName",
  "Listeners",
  "Policies",
  "Scheme",
  "SecurityGroups",
  "Subnets"],
:path=>"aws-properties-ec2-elb.html"},
  "AWS::EC2::Route"=>
  {:properties=>
["DestinationCidrBlock",
  "GatewayId",
  "InstanceId",
  "NetworkInterfaceId",
  "RouteTableId"],
:path=>"aws-resource-ec2-route.html"},
  "AWS::EC2::EIPAssociation"=>
  {:properties=>
["AllocationId",
  "EIP",
  "InstanceId",
  "NetworkInterfaceId",
  "PrivateIpAddress"],
:path=>"aws-properties-ec2-eip-association.html"},
  "AWS::SQS::QueuePolicy"=>
  {:properties=>["PolicyDocument", "Queues"],
:path=>"aws-properties-sqs-policy.html"},
  "AWS::EC2::NetworkAclEntry"=>
  {:properties=>
["CidrBlock",
  "Egress",
  "Icmp",
  "NetworkAclId",
  "PortRange",
  "Protocol",
  "RuleAction",
  "RuleNumber"],
:path=>"aws-resource-ec2-network-acl-entry.html"},
  "AWS::ElastiCache::CacheCluster"=>
  {:properties=>
["AutoMinorVersionUpgrade",
  "CacheNodeType",
  "CacheParameterGroupName",
  "CacheSecurityGroupNames",
  "CacheSubnetGroupName",
  "ClusterName",
  "Engine",
  "EngineVersion",
  "NotificationTopicArn",
  "NumCacheNodes",
  "Port",
  "PreferredAvailabilityZone",
  "PreferredMaintenanceWindow",
  "SnapshotArns",
  " VpcSecurityGroupIds "],
:path=>"aws-properties-elasticache-cache-cluster.html"},
  "AWS::CloudFormation::WaitConditionHandle"=>
  {:properties=>[], :path=>"aws-properties-waitconditionhandle.html"},
  "AWS::EC2::VPC"=>
  {:properties=>
["CidrBlock",
  "EnableDnsSupport",
  "EnableDnsHostnames",
  "InstanceTenancy",
  "Tags"],
:path=>"aws-resource-ec2-vpc.html"},
  "AWS::EC2::VPNConnection"=>
  {:properties=>
["Type", "CustomerGatewayId", "StaticRoutesOnly", "Tags", "VpnGatewayId"],
:path=>"aws-resource-ec2-vpn-connection.html"},
  "AWS::ElasticBeanstalk::Application"=>
  {:properties=>
["ApplicationName",
  "ApplicationVersions",
  "ConfigurationTemplates",
  "Description"],
:path=>"aws-properties-beanstalk.html"},
  "AWS::SNS::TopicPolicy"=>
  {:properties=>["PolicyDocument", "Topics"],
:path=>"aws-properties-sns-policy.html"},
  "AWS::EC2::Subnet"=>
  {:properties=>["AvailabilityZone", "CidrBlock", "Tags", "VpcId"],
:path=>"aws-resource-ec2-subnet.html"},
  "AWS::AutoScaling::ScalingPolicy"=>
  {:properties=>
["AdjustmentType",
  "AutoScalingGroupName",
  "Cooldown",
  "ScalingAdjustment"],
:path=>"aws-properties-as-policy.html"},
  "AWS::SQS::Queue"=>
  {:properties=>
["DelaySeconds",
  "MaximumMessageSize",
  "MessageRetentionPeriod",
  "QueueName",
  "ReceiveMessageWaitTimeSeconds",
  "VisibilityTimeout"],
:path=>"aws-properties-sqs-queues.html"},
  "AWS::AutoScaling::Trigger"=>
  {:properties=>
["AutoScalingGroupName",
  "BreachDuration",
  "Dimensions",
  "LowerBreachScaleIncrement",
  "LowerThreshold",
  "MetricName",
  "Namespace",
  "Period",
  "Statistic",
  "Unit",
  "UpperBreachScaleIncrement",
  "UpperThreshold"],
:path=>"aws-properties-as-trigger.html"},
  "AWS::IAM::UserToGroupAddition"=>
  {:properties=>["GroupName", "Users"],
:path=>"aws-properties-iam-addusertogroup.html"},
  "AWS::EC2::SecurityGroupIngress"=>
  {:properties=>
["GroupName",
  "GroupId",
  "IpProtocol",
  "CidrIp",
  "SourceSecurityGroupName",
  "SourceSecurityGroupId",
  "SourceSecurityGroupOwnerId",
  "FromPort",
  "ToPort"],
:path=>"aws-properties-ec2-security-group-ingress.html"},
  "AWS::IAM::Role"=>
  {:properties=>["AssumeRolePolicyDocument", "Path", "Policies"],
:path=>"aws-resource-iam-role.html"},
  "AWS::EC2::VPNGatewayRoutePropagation"=>
  {:properties=>["RouteTableIds", "VpnGatewayId"],
:path=>"aws-resource-ec2-vpn-gatewayrouteprop.html"},
  "AWS::AutoScaling::AutoScalingGroup"=>
  {:properties=>
["AvailabilityZones",
  "Cooldown",
  "DesiredCapacity",
  "HealthCheckGracePeriod",
  "HealthCheckType",
  "LaunchConfigurationName",
  "LoadBalancerNames",
  "MaxSize",
  "MinSize",
  "NotificationConfiguration",
  "Tags",
  "TerminationPolicies",
  "VPCZoneIdentifier"],
:path=>"aws-properties-as-group.html"},
  "AWS::RDS::DBSecurityGroupIngress"=>
  {:properties=>
["CIDRIP",
  "DBSecurityGroupName",
  "EC2SecurityGroupId",
  "EC2SecurityGroupName",
  "EC2SecurityGroupOwnerId"],
:path=>"aws-resource-rds-security-group-ingress.html"},
  "AWS::RDS::DBInstance"=>
  {:properties=>
["AllocatedStorage",
  "AllowMajorVersionUpgrade",
  "AutoMinorVersionUpgrade",
  "AvailabilityZone",
  "BackupRetentionPeriod",
  "DBInstanceClass",
  "DBInstanceIdentifier",
  "DBName",
  "DBParameterGroupName",
  "DBSecurityGroups",
  "DBSnapshotIdentifier",
  "DBSubnetGroupName",
  "Engine",
  "EngineVersion",
  "Iops",
  "LicenseModel",
  "MasterUsername",
  "MasterUserPassword",
  "MultiAZ",
  "Port",
  "PreferredBackupWindow",
  "PreferredMaintenanceWindow",
  "SourceDBInstanceIdentifier",
  "Tags",
  "VPCSecurityGroups"],
:path=>"aws-properties-rds-database-instance.html"},
  "AWS::EC2::InternetGateway"=>
  {:properties=>["Tags"], :path=>"aws-resource-ec2-internet-gateway.html"},
  "AWS::EC2::RouteTable"=>
  {:properties=>["VpcId", "Tags"], :path=>"aws-resource-ec2-route-table.html"},
  "AWS::AutoScaling::LaunchConfiguration"=>
  {:properties=>
["AssociatePublicIpAddress",
  "BlockDeviceMappings",
  "EbsOptimized",
  "IamInstanceProfile",
  "ImageId",
  "InstanceMonitoring",
  "InstanceType",
  "KernelId",
  "KeyName",
  "RamDiskId",
  "SecurityGroups",
  "SpotPrice",
  "UserData"],
:path=>"aws-properties-as-launchconfig.html"},
  "AWS::SNS::Topic"=>
  {:properties=>["DisplayName", "Subscription", "TopicName"],
:path=>"aws-properties-sns-topic.html"},
  "AWS::CloudFormation::Authentication"=>
  {:properties=>
["accessKeyId",
  "buckets",
  "password",
  "secretKey",
  "type",
  "uris",
  "username",
  "roleName"],
:path=>"aws-resource-authentication.html"}}