skywriter 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +8 -0
  5. data/CHANGES.md +5 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.md +22 -0
  8. data/README.md +139 -0
  9. data/Rakefile +7 -0
  10. data/lib/skywriter/function.rb +133 -0
  11. data/lib/skywriter/resource/auto_scaling/auto_scaling_group.rb +28 -0
  12. data/lib/skywriter/resource/auto_scaling/launch_configuration.rb +28 -0
  13. data/lib/skywriter/resource/auto_scaling/scaling_policy.rb +18 -0
  14. data/lib/skywriter/resource/auto_scaling/scheduled_action.rb +21 -0
  15. data/lib/skywriter/resource/auto_scaling/trigger.rb +26 -0
  16. data/lib/skywriter/resource/cloud_formation/authentication.rb +46 -0
  17. data/lib/skywriter/resource/cloud_formation/custom_resource.rb +17 -0
  18. data/lib/skywriter/resource/cloud_formation/stack.rb +15 -0
  19. data/lib/skywriter/resource/cloud_formation/wait_condition.rb +15 -0
  20. data/lib/skywriter/resource/cloud_formation/wait_condition_handle.rb +12 -0
  21. data/lib/skywriter/resource/cloud_front/distribution.rb +13 -0
  22. data/lib/skywriter/resource/cloud_watch/alarm.rb +27 -0
  23. data/lib/skywriter/resource/dynamo_db/table.rb +18 -0
  24. data/lib/skywriter/resource/ec2/customer_gateway.rb +16 -0
  25. data/lib/skywriter/resource/ec2/dhcp_options.rb +18 -0
  26. data/lib/skywriter/resource/ec2/eip.rb +14 -0
  27. data/lib/skywriter/resource/ec2/eip_association.rb +17 -0
  28. data/lib/skywriter/resource/ec2/instance.rb +34 -0
  29. data/lib/skywriter/resource/ec2/internet_gateway.rb +13 -0
  30. data/lib/skywriter/resource/ec2/network_acl.rb +14 -0
  31. data/lib/skywriter/resource/ec2/network_acl_entry.rb +20 -0
  32. data/lib/skywriter/resource/ec2/network_interface.rb +20 -0
  33. data/lib/skywriter/resource/ec2/network_interface_attachment.rb +16 -0
  34. data/lib/skywriter/resource/ec2/route.rb +17 -0
  35. data/lib/skywriter/resource/ec2/route_table.rb +14 -0
  36. data/lib/skywriter/resource/ec2/security_group.rb +17 -0
  37. data/lib/skywriter/resource/ec2/security_group_egress.rb +23 -0
  38. data/lib/skywriter/resource/ec2/security_group_ingress.rb +26 -0
  39. data/lib/skywriter/resource/ec2/subnet.rb +16 -0
  40. data/lib/skywriter/resource/ec2/subnet_network_acl_association.rb +14 -0
  41. data/lib/skywriter/resource/ec2/subnet_route_table_association.rb +14 -0
  42. data/lib/skywriter/resource/ec2/volume.rb +18 -0
  43. data/lib/skywriter/resource/ec2/volume_attachment.rb +15 -0
  44. data/lib/skywriter/resource/ec2/vpc.rb +17 -0
  45. data/lib/skywriter/resource/ec2/vpc_dhcp_options_association.rb +14 -0
  46. data/lib/skywriter/resource/ec2/vpc_gateway_attachment.rb +15 -0
  47. data/lib/skywriter/resource/ec2/vpn_connection.rb +17 -0
  48. data/lib/skywriter/resource/ec2/vpn_connection_route.rb +14 -0
  49. data/lib/skywriter/resource/ec2/vpn_gateway.rb +14 -0
  50. data/lib/skywriter/resource/ec2/vpn_gateway_route_propagation.rb +14 -0
  51. data/lib/skywriter/resource/elasti_cache/cache_cluster.rb +27 -0
  52. data/lib/skywriter/resource/elastic_beanstalk/application.rb +14 -0
  53. data/lib/skywriter/resource/elastic_beanstalk/application_version.rb +15 -0
  54. data/lib/skywriter/resource/elastic_beanstalk/configuration_template.rb +18 -0
  55. data/lib/skywriter/resource/elastic_beanstalk/environment.rb +21 -0
  56. data/lib/skywriter/resource/elastic_load_balancing/load_balancer.rb +25 -0
  57. data/lib/skywriter/resource/elasticache/parameter_group.rb +15 -0
  58. data/lib/skywriter/resource/elasticache/security_group.rb +13 -0
  59. data/lib/skywriter/resource/elasticache/security_group_ingress.rb +15 -0
  60. data/lib/skywriter/resource/elasticache/subnet_group.rb +14 -0
  61. data/lib/skywriter/resource/iam/access_key.rb +16 -0
  62. data/lib/skywriter/resource/iam/group.rb +15 -0
  63. data/lib/skywriter/resource/iam/instance_profile.rb +15 -0
  64. data/lib/skywriter/resource/iam/policy.rb +18 -0
  65. data/lib/skywriter/resource/iam/role.rb +13 -0
  66. data/lib/skywriter/resource/iam/user.rb +17 -0
  67. data/lib/skywriter/resource/iam/user_to_group_addition.rb +15 -0
  68. data/lib/skywriter/resource/logical_name_pointer.rb +11 -0
  69. data/lib/skywriter/resource/pointer.rb +23 -0
  70. data/lib/skywriter/resource/rds/db_instance.rb +37 -0
  71. data/lib/skywriter/resource/rds/db_parameter_group.rb +17 -0
  72. data/lib/skywriter/resource/rds/db_security_group.rb +17 -0
  73. data/lib/skywriter/resource/rds/db_security_group_ingress.rb +18 -0
  74. data/lib/skywriter/resource/rds/db_subnet_group.rb +16 -0
  75. data/lib/skywriter/resource/redshift/cluster.rb +37 -0
  76. data/lib/skywriter/resource/redshift/cluster_parameter_group.rb +16 -0
  77. data/lib/skywriter/resource/redshift/cluster_security_group.rb +14 -0
  78. data/lib/skywriter/resource/redshift/cluster_security_group_ingress.rb +17 -0
  79. data/lib/skywriter/resource/redshift/cluster_subnet_group.rb +15 -0
  80. data/lib/skywriter/resource/ref_pointer.rb +11 -0
  81. data/lib/skywriter/resource/route_53/record_set.rb +24 -0
  82. data/lib/skywriter/resource/route_53/record_set_group.rb +17 -0
  83. data/lib/skywriter/resource/s3/bucket.rb +17 -0
  84. data/lib/skywriter/resource/s3/bucket_policy.rb +15 -0
  85. data/lib/skywriter/resource/sdb/domain.rb +13 -0
  86. data/lib/skywriter/resource/sns/topic.rb +16 -0
  87. data/lib/skywriter/resource/sns/topic_policy.rb +15 -0
  88. data/lib/skywriter/resource/sqs/queue.rb +18 -0
  89. data/lib/skywriter/resource/sqs/queue_policy.rb +15 -0
  90. data/lib/skywriter/resource.rb +165 -0
  91. data/lib/skywriter/resource_property/README.md +64 -0
  92. data/lib/skywriter/resource_property/auto_scaling/block_device_mapping.rb +12 -0
  93. data/lib/skywriter/resource_property/auto_scaling/ebs_block_device.rb +17 -0
  94. data/lib/skywriter/resource_property/auto_scaling/notification_configuration.rb +11 -0
  95. data/lib/skywriter/resource_property/auto_scaling/tag.rb +15 -0
  96. data/lib/skywriter/resource_property/cloud_formation/resource_tag.rb +12 -0
  97. data/lib/skywriter/resource_property/cloud_front/cache_behavior.rb +14 -0
  98. data/lib/skywriter/resource_property/cloud_front/custom_origin.rb +11 -0
  99. data/lib/skywriter/resource_property/cloud_front/default_cache_behavior.rb +13 -0
  100. data/lib/skywriter/resource_property/cloud_front/distribution_config.rb +16 -0
  101. data/lib/skywriter/resource_property/cloud_front/forwarded_value.rb +13 -0
  102. data/lib/skywriter/resource_property/cloud_front/logging.rb +10 -0
  103. data/lib/skywriter/resource_property/cloud_front/origin.rb +12 -0
  104. data/lib/skywriter/resource_property/cloud_front/s3_origin.rb +9 -0
  105. data/lib/skywriter/resource_property/cloud_watch/metric_dimension.rb +10 -0
  106. data/lib/skywriter/resource_property/dynamo_db/attribute_definition.rb +12 -0
  107. data/lib/skywriter/resource_property/dynamo_db/global_secondary_index.rb +14 -0
  108. data/lib/skywriter/resource_property/dynamo_db/key_schema.rb +10 -0
  109. data/lib/skywriter/resource_property/dynamo_db/local_secondary_index.rb +13 -0
  110. data/lib/skywriter/resource_property/dynamo_db/projection.rb +12 -0
  111. data/lib/skywriter/resource_property/dynamo_db/provisioned_throughput.rb +10 -0
  112. data/lib/skywriter/resource_property/ec2/block_device_mapping.rb +12 -0
  113. data/lib/skywriter/resource_property/ec2/ebs_block_device.rb +15 -0
  114. data/lib/skywriter/resource_property/ec2/icmp.rb +10 -0
  115. data/lib/skywriter/resource_property/ec2/mount_point.rb +10 -0
  116. data/lib/skywriter/resource_property/ec2/network_interface.rb +18 -0
  117. data/lib/skywriter/resource_property/ec2/network_interface_association.rb +12 -0
  118. data/lib/skywriter/resource_property/ec2/network_interface_attachment.rb +10 -0
  119. data/lib/skywriter/resource_property/ec2/network_interface_group_item.rb +10 -0
  120. data/lib/skywriter/resource_property/ec2/network_interface_private_ip_specification.rb +10 -0
  121. data/lib/skywriter/resource_property/ec2/port_range.rb +10 -0
  122. data/lib/skywriter/resource_property/ec2/security_group_rule.rb +12 -0
  123. data/lib/skywriter/resource_property/ec2/tag.rb +10 -0
  124. data/lib/skywriter/resource_property/elastic_beanstalk/environment_tier.rb +11 -0
  125. data/lib/skywriter/resource_property/elastic_beanstalk/option_setting.rb +13 -0
  126. data/lib/skywriter/resource_property/elastic_beanstalk/source_bundle.rb +10 -0
  127. data/lib/skywriter/resource_property/elastic_beanstalk/source_configuration.rb +10 -0
  128. data/lib/skywriter/resource_property/elastic_load_balancing/app_cookie_stickiness_policy.rb +10 -0
  129. data/lib/skywriter/resource_property/elastic_load_balancing/health_check.rb +13 -0
  130. data/lib/skywriter/resource_property/elastic_load_balancing/lb_cookie_stickiness_policy.rb +10 -0
  131. data/lib/skywriter/resource_property/elastic_load_balancing/listener.rb +14 -0
  132. data/lib/skywriter/resource_property/elastic_load_balancing/policy.rb +13 -0
  133. data/lib/skywriter/resource_property/rds/security_group_rule.rb +12 -0
  134. data/lib/skywriter/resource_property/redshift/parameter.rb +10 -0
  135. data/lib/skywriter/resource_property/route53/alias_target.rb +10 -0
  136. data/lib/skywriter/resource_property/s3/website_configuration_policy.rb +16 -0
  137. data/lib/skywriter/resource_property/sns/subscription.rb +10 -0
  138. data/lib/skywriter/resource_property/sqs/redrive_policy.rb +10 -0
  139. data/lib/skywriter/resource_property.rb +57 -0
  140. data/lib/skywriter/template.rb +143 -0
  141. data/lib/skywriter/version.rb +3 -0
  142. data/lib/skywriter.rb +8 -0
  143. data/skywriter.gemspec +29 -0
  144. data/spec/skywriter/function_spec.rb +99 -0
  145. data/spec/skywriter/resource/cloud_formation/authentication_spec.rb +36 -0
  146. data/spec/skywriter/resource/cloud_formation/custom_resource_spec.rb +30 -0
  147. data/spec/skywriter/resource/logical_name_pointer_spec.rb +15 -0
  148. data/spec/skywriter/resource/ref_pointer_spec.rb +15 -0
  149. data/spec/skywriter/resource_property/ec2/security_group_rule_spec.rb +7 -0
  150. data/spec/skywriter/resource_property_spec.rb +153 -0
  151. data/spec/skywriter/resource_spec.rb +236 -0
  152. data/spec/skywriter/template_spec.rb +246 -0
  153. data/spec/spec_helper.rb +29 -0
  154. metadata +306 -0
@@ -0,0 +1,16 @@
1
+ module Skywriter
2
+ module Resource
3
+ module IAM
4
+ # AWS::IAM::AccessKey Resource
5
+ #
6
+ class AccessKey
7
+ include Skywriter::Resource
8
+
9
+ property :Serial
10
+ property :Status
11
+ property :UserName
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module IAM
4
+ # AWS::IAM::Group Resource
5
+ #
6
+ class Group
7
+ include Skywriter::Resource
8
+
9
+ property :Path
10
+ property :Policies
11
+ end
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module IAM
4
+ # AWS::IAM::InstanceProfile Resource
5
+ #
6
+ class InstanceProfile
7
+ include Skywriter::Resource
8
+
9
+ property :Path
10
+ property :Roles
11
+ end
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,18 @@
1
+ module Skywriter
2
+ module Resource
3
+ module IAM
4
+ # AWS::IAM::Policy Resource
5
+ #
6
+ class Policy
7
+ include Skywriter::Resource
8
+
9
+ property :Groups
10
+ property :PolicyDocument
11
+ property :PolicyName
12
+ property :Roles
13
+ property :Users
14
+ end
15
+ end
16
+ end
17
+ end
18
+
@@ -0,0 +1,13 @@
1
+ module Skywriter
2
+ module Resource
3
+ module IAM
4
+ # AWS::IAM::Role Resource
5
+ #
6
+ class Role
7
+ include Skywriter::Resource
8
+
9
+ end
10
+ end
11
+ end
12
+ end
13
+
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module IAM
4
+ # AWS::IAM::User Resource
5
+ #
6
+ class User
7
+ include Skywriter::Resource
8
+
9
+ property :Path
10
+ property :Groups
11
+ property :LoginProfile
12
+ property :Policies
13
+ end
14
+ end
15
+ end
16
+ end
17
+
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module IAM
4
+ # AWS::IAM::UserToGroupAddition Resource
5
+ #
6
+ class UserToGroupAddition
7
+ include Skywriter::Resource
8
+
9
+ property :GroupName
10
+ property :Users
11
+ end
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,11 @@
1
+ module Skywriter
2
+ module Resource
3
+ class LogicalNamePointer < Pointer
4
+ private
5
+
6
+ def json_fragment
7
+ resource.logical_name
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ module Skywriter
2
+ module Resource
3
+ class Pointer
4
+ attr_reader :resource
5
+
6
+ def initialize(resource)
7
+ @resource = resource
8
+ end
9
+
10
+ def as_json(*)
11
+ context.register_dependency(resource) unless context.nil?
12
+
13
+ return json_fragment
14
+ end
15
+
16
+ private
17
+
18
+ def context
19
+ Thread.current[:skywriter_as_json_context]
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,37 @@
1
+ module Skywriter
2
+ module Resource
3
+ module RDS
4
+ # AWS::RDS::DBInstance Resource
5
+ #
6
+ class DBInstance
7
+ include Skywriter::Resource
8
+
9
+ property :AllocatedStorage
10
+ property :AutoMinorVersionUpgrade
11
+ property :AvailabilityZone
12
+ property :BackupRetentionPeriod
13
+ property :DBInstanceClass
14
+ property :DBInstanceIdentifier
15
+ property :DBName
16
+ property :DBParameterGroupName
17
+ property :DBSecurityGroups
18
+ property :DBSnapshotIdentifier
19
+ property :DBSubnetGroupName
20
+ property :Engine
21
+ property :EngineVersion
22
+ property :Iops
23
+ property :LicenseModel
24
+ property :MasterUsername
25
+ property :MasterUserPassword
26
+ property :MultiAZ
27
+ property :Port
28
+ property :PreferredBackupWindow
29
+ property :PreferredMaintenanceWindow
30
+ property :SourceDBInstanceIdentifier
31
+ property :Tags
32
+ property :VPCSecurityGroups
33
+ end
34
+ end
35
+ end
36
+ end
37
+
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module RDS
4
+ # AWS::RDS::DBParameterGroup Resource
5
+ #
6
+ class DBParameterGroup
7
+ include Skywriter::Resource
8
+
9
+ property :Description
10
+ property :Family
11
+ property :Parameters
12
+ property :Tags
13
+ end
14
+ end
15
+ end
16
+ end
17
+
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module RDS
4
+ # AWS::RDS::DBSecurityGroup Resource
5
+ #
6
+ class DBSecurityGroup
7
+ include Skywriter::Resource
8
+
9
+ property :EC2VpcId
10
+ property :DBSecurityGroupIngress
11
+ property :GroupDescription
12
+ property :Tags
13
+ end
14
+ end
15
+ end
16
+ end
17
+
@@ -0,0 +1,18 @@
1
+ module Skywriter
2
+ module Resource
3
+ module RDS
4
+ # AWS::RDS::DBSecurityGroupIngress Resource
5
+ #
6
+ class DBSecurityGroupIngress
7
+ include Skywriter::Resource
8
+
9
+ property :CIDRIP
10
+ property :DBSecurityGroupName
11
+ property :EC2SecurityGroupId
12
+ property :EC2SecurityGroupName
13
+ property :EC2SecurityGroupOwnerId
14
+ end
15
+ end
16
+ end
17
+ end
18
+
@@ -0,0 +1,16 @@
1
+ module Skywriter
2
+ module Resource
3
+ module RDS
4
+ # AWS::RDS::DBSubnetGroup Resource
5
+ #
6
+ class DBSubnetGroup
7
+ include Skywriter::Resource
8
+
9
+ property :DBSubnetGroupDescription
10
+ property :SubnetIds
11
+ property :Tags
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -0,0 +1,37 @@
1
+ module Skywriter
2
+ module Resource
3
+ module Redshift
4
+ # AWS::Redshift::Cluster Resource
5
+ #
6
+ class Cluster
7
+ include Skywriter::Resource
8
+
9
+ property :AllowVersionUpgrade
10
+ property :AutomatedSnapshotRetentionPeriod
11
+ property :AvailabilityZone
12
+ property :ClusterParameterGroupName
13
+ property :ClusterSecurityGroups
14
+ property :ClusterSubnetGroupName
15
+ property :ClusterType
16
+ property :ClusterVersion
17
+ property :DBName
18
+ property :ElasticIp
19
+ property :Encrypted
20
+ property :HsmClientCertificationIdentifier
21
+ property :HsmConfigurationIdentifier
22
+ property :MasterUsername
23
+ property :MasterUserPassword
24
+ property :NodeType
25
+ property :NumberOfNodes
26
+ property :OwnerAccount
27
+ property :Port
28
+ property :PreferredMaintenanceWindow
29
+ property :PubliclyAccessible
30
+ property :SnapshotClusterIdentifier
31
+ property :SnapshotIdentifier
32
+ property :VpcSecurityGroupIds
33
+ end
34
+ end
35
+ end
36
+ end
37
+
@@ -0,0 +1,16 @@
1
+ module Skywriter
2
+ module Resource
3
+ module Redshift
4
+ # AWS::Redshift::ClusterParameterGroup Resource
5
+ #
6
+ class ClusterParameterGroup
7
+ include Skywriter::Resource
8
+
9
+ property :Description
10
+ property :ParameterGroupFamily
11
+ property :Parameters
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module Redshift
4
+ # AWS::Redshift::ClusterSecurityGroup Resource
5
+ #
6
+ class ClusterSecurityGroup
7
+ include Skywriter::Resource
8
+
9
+ property :Description
10
+ end
11
+ end
12
+ end
13
+ end
14
+
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module Redshift
4
+ # AWS::Redshift::ClusterSecurityGroupIngress Resource
5
+ #
6
+ class ClusterSecurityGroupIngress
7
+ include Skywriter::Resource
8
+
9
+ property :ClusterSecurityGroupName
10
+ property :CIDRIP
11
+ property :EC2SecurityGroupName
12
+ property :EC2SecurityGroupOwnerId
13
+ end
14
+ end
15
+ end
16
+ end
17
+
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module Redshift
4
+ # AWS::Redshift::ClusterSubnetGroup Resource
5
+ #
6
+ class ClusterSubnetGroup
7
+ include Skywriter::Resource
8
+
9
+ property :Description
10
+ property :SubnetIds
11
+ end
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,11 @@
1
+ module Skywriter
2
+ module Resource
3
+ class RefPointer < Pointer
4
+ private
5
+
6
+ def json_fragment
7
+ Skywriter::Function.ref(resource.logical_name)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,24 @@
1
+ module Skywriter
2
+ module Resource
3
+ module Route53
4
+ # AWS::Route53::RecordSet Resource
5
+ #
6
+ class RecordSet
7
+ include Skywriter::Resource
8
+
9
+ property :AliasTarget
10
+ property :Comment
11
+ property :HostedZoneId
12
+ property :HostedZoneName
13
+ property :Name
14
+ property :Region
15
+ property :ResourceRecords
16
+ property :SetIdentifier
17
+ property :TTL
18
+ property :Type
19
+ property :Weight
20
+ end
21
+ end
22
+ end
23
+ end
24
+
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module Route53
4
+ # AWS::Route53::RecordSetGroup Resource
5
+ #
6
+ class RecordSetGroup
7
+ include Skywriter::Resource
8
+
9
+ property :HostedZoneId
10
+ property :HostedZoneName
11
+ property :RecordSets
12
+ property :Comment
13
+ end
14
+ end
15
+ end
16
+ end
17
+
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module S3
4
+ # AWS::S3::Bucket Resource
5
+ #
6
+ class Bucket
7
+ include Skywriter::Resource
8
+
9
+ property :AccessControl
10
+ property :BucketName
11
+ property :Tags
12
+ property :WebsiteConfiguration
13
+ end
14
+ end
15
+ end
16
+ end
17
+
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module S3
4
+ # AWS::S3::BucketPolicy Resource
5
+ #
6
+ class BucketPolicy
7
+ include Skywriter::Resource
8
+
9
+ property :Bucket
10
+ property :PolicyDocument
11
+ end
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,13 @@
1
+ module Skywriter
2
+ module Resource
3
+ module SDB
4
+ # AWS::SDB::Domain Resource
5
+ #
6
+ class Domain
7
+ include Skywriter::Resource
8
+
9
+ end
10
+ end
11
+ end
12
+ end
13
+
@@ -0,0 +1,16 @@
1
+ module Skywriter
2
+ module Resource
3
+ module SNS
4
+ # AWS::SNS::Topic Resource
5
+ #
6
+ class Topic
7
+ include Skywriter::Resource
8
+
9
+ property :DisplayName
10
+ property :Subscription
11
+ property :TopicName
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module SNS
4
+ # AWS::SNS::TopicPolicy Resource
5
+ #
6
+ class TopicPolicy
7
+ include Skywriter::Resource
8
+
9
+ property :PolicyDocument
10
+ property :Topics
11
+ end
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,18 @@
1
+ module Skywriter
2
+ module Resource
3
+ module SQS
4
+ # AWS::SQS::Queue Resource
5
+ #
6
+ class Queue
7
+ include Skywriter::Resource
8
+
9
+ property :DelaySeconds
10
+ property :MaximumMessageSize
11
+ property :MessageRetentionPeriod
12
+ property :QueueName
13
+ property :ReceiveMessageWaitTimeSeconds
14
+ end
15
+ end
16
+ end
17
+ end
18
+
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module SQS
4
+ # AWS::SQS::QueuePolicy Resource
5
+ #
6
+ class QueuePolicy
7
+ include Skywriter::Resource
8
+
9
+ property :PolicyDocument
10
+ property :Queues
11
+ end
12
+ end
13
+ end
14
+ end
15
+